Fossil SCM

Improvements to the /clusterlist page.

drh 2024-12-20 15:14 trunk
Commit e3ef536c6979e4a08374fd4d754f1baea1c48ab22aa3c8a0a972de0418b8dc32
1 file changed +13 -5
+13 -5
--- src/name.c
+++ src/name.c
@@ -2172,15 +2172,18 @@
21722172
** Show information about all cluster artifacts in the database.
21732173
** This page is accessible by administrators only.
21742174
*/
21752175
void clusterlist_page(void){
21762176
Stmt q;
2177
+ int cnt = 1;
2178
+ sqlite3_int64 szTotal = 0;
21772179
login_check_credentials();
21782180
if( !g.perm.Admin ){ login_needed(g.anon.Admin); return; }
21792181
style_header("All Cluster Artifacts");
21802182
db_prepare(&q,
21812183
"SELECT blob.uuid, "
2184
+ " blob.size, "
21822185
" datetime(rcvfrom.mtime),"
21832186
" user.login,"
21842187
" rcvfrom.ipaddr"
21852188
" FROM tagxref JOIN blob ON tagxref.rid=blob.rid"
21862189
" LEFT JOIN rcvfrom ON blob.rcvid=rcvfrom.rcvid"
@@ -2188,22 +2191,26 @@
21882191
" WHERE tagxref.tagid=%d"
21892192
" ORDER BY rcvfrom.mtime, blob.uuid",
21902193
TAG_CLUSTER
21912194
);
21922195
@ <table cellpadding="2" cellspacing="0" border="1">
2193
- @ <tr><th>Hash<th>Date<th>User<th>IP-Address
2196
+ @ <tr><th>&nbsp;<th>Hash<th>Received<th>Size<th>User<th>IP-Address
21942197
while( db_step(&q)==SQLITE_ROW ){
21952198
const char *zUuid = db_column_text(&q, 0);
2196
- const char *zDate = db_column_text(&q, 1);
2197
- const char *zUser = db_column_text(&q, 2);
2198
- const char *zIp = db_column_text(&q, 3);
2199
- @ <tr><td><a href="%R/info/%S(zUuid)">%S(zUuid)</a>
2199
+ sqlite3_int64 sz = db_column_int64(&q, 1);
2200
+ const char *zDate = db_column_text(&q, 2);
2201
+ const char *zUser = db_column_text(&q, 3);
2202
+ const char *zIp = db_column_text(&q, 4);
2203
+ szTotal += sz;
2204
+ @ <tr><td align="right">%d(cnt++)
2205
+ @ <td><a href="%R/info/%S(zUuid)">%S(zUuid)</a>
22002206
if( zDate ){
22012207
@ <td>%h(zDate)
22022208
}else{
22032209
@ <td>&nbsp;
22042210
}
2211
+ @ <td align="right">%,lld(sz)
22052212
if( zUser ){
22062213
@ <td>%h(zUser)
22072214
}else{
22082215
@ <td>&nbsp;
22092216
}
@@ -2214,7 +2221,8 @@
22142221
}
22152222
@ </tr>
22162223
}
22172224
@ </table>
22182225
db_finalize(&q);
2226
+ @ <p>Total size of all clusters: %,lld(szTotal) bytes</p>
22192227
style_finish_page();
22202228
}
22212229
--- src/name.c
+++ src/name.c
@@ -2172,15 +2172,18 @@
2172 ** Show information about all cluster artifacts in the database.
2173 ** This page is accessible by administrators only.
2174 */
2175 void clusterlist_page(void){
2176 Stmt q;
 
 
2177 login_check_credentials();
2178 if( !g.perm.Admin ){ login_needed(g.anon.Admin); return; }
2179 style_header("All Cluster Artifacts");
2180 db_prepare(&q,
2181 "SELECT blob.uuid, "
 
2182 " datetime(rcvfrom.mtime),"
2183 " user.login,"
2184 " rcvfrom.ipaddr"
2185 " FROM tagxref JOIN blob ON tagxref.rid=blob.rid"
2186 " LEFT JOIN rcvfrom ON blob.rcvid=rcvfrom.rcvid"
@@ -2188,22 +2191,26 @@
2188 " WHERE tagxref.tagid=%d"
2189 " ORDER BY rcvfrom.mtime, blob.uuid",
2190 TAG_CLUSTER
2191 );
2192 @ <table cellpadding="2" cellspacing="0" border="1">
2193 @ <tr><th>Hash<th>Date<th>User<th>IP-Address
2194 while( db_step(&q)==SQLITE_ROW ){
2195 const char *zUuid = db_column_text(&q, 0);
2196 const char *zDate = db_column_text(&q, 1);
2197 const char *zUser = db_column_text(&q, 2);
2198 const char *zIp = db_column_text(&q, 3);
2199 @ <tr><td><a href="%R/info/%S(zUuid)">%S(zUuid)</a>
 
 
 
2200 if( zDate ){
2201 @ <td>%h(zDate)
2202 }else{
2203 @ <td>&nbsp;
2204 }
 
2205 if( zUser ){
2206 @ <td>%h(zUser)
2207 }else{
2208 @ <td>&nbsp;
2209 }
@@ -2214,7 +2221,8 @@
2214 }
2215 @ </tr>
2216 }
2217 @ </table>
2218 db_finalize(&q);
 
2219 style_finish_page();
2220 }
2221
--- src/name.c
+++ src/name.c
@@ -2172,15 +2172,18 @@
2172 ** Show information about all cluster artifacts in the database.
2173 ** This page is accessible by administrators only.
2174 */
2175 void clusterlist_page(void){
2176 Stmt q;
2177 int cnt = 1;
2178 sqlite3_int64 szTotal = 0;
2179 login_check_credentials();
2180 if( !g.perm.Admin ){ login_needed(g.anon.Admin); return; }
2181 style_header("All Cluster Artifacts");
2182 db_prepare(&q,
2183 "SELECT blob.uuid, "
2184 " blob.size, "
2185 " datetime(rcvfrom.mtime),"
2186 " user.login,"
2187 " rcvfrom.ipaddr"
2188 " FROM tagxref JOIN blob ON tagxref.rid=blob.rid"
2189 " LEFT JOIN rcvfrom ON blob.rcvid=rcvfrom.rcvid"
@@ -2188,22 +2191,26 @@
2191 " WHERE tagxref.tagid=%d"
2192 " ORDER BY rcvfrom.mtime, blob.uuid",
2193 TAG_CLUSTER
2194 );
2195 @ <table cellpadding="2" cellspacing="0" border="1">
2196 @ <tr><th>&nbsp;<th>Hash<th>Received<th>Size<th>User<th>IP-Address
2197 while( db_step(&q)==SQLITE_ROW ){
2198 const char *zUuid = db_column_text(&q, 0);
2199 sqlite3_int64 sz = db_column_int64(&q, 1);
2200 const char *zDate = db_column_text(&q, 2);
2201 const char *zUser = db_column_text(&q, 3);
2202 const char *zIp = db_column_text(&q, 4);
2203 szTotal += sz;
2204 @ <tr><td align="right">%d(cnt++)
2205 @ <td><a href="%R/info/%S(zUuid)">%S(zUuid)</a>
2206 if( zDate ){
2207 @ <td>%h(zDate)
2208 }else{
2209 @ <td>&nbsp;
2210 }
2211 @ <td align="right">%,lld(sz)
2212 if( zUser ){
2213 @ <td>%h(zUser)
2214 }else{
2215 @ <td>&nbsp;
2216 }
@@ -2214,7 +2221,8 @@
2221 }
2222 @ </tr>
2223 }
2224 @ </table>
2225 db_finalize(&q);
2226 @ <p>Total size of all clusters: %,lld(szTotal) bytes</p>
2227 style_finish_page();
2228 }
2229

Keyboard Shortcuts

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