# HG changeset patch # User HIROSE Yuuji # Date 1477061805 -32374 # Node ID 002cc900200ab518bb250ac12661347a97c3ea06 # Parent 9dc6f9e60f6a35a44676b8f370ae39bb1a90e00f Nonexistent Icon cleaning is too heavy, put it after loop diff -r 9dc6f9e60f6a -r 002cc900200a s4-blog.sh --- a/s4-blog.sh Fri Oct 21 22:57:04 2016 +0859 +++ b/s4-blog.sh Fri Oct 21 23:56:19 2016 +0859 @@ -150,6 +150,7 @@ # 2016-08-15 Newer flag introduced atime=`query "SELECT time FROM acclog WHERE tbl='blog' AND tblrowid=$rowid AND user='$user';"` + iconcleaner=$tmpd/iconcleaner.$$ sq $db<

" else picon="" - query "DELETE FROM user_s WHERE key='$iconcachekey' AND - val=`sqlquotestr \"$icon\"`;" + if [ -n "$icon" ]; then + echo "DELETE FROM user_s WHERE key='$iconcachekey' AND + val=`sqlquotestr \"$icon\"`;" >> $iconcleaner + fi fi cat<

EOF + # Clean up orphaned icon cache + [ -s $iconcleaner ] && query < $iconcleaner # Record access log acclog blog $rowid } @@ -475,7 +480,7 @@ ctime=`date +%F` kc=$kc${kc:+" AND "}"s.ctime GLOB '${ctime}*'" else - kc=$kc${kc:+" AND "}"s.text LIKE '%$k%'" + kc=$kc${kc:+" AND "}"content LIKE '%$k%'" fi done fi @@ -507,7 +512,7 @@ SELECT b.rid||'#'||x.id as '', b.title as TITLE, substr(x.ctime, 0, 11) as DATE, - substr(x.text, 0, 78) as TEXT + substr(x.content, 0, 78) as TEXT FROM (SELECT blg.rid,blg.*,bs.val as title FROM readableblogs blg JOIN blog_s bs ON blg.id=bs.id AND bs.key='title') b @@ -515,16 +520,21 @@ (SELECT a.id, a.blogid, s.ctime, - s.text + s.text || ' ' || m.filenames content FROM article a JOIN - (SELECT id, /* Create [id, ctime, text] from article_s */ - max(CASE key WHEN 'ctime' THEN val END) ctime, - max(CASE key WHEN 'text' THEN val END) text - FROM article_s GROUP BY id) s - ON a.id=s.id WHERE $kc$kwdgrp) - x ON b.id=x.blogid - WHERE b.id IN (SELECT id FROM blog_s $cond) + (SELECT id, /* Create [id, ctime, text] from article_s */ + max(CASE key WHEN 'ctime' THEN val END) ctime, + max(CASE key WHEN 'text' THEN val END) text + FROM article_s GROUP BY id) s + JOIN + (SELECT id, group_concat(val) filenames + FROM article_m + WHERE type LIKE 'file:%' + GROUP BY id) m + ON a.id=s.id AND a.id=m.id WHERE $kc$kwdgrp) x + ON b.id=x.blogid + WHERE b.id IN (SELECT id FROM blog_s $cond) ORDER by DATE DESC, TITLE, x.ctime;" sedopt="s,\([^<]*\),VIEW,"