equal
deleted
inserted
replaced
|
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 |