X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/45925ed89f43f353b49798d2f4a68f02fb7855b0..5ecce8b781ace8a887f61fd56747b2c30e4c4b1e:/procmail/msgid-index

diff --git a/procmail/msgid-index b/procmail/msgid-index
index 1d31f0a..caccf83 100644
--- a/procmail/msgid-index
+++ b/procmail/msgid-index
@@ -1,27 +1,24 @@
-# create table logfiles (sender text not null, recipient text not null,
-# subject text not null, msgid text unique not null, filename text primary key
-# not null unique, timestamp timestamp with time zone, dest text not null);
+# create table messages (sender text not null, recipient text not null,
+# subject text not null, msgid text not null, filename text primary key
+# not null unique, timestamp integer, dest text not null);
 #
-# create trigger insert_logfiles_timestamp after insert on logfiles begin
-# update logfiles set timestamp = datetime('now') where filename
+# create trigger insert_messages_timestamp after insert on messages begin
+# update messages set timestamp = strftime('%s', 'now') where filename
 # = new.filename; end;
 
-SQLITE=/usr/bin/sqlite3
 MSGID_INDEX_DB=$PMVAR/msgid-index.sqlite
 
 DO_QUERY="$SQLITE $MSGID_INDEX_DB"
 
-SQ="'\\''"
-SQE="'\\\''"
-FIELDS="$FROM$NL$ORIGINAL_TO$NL$SUBJECT$NL$MSGID"
-QUERY="insert into logfiles (sender, recipient, subject, msgid, filename, dest) values (
-  `echo \"$FIELDS\" | sed -e 's,'\'','$SQE$SQE',g; s/^.*$/'\$SQE'&'\$SQE',/'`
-  $SQ$THISLOGFILE_REL$SQ, '\\'\$DEST\\'')"
-TRAP="$TRAP; $DO_QUERY '$QUERY'"
+DATA="$FROM,$NL$ORIGINAL_TO,$NL$SUBJECT,$NL$MSGID"
+INCLUDERC=$PMDIR/sql-escape
+
+QUERY="insert into messages (sender, recipient, subject, msgid, filename, dest) values (
+  $DATA, '$THISLOGFILE_REL', '\$DESTFILE');"
+TRAP="$TRAP; OUT=\"$(echo \"$QUERY\" | $DO_QUERY 2>&1)\";
+      [ -n \"\$OUT\" ] && echo \"msgid-index: failed to insert reference into database: \$OUT\""
 
 QUERY
-FIELDS
-SQE
-SQ
+DATA
 DO_QUERY
 MSGID_INDEX_DB