components/perl_modules/dbd-sqlite/TESTING
changeset 5479 7146b76b602e
child 5927 0b2f72b7196c
equal deleted inserted replaced
5478:2b166911e3bb 5479:7146b76b602e
       
     1 Quick and dirty check that the module works (use actual
       
     2 perl version instead of XXX)
       
     3 
       
     4 -------------------------------8<------------------------
       
     5 P='/usr/perl5/XXX/bin/perl -MDBD::SQLite'
       
     6 DB=/var/tmp/db.sql
       
     7 C="\$dbh=DBI->connect('dbi:SQLite:$DB');"
       
     8 FILE=/usr/bin/ls
       
     9 
       
    10 rm -f "$DB"
       
    11 $P -e "$C"
       
    12 if [ ! -e "$DB" ]; then
       
    13         echo "Fail - database not created"
       
    14         exit 1
       
    15 fi
       
    16 $P -e "$C"'
       
    17         $dbh->do("CREATE TABLE mytable( Bindata BLOB, date DATE)");
       
    18         $dbh->do("CREATE TRIGGER insert_blob_date AFTER INSERT ON mytable BEGIN UPDATE mytable SET date = DATETIME(\"NOW\"); END ;");
       
    19 '
       
    20 
       
    21 $P -e "$C"'
       
    22       my $blob = `cat '"$FILE"'`;
       
    23       my $sth = $dbh->prepare("INSERT INTO mytable VALUES (?, NULL)");
       
    24       $sth->bind_param(1, $blob, {TYPE => DBD::SQL_BLOB}
       
    25 );
       
    26       $sth->execute();
       
    27 '
       
    28 
       
    29 $P -MDigest::MD5 -e "$C"'
       
    30       $sth = $dbh->prepare("SELECT Bindata FROM mytable");
       
    31       $sth->execute();
       
    32       my $row = $sth->fetch;
       
    33       my $blobo = $row->[0];
       
    34       print Digest::MD5::md5_hex($blobo), "\n";
       
    35 '
       
    36 
       
    37 
       
    38 md5sum "$FILE"
       
    39 echo '.schema' | sqlite3 "$DB"
       
    40 echo 'select date from mytable;' | sqlite3 "$DB"
       
    41 -------------------------------8<------------------------
       
    42 
       
    43 
       
    44 It should print
       
    45  - two equal MD5 hashes
       
    46  - database description (mytable and trigger insert_blob_date)
       
    47  - current date and time