]> git.madduck.net Git - etc/mailfilter.git/blob - procmail/msgid-index

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

improved traps, now db calls log errors
[etc/mailfilter.git] / procmail / msgid-index
1 # create table messages (sender text not null, recipient text not null,
2 # subject text not null, msgid text unique not null, filename text primary key
3 # not null unique, timestamp integer, dest text not null);
4 #
5 # create trigger insert_messages_timestamp after insert on messages begin
6 # update messages set timestamp = strftime('%s', 'now') where filename
7 # = new.filename; end;
8
9 MSGID_INDEX_DB=$PMVAR/msgid-index.sqlite
10
11 DO_QUERY="$SQLITE $MSGID_INDEX_DB"
12
13 DATA="$FROM,$NL$ORIGINAL_TO,$NL$SUBJECT,$NL$MSGID"
14 INCLUDERC=$PMDIR/sql-escape
15
16 QUERY="insert into messages (sender, recipient, subject, msgid, filename, dest) values (
17   $DATA, '\\'$THISLOGFILE_REL\\'', '\\'\$DESTFILE\\'');
18        select * from messages where filename = '\\'$THISLOGFILE_REL\\''"
19 TRAP="$TRAP; case \"$($DO_QUERY '$QUERY')\" in '') 
20       echo 'msgid-index: failed to insert reference into database';; esac"
21
22 QUERY
23 DATA
24 DO_QUERY
25 MSGID_INDEX_DB