# HG changeset patch # User HIROSE Yuuji # Date 1470111948 -32399 # Node ID 2f1607d8b56b88b1778c1e26c1869f5c4878df99 # Parent cfbedd0686dda72e4da3fb08e55ee7862ccdabe0 New access log schema started diff -r cfbedd0686dd -r 2f1607d8b56b s4-funcs.sh --- a/s4-funcs.sh Tue Aug 02 10:08:34 2016 +0859 +++ b/s4-funcs.sh Tue Aug 02 13:25:47 2016 +0859 @@ -447,7 +447,8 @@ if [ -n "$n" ]; then now=`date +"%F %T"` #query "replace into acclog values('$user', '$1', '$n', '$now');" - query "replace into acclog values('$user', '$1', $n, '$now');" + #query "replace into acclog values('$user', '$1', $n, '$now');" + query "replace into tblaccesses values('$user', '$1', $n, '$now');" fi ) gecos() ( diff -r cfbedd0686dd -r 2f1607d8b56b s4-init.sh --- a/s4-init.sh Tue Aug 02 10:08:34 2016 +0859 +++ b/s4-init.sh Tue Aug 02 13:25:47 2016 +0859 @@ -71,9 +71,20 @@ create table par '(sessid text, var text, type text, val text, primary key(sessid, var, val) foreign key(sessid) references session(id) on update cascade on delete cascade);' create table session '(id text primary key, expire text);' create table cookie '(sessid text, var text, type text, val text, primary key(sessid, var) foreign key(sessid) references session(id) on update cascade on delete cascade);' -create table acclog "(user, tbl, tblrowid, time, \ - primary key(user, tbl, tblrowid), \ +tblacc=`query "select name from sqlite_master where name='tblaccesses';"` +acc=`query "select name from sqlite_master where name='acclog';"` +echo tblacc="[$tblacc]" acc="[$acc]" +create table tblaccesses "(user, tbl, tblrowid, time, \ + unique(user, tbl, tblrowid, time), \ foreign key(user) references user(name))" +if [ -z "$tblacc" -a -n "$acc" ]; then + echo Regenerating... + query "INSERT INTO tblaccesses SELECT * FROM acclog; +DROP TABLE acclog;" +fi +create view acclog "AS +SELECT user, tbl, tblrowid, max(time) time FROM tblaccesses +GROUP by user, tbl, tblrowid;" create view gecoses "AS SELECT rowid,