X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/45925ed89f43f353b49798d2f4a68f02fb7855b0..c3fa7c8694181906f4a54708da2574b9df2be133:/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