Fossil SCM

Added "brief" option to /json/stat, mirroring the change in [d01ca14d08].

stephan 2011-09-27 01:51 UTC json
Commit 17f11a0884475283bdd43a4d3a527874703f50f5
1 file changed +46 -38
+46 -38
--- src/json.c
+++ src/json.c
@@ -1222,10 +1222,11 @@
12221222
**
12231223
*/
12241224
cson_value * json_page_stat(){
12251225
i64 t, fsize;
12261226
int n, m;
1227
+ int brief;
12271228
const char *zDb;
12281229
enum { BufLen = 1000 };
12291230
char zBuf[BufLen];
12301231
cson_value * jv = NULL;
12311232
cson_object * jo = NULL;
@@ -1233,10 +1234,15 @@
12331234
cson_object * jo2 = NULL;
12341235
if( !g.perm.Read ){
12351236
g.json.resultCode = FSL_JSON_E_DENIED;
12361237
return NULL;
12371238
}
1239
+ if( g.isHTTP ){
1240
+ brief = json_getenv_int("brief",0);
1241
+ }else{
1242
+ brief = (0!=find_option("brief","b",0));
1243
+ }
12381244
#define SETBUF(O,K) cson_object_set(O, K, cson_value_new_string(zBuf, strlen(zBuf)));
12391245
12401246
jv = cson_value_new_object();
12411247
jo = cson_value_get_object(jv);
12421248
@@ -1247,48 +1253,50 @@
12471253
with a blob for this purpose.
12481254
*/
12491255
fsize = file_size(g.zRepositoryName);
12501256
cson_object_set(jo, "repositorySize", cson_value_new_integer((cson_int_t)fsize));
12511257
1252
- n = db_int(0, "SELECT count(*) FROM blob");
1253
- m = db_int(0, "SELECT count(*) FROM delta");
1254
- cson_object_set(jo, "blobCount", cson_value_new_integer((cson_int_t)n));
1255
- cson_object_set(jo, "deltaCount", cson_value_new_integer((cson_int_t)m));
1256
- if( n>0 ){
1257
- int a, b;
1258
- Stmt q;
1259
- db_prepare(&q, "SELECT total(size), avg(size), max(size)"
1260
- " FROM blob WHERE size>0");
1261
- db_step(&q);
1262
- t = db_column_int64(&q, 0);
1263
- cson_object_set(jo, "uncompressedArtifactSize",
1264
- cson_value_new_integer((cson_int_t)t));
1265
- cson_object_set(jo, "averageArtifactSize",
1266
- cson_value_new_integer((cson_int_t)db_column_int(&q, 1)));
1267
- cson_object_set(jo, "maxArtifactSize",
1268
- cson_value_new_integer((cson_int_t)db_column_int(&q, 2)));
1269
- db_finalize(&q);
1270
- if( t/fsize < 5 ){
1271
- b = 10;
1272
- fsize /= 10;
1273
- }else{
1274
- b = 1;
1275
- }
1276
- a = t/fsize;
1277
- sqlite3_snprintf(BufLen,zBuf, "%d:%d", a, b);
1278
- SETBUF(jo, "compressionRatio");
1279
- }
1280
- n = db_int(0, "SELECT count(distinct mid) FROM mlink /*scan*/");
1281
- cson_object_set(jo, "checkinCount", cson_value_new_integer((cson_int_t)n));
1282
- n = db_int(0, "SELECT count(*) FROM filename /*scan*/");
1283
- cson_object_set(jo, "fileCount", cson_value_new_integer((cson_int_t)n));
1284
- n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
1285
- " WHERE +tagname GLOB 'wiki-*'");
1286
- cson_object_set(jo, "wikiPageCount", cson_value_new_integer((cson_int_t)n));
1287
- n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
1288
- " WHERE +tagname GLOB 'tkt-*'");
1289
- cson_object_set(jo, "ticketCount", cson_value_new_integer((cson_int_t)n));
1258
+ if(!brief){
1259
+ n = db_int(0, "SELECT count(*) FROM blob");
1260
+ m = db_int(0, "SELECT count(*) FROM delta");
1261
+ cson_object_set(jo, "blobCount", cson_value_new_integer((cson_int_t)n));
1262
+ cson_object_set(jo, "deltaCount", cson_value_new_integer((cson_int_t)m));
1263
+ if( n>0 ){
1264
+ int a, b;
1265
+ Stmt q;
1266
+ db_prepare(&q, "SELECT total(size), avg(size), max(size)"
1267
+ " FROM blob WHERE size>0");
1268
+ db_step(&q);
1269
+ t = db_column_int64(&q, 0);
1270
+ cson_object_set(jo, "uncompressedArtifactSize",
1271
+ cson_value_new_integer((cson_int_t)t));
1272
+ cson_object_set(jo, "averageArtifactSize",
1273
+ cson_value_new_integer((cson_int_t)db_column_int(&q, 1)));
1274
+ cson_object_set(jo, "maxArtifactSize",
1275
+ cson_value_new_integer((cson_int_t)db_column_int(&q, 2)));
1276
+ db_finalize(&q);
1277
+ if( t/fsize < 5 ){
1278
+ b = 10;
1279
+ fsize /= 10;
1280
+ }else{
1281
+ b = 1;
1282
+ }
1283
+ a = t/fsize;
1284
+ sqlite3_snprintf(BufLen,zBuf, "%d:%d", a, b);
1285
+ SETBUF(jo, "compressionRatio");
1286
+ }
1287
+ n = db_int(0, "SELECT count(distinct mid) FROM mlink /*scan*/");
1288
+ cson_object_set(jo, "checkinCount", cson_value_new_integer((cson_int_t)n));
1289
+ n = db_int(0, "SELECT count(*) FROM filename /*scan*/");
1290
+ cson_object_set(jo, "fileCount", cson_value_new_integer((cson_int_t)n));
1291
+ n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
1292
+ " WHERE +tagname GLOB 'wiki-*'");
1293
+ cson_object_set(jo, "wikiPageCount", cson_value_new_integer((cson_int_t)n));
1294
+ n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
1295
+ " WHERE +tagname GLOB 'tkt-*'");
1296
+ cson_object_set(jo, "ticketCount", cson_value_new_integer((cson_int_t)n));
1297
+ }/*!brief*/
12901298
n = db_int(0, "SELECT julianday('now') - (SELECT min(mtime) FROM event)"
12911299
" + 0.99");
12921300
cson_object_set(jo, "ageDays", cson_value_new_integer((cson_int_t)n));
12931301
cson_object_set(jo, "ageYears", cson_value_new_double(n/365.24));
12941302
sqlite3_snprintf(BufLen, zBuf, db_get("project-code",""));
12951303
--- src/json.c
+++ src/json.c
@@ -1222,10 +1222,11 @@
1222 **
1223 */
1224 cson_value * json_page_stat(){
1225 i64 t, fsize;
1226 int n, m;
 
1227 const char *zDb;
1228 enum { BufLen = 1000 };
1229 char zBuf[BufLen];
1230 cson_value * jv = NULL;
1231 cson_object * jo = NULL;
@@ -1233,10 +1234,15 @@
1233 cson_object * jo2 = NULL;
1234 if( !g.perm.Read ){
1235 g.json.resultCode = FSL_JSON_E_DENIED;
1236 return NULL;
1237 }
 
 
 
 
 
1238 #define SETBUF(O,K) cson_object_set(O, K, cson_value_new_string(zBuf, strlen(zBuf)));
1239
1240 jv = cson_value_new_object();
1241 jo = cson_value_get_object(jv);
1242
@@ -1247,48 +1253,50 @@
1247 with a blob for this purpose.
1248 */
1249 fsize = file_size(g.zRepositoryName);
1250 cson_object_set(jo, "repositorySize", cson_value_new_integer((cson_int_t)fsize));
1251
1252 n = db_int(0, "SELECT count(*) FROM blob");
1253 m = db_int(0, "SELECT count(*) FROM delta");
1254 cson_object_set(jo, "blobCount", cson_value_new_integer((cson_int_t)n));
1255 cson_object_set(jo, "deltaCount", cson_value_new_integer((cson_int_t)m));
1256 if( n>0 ){
1257 int a, b;
1258 Stmt q;
1259 db_prepare(&q, "SELECT total(size), avg(size), max(size)"
1260 " FROM blob WHERE size>0");
1261 db_step(&q);
1262 t = db_column_int64(&q, 0);
1263 cson_object_set(jo, "uncompressedArtifactSize",
1264 cson_value_new_integer((cson_int_t)t));
1265 cson_object_set(jo, "averageArtifactSize",
1266 cson_value_new_integer((cson_int_t)db_column_int(&q, 1)));
1267 cson_object_set(jo, "maxArtifactSize",
1268 cson_value_new_integer((cson_int_t)db_column_int(&q, 2)));
1269 db_finalize(&q);
1270 if( t/fsize < 5 ){
1271 b = 10;
1272 fsize /= 10;
1273 }else{
1274 b = 1;
1275 }
1276 a = t/fsize;
1277 sqlite3_snprintf(BufLen,zBuf, "%d:%d", a, b);
1278 SETBUF(jo, "compressionRatio");
1279 }
1280 n = db_int(0, "SELECT count(distinct mid) FROM mlink /*scan*/");
1281 cson_object_set(jo, "checkinCount", cson_value_new_integer((cson_int_t)n));
1282 n = db_int(0, "SELECT count(*) FROM filename /*scan*/");
1283 cson_object_set(jo, "fileCount", cson_value_new_integer((cson_int_t)n));
1284 n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
1285 " WHERE +tagname GLOB 'wiki-*'");
1286 cson_object_set(jo, "wikiPageCount", cson_value_new_integer((cson_int_t)n));
1287 n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
1288 " WHERE +tagname GLOB 'tkt-*'");
1289 cson_object_set(jo, "ticketCount", cson_value_new_integer((cson_int_t)n));
 
 
1290 n = db_int(0, "SELECT julianday('now') - (SELECT min(mtime) FROM event)"
1291 " + 0.99");
1292 cson_object_set(jo, "ageDays", cson_value_new_integer((cson_int_t)n));
1293 cson_object_set(jo, "ageYears", cson_value_new_double(n/365.24));
1294 sqlite3_snprintf(BufLen, zBuf, db_get("project-code",""));
1295
--- src/json.c
+++ src/json.c
@@ -1222,10 +1222,11 @@
1222 **
1223 */
1224 cson_value * json_page_stat(){
1225 i64 t, fsize;
1226 int n, m;
1227 int brief;
1228 const char *zDb;
1229 enum { BufLen = 1000 };
1230 char zBuf[BufLen];
1231 cson_value * jv = NULL;
1232 cson_object * jo = NULL;
@@ -1233,10 +1234,15 @@
1234 cson_object * jo2 = NULL;
1235 if( !g.perm.Read ){
1236 g.json.resultCode = FSL_JSON_E_DENIED;
1237 return NULL;
1238 }
1239 if( g.isHTTP ){
1240 brief = json_getenv_int("brief",0);
1241 }else{
1242 brief = (0!=find_option("brief","b",0));
1243 }
1244 #define SETBUF(O,K) cson_object_set(O, K, cson_value_new_string(zBuf, strlen(zBuf)));
1245
1246 jv = cson_value_new_object();
1247 jo = cson_value_get_object(jv);
1248
@@ -1247,48 +1253,50 @@
1253 with a blob for this purpose.
1254 */
1255 fsize = file_size(g.zRepositoryName);
1256 cson_object_set(jo, "repositorySize", cson_value_new_integer((cson_int_t)fsize));
1257
1258 if(!brief){
1259 n = db_int(0, "SELECT count(*) FROM blob");
1260 m = db_int(0, "SELECT count(*) FROM delta");
1261 cson_object_set(jo, "blobCount", cson_value_new_integer((cson_int_t)n));
1262 cson_object_set(jo, "deltaCount", cson_value_new_integer((cson_int_t)m));
1263 if( n>0 ){
1264 int a, b;
1265 Stmt q;
1266 db_prepare(&q, "SELECT total(size), avg(size), max(size)"
1267 " FROM blob WHERE size>0");
1268 db_step(&q);
1269 t = db_column_int64(&q, 0);
1270 cson_object_set(jo, "uncompressedArtifactSize",
1271 cson_value_new_integer((cson_int_t)t));
1272 cson_object_set(jo, "averageArtifactSize",
1273 cson_value_new_integer((cson_int_t)db_column_int(&q, 1)));
1274 cson_object_set(jo, "maxArtifactSize",
1275 cson_value_new_integer((cson_int_t)db_column_int(&q, 2)));
1276 db_finalize(&q);
1277 if( t/fsize < 5 ){
1278 b = 10;
1279 fsize /= 10;
1280 }else{
1281 b = 1;
1282 }
1283 a = t/fsize;
1284 sqlite3_snprintf(BufLen,zBuf, "%d:%d", a, b);
1285 SETBUF(jo, "compressionRatio");
1286 }
1287 n = db_int(0, "SELECT count(distinct mid) FROM mlink /*scan*/");
1288 cson_object_set(jo, "checkinCount", cson_value_new_integer((cson_int_t)n));
1289 n = db_int(0, "SELECT count(*) FROM filename /*scan*/");
1290 cson_object_set(jo, "fileCount", cson_value_new_integer((cson_int_t)n));
1291 n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
1292 " WHERE +tagname GLOB 'wiki-*'");
1293 cson_object_set(jo, "wikiPageCount", cson_value_new_integer((cson_int_t)n));
1294 n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
1295 " WHERE +tagname GLOB 'tkt-*'");
1296 cson_object_set(jo, "ticketCount", cson_value_new_integer((cson_int_t)n));
1297 }/*!brief*/
1298 n = db_int(0, "SELECT julianday('now') - (SELECT min(mtime) FROM event)"
1299 " + 0.99");
1300 cson_object_set(jo, "ageDays", cson_value_new_integer((cson_int_t)n));
1301 cson_object_set(jo, "ageYears", cson_value_new_double(n/365.24));
1302 sqlite3_snprintf(BufLen, zBuf, db_get("project-code",""));
1303

Keyboard Shortcuts

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