Fossil SCM

New "Forum Threads" category under the /reports webpage.

drh 2026-06-08 19:44 UTC trunk
Commit 59985724d71229bf7c1744996de9f59bbb087a8e2c1842b1d1cfa95ea03dd73b
1 file changed +17 -2
+17 -2
--- src/statrep.c
+++ src/statrep.c
@@ -76,10 +76,15 @@
7676
case 'f':
7777
case 'F':
7878
zRealType = "f";
7979
rc = *zRealType;
8080
break;
81
+ case 'h':
82
+ case 'H':
83
+ zRealType = "h";
84
+ rc = *zRealType;
85
+ break;
8186
case 'g':
8287
case 'G':
8388
zRealType = "g";
8489
rc = *zRealType;
8590
break;
@@ -117,10 +122,16 @@
117122
}
118123
if( zRealType==0 ){
119124
statsReportTimelineYFlag = "a";
120125
db_multi_exec("CREATE TEMP VIEW v_reports AS "
121126
"SELECT * FROM event WHERE %s", zTimeSpan/*safe-for-%s*/);
127
+ }else if( rc=='h' ){
128
+ statsReportTimelineYFlag = zRealType;
129
+ db_multi_exec("CREATE TEMP VIEW v_reports AS "
130
+ "SELECT * FROM event WHERE (type='f') "
131
+ " AND (comment GLOB 'Post:*') AND %s",
132
+ zTimeSpan/*safe-for-%s*/);
122133
}else if( rc!='n' && rc!='m' ){
123134
statsReportTimelineYFlag = zRealType;
124135
db_multi_exec("CREATE TEMP VIEW v_reports AS "
125136
"SELECT * FROM event WHERE (type GLOB %Q) AND %s",
126137
zRealType, zTimeSpan/*safe-for-%s*/);
@@ -154,10 +165,12 @@
154165
return "non-merge check-ins";
155166
case 'e':
156167
return "technotes";
157168
case 'f':
158169
return "forum posts";
170
+ case 'h':
171
+ return "forum threads";
159172
case 'w':
160173
return "wiki changes";
161174
case 't':
162175
return "ticket changes";
163176
case 'g':
@@ -855,16 +868,17 @@
855868
** * all (everything),
856869
** * ci (check-in)
857870
** * m (merge check-in),
858871
** * n (non-merge check-in)
859872
** * f (forum post)
873
+** * h (forum thread)
860874
** * w (wiki page change)
861875
** * t (ticket change)
862876
** * g (tag added or removed)
863877
** Defaulting to all event types.
864
-** from=DATETIME Consider only events after this timestamp (requires to)
865
-** to=DATETIME Consider only events before this timestamp (requires from)
878
+** from=DATETIME Consider only events after this time (requires to)
879
+** to=DATETIME Consider only events before this time (requires from)
866880
**
867881
**
868882
** The view-specific query parameters include:
869883
**
870884
** view=byweek:
@@ -894,10 +908,11 @@
894908
};
895909
static const char *const azType[] = {
896910
"a", "All Changes",
897911
"ci", "Check-ins",
898912
"f", "Forum Posts",
913
+ "h", "Forum Threads",
899914
"m", "Merge check-ins",
900915
"n", "Non-merge check-ins",
901916
"g", "Tags",
902917
"e", "Tech Notes",
903918
"t", "Tickets",
904919
--- src/statrep.c
+++ src/statrep.c
@@ -76,10 +76,15 @@
76 case 'f':
77 case 'F':
78 zRealType = "f";
79 rc = *zRealType;
80 break;
 
 
 
 
 
81 case 'g':
82 case 'G':
83 zRealType = "g";
84 rc = *zRealType;
85 break;
@@ -117,10 +122,16 @@
117 }
118 if( zRealType==0 ){
119 statsReportTimelineYFlag = "a";
120 db_multi_exec("CREATE TEMP VIEW v_reports AS "
121 "SELECT * FROM event WHERE %s", zTimeSpan/*safe-for-%s*/);
 
 
 
 
 
 
122 }else if( rc!='n' && rc!='m' ){
123 statsReportTimelineYFlag = zRealType;
124 db_multi_exec("CREATE TEMP VIEW v_reports AS "
125 "SELECT * FROM event WHERE (type GLOB %Q) AND %s",
126 zRealType, zTimeSpan/*safe-for-%s*/);
@@ -154,10 +165,12 @@
154 return "non-merge check-ins";
155 case 'e':
156 return "technotes";
157 case 'f':
158 return "forum posts";
 
 
159 case 'w':
160 return "wiki changes";
161 case 't':
162 return "ticket changes";
163 case 'g':
@@ -855,16 +868,17 @@
855 ** * all (everything),
856 ** * ci (check-in)
857 ** * m (merge check-in),
858 ** * n (non-merge check-in)
859 ** * f (forum post)
 
860 ** * w (wiki page change)
861 ** * t (ticket change)
862 ** * g (tag added or removed)
863 ** Defaulting to all event types.
864 ** from=DATETIME Consider only events after this timestamp (requires to)
865 ** to=DATETIME Consider only events before this timestamp (requires from)
866 **
867 **
868 ** The view-specific query parameters include:
869 **
870 ** view=byweek:
@@ -894,10 +908,11 @@
894 };
895 static const char *const azType[] = {
896 "a", "All Changes",
897 "ci", "Check-ins",
898 "f", "Forum Posts",
 
899 "m", "Merge check-ins",
900 "n", "Non-merge check-ins",
901 "g", "Tags",
902 "e", "Tech Notes",
903 "t", "Tickets",
904
--- src/statrep.c
+++ src/statrep.c
@@ -76,10 +76,15 @@
76 case 'f':
77 case 'F':
78 zRealType = "f";
79 rc = *zRealType;
80 break;
81 case 'h':
82 case 'H':
83 zRealType = "h";
84 rc = *zRealType;
85 break;
86 case 'g':
87 case 'G':
88 zRealType = "g";
89 rc = *zRealType;
90 break;
@@ -117,10 +122,16 @@
122 }
123 if( zRealType==0 ){
124 statsReportTimelineYFlag = "a";
125 db_multi_exec("CREATE TEMP VIEW v_reports AS "
126 "SELECT * FROM event WHERE %s", zTimeSpan/*safe-for-%s*/);
127 }else if( rc=='h' ){
128 statsReportTimelineYFlag = zRealType;
129 db_multi_exec("CREATE TEMP VIEW v_reports AS "
130 "SELECT * FROM event WHERE (type='f') "
131 " AND (comment GLOB 'Post:*') AND %s",
132 zTimeSpan/*safe-for-%s*/);
133 }else if( rc!='n' && rc!='m' ){
134 statsReportTimelineYFlag = zRealType;
135 db_multi_exec("CREATE TEMP VIEW v_reports AS "
136 "SELECT * FROM event WHERE (type GLOB %Q) AND %s",
137 zRealType, zTimeSpan/*safe-for-%s*/);
@@ -154,10 +165,12 @@
165 return "non-merge check-ins";
166 case 'e':
167 return "technotes";
168 case 'f':
169 return "forum posts";
170 case 'h':
171 return "forum threads";
172 case 'w':
173 return "wiki changes";
174 case 't':
175 return "ticket changes";
176 case 'g':
@@ -855,16 +868,17 @@
868 ** * all (everything),
869 ** * ci (check-in)
870 ** * m (merge check-in),
871 ** * n (non-merge check-in)
872 ** * f (forum post)
873 ** * h (forum thread)
874 ** * w (wiki page change)
875 ** * t (ticket change)
876 ** * g (tag added or removed)
877 ** Defaulting to all event types.
878 ** from=DATETIME Consider only events after this time (requires to)
879 ** to=DATETIME Consider only events before this time (requires from)
880 **
881 **
882 ** The view-specific query parameters include:
883 **
884 ** view=byweek:
@@ -894,10 +908,11 @@
908 };
909 static const char *const azType[] = {
910 "a", "All Changes",
911 "ci", "Check-ins",
912 "f", "Forum Posts",
913 "h", "Forum Threads",
914 "m", "Merge check-ins",
915 "n", "Non-merge check-ins",
916 "g", "Tags",
917 "e", "Tech Notes",
918 "t", "Tickets",
919

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button