Overview
SHA1 Hash: | fbbd0318bd26e756e88d974424afe67b42f570e1 |
---|---|
Date: | 2009-01-20 00:27:37 |
User: | drh |
Comment: | Display a list of symbolic tags associated with each check-in on the timeline. |
Timelines: | ancestors | descendants | both | trunk |
Other Links: | files | ZIP archive | manifest |
Tags And Properties
- branch=trunk inherited from [a28c83647d]
- sym-trunk inherited from [a28c83647d]
Changes
[hide diffs]Modified src/timeline.c from [e064b02f3d] to [fe363fe990].
@@ -88,14 +88,15 @@ ** 5. Number of non-merge children ** 6. Number of parents ** 7. True if is a leaf ** 8. background color ** 9. type ("ci", "w") +** 10. list of symbolic tags. */ void www_print_timeline( Stmt *pQuery - ){ +){ int wikiFlags; int mxWikiLen; Blob comment; char zPrevDate[20]; zPrevDate[0] = 0; @@ -121,10 +122,11 @@ int isLeaf = db_column_int(pQuery, 7); const char *zBgClr = db_column_text(pQuery, 8); const char *zDate = db_column_text(pQuery, 2); const char *zType = db_column_text(pQuery, 9); const char *zUser = db_column_text(pQuery, 4); + const char *zTagList = db_column_text(pQuery, 10); db_multi_exec("INSERT OR IGNORE INTO seen VALUES(%d)", rid); if( memcmp(zDate, zPrevDate, 10) ){ sprintf(zPrevDate, "%.10s", zDate); @ <tr><td colspan=3> @ <div class="divider">%s(zPrevDate)</div> @@ -163,11 +165,15 @@ blob_reset(&truncated); }else{ wiki_convert(&comment, 0, wikiFlags); } blob_reset(&comment); - @ (by %h(zUser))</td></tr> + if( zTagList && zTagList[0] ){ + @ (user: %h(zUser), tags: %h(zTagList))</td></tr> + }else{ + @ (user: %h(zUser))</td></tr> + } } @ </table> } /* @@ -183,11 +189,12 @@ @ user TEXT, @ nchild INTEGER, @ nparent INTEGER, @ isleaf BOOLEAN, @ bgcolor TEXT, - @ etype TEXT + @ etype TEXT, + @ taglist TEXT @ ) ; db_multi_exec(zSql); } @@ -205,11 +212,14 @@ @ coalesce(euser, user), @ (SELECT count(*) FROM plink WHERE pid=blob.rid AND isprim=1), @ (SELECT count(*) FROM plink WHERE cid=blob.rid), @ NOT EXISTS (SELECT 1 FROM plink WHERE pid=blob.rid), @ coalesce(bgcolor, brbgcolor), - @ event.type + @ event.type, + @ (SELECT group_concat(substr(tagname,5), ', ') FROM tag, tagxref + @ WHERE tagname GLOB 'sym-*' AND tag.tagid=tagxref.tagid + @ AND tagxref.rid=blob.rid AND tagxref.tagtype>0) @ FROM event JOIN blob @ WHERE blob.rid=event.objid ; return zBaseSql; } @@ -584,11 +594,18 @@ static const char zBaseSql[] = @ SELECT @ blob.rid, @ uuid, @ datetime(event.mtime,'localtime'), - @ coalesce(ecomment,comment) || ' (by ' || coalesce(euser,user,'?') ||')', + @ coalesce(ecomment,comment) + @ || ' (user: ' || coalesce(euser,user,'?') + @ || (SELECT case when length(x)>0 then ' tags: ' || x else '' end + @ FROM (SELECT group_concat(substr(tagname,5), ', ') AS x + @ FROM tag, tagxref + @ WHERE tagname GLOB 'sym-*' AND tag.tagid=tagxref.tagid + @ AND tagxref.rid=blob.rid AND tagxref.tagtype>0)) + @ || ')', @ (SELECT count(*) FROM plink WHERE pid=blob.rid AND isprim), @ (SELECT count(*) FROM plink WHERE cid=blob.rid) @ FROM event, blob @ WHERE blob.rid=event.objid ;