printf("\n");
break;
}else{
- printf(" %lld", iPrevPos + iPos - 2);
- iPrevPos = iPos - 2;
+ iPrevPos += iPos - 2;
+ printf(" %lld", iPrevPos);
}
}
}
sqlite3_finalize(pStmt);
}
+/*
+** Show the top N largest segments
+*/
+static void listBigSegments(sqlite3 *db, const char *zTab){
+ int nTop, i;
+ sqlite3_stmt *pStmt;
+ sqlite3_int64 sz;
+ sqlite3_int64 id;
+
+ nTop = atoi(findOption("top", 1, "25"));
+ printf("The %d largest segments:\n", nTop);
+ pStmt = prepare(db,
+ "SELECT blockid, length(block) AS len FROM '%q_segments'"
+ " ORDER BY 2 DESC, 1"
+ " LIMIT %d", zTab, nTop);
+ i = 0;
+ while( sqlite3_step(pStmt)==SQLITE_ROW ){
+ i++;
+ id = sqlite3_column_int64(pStmt, 0);
+ sz = sqlite3_column_int64(pStmt, 1);
+ printf(" %2d. %9lld size %lld\n", i, id, sz);
+ }
+ sqlite3_finalize(pStmt);
+}
+
static void usage(const char *argv0){
" or: %s DATABASE FTS3TABLE ARGS...\n", argv0, argv0);
fprintf(stderr,
"ARGS:\n"
+ " big-segments [--top N] show the largest segments\n"
" doclist BLOCKID OFFSET SIZE [--raw] Decode a doclist\n"
" schema FTS table schema\n"
" segdir directory of segments\n"
zCmd = argv[3];
nExtra = argc-4;
azExtra = argv+4;
- if( strcmp(zCmd,"doclist")==0 ){
+ if( strcmp(zCmd,"big-segments")==0 ){
+ listBigSegments(db, zTab);
+ }else if( strcmp(zCmd,"doclist")==0 ){
if( argc<7 ) usage(argv[0]);
showDoclist(db, zTab);
}else if( strcmp(zCmd,"schema")==0 ){
-C Merge\sthe\sfts4-incr-merge-exp\sbranch\swith\sfts4-incr-merge.
-D 2012-03-27T13:44:28.992
+C Enhance\sthe\sfts3view\stool\swith\sthe\sbig-segment\scommand\sand\sfix\sa\sbug\sin\sthe\ndisplay\sof\sdoclists.
+D 2012-03-27T13:51:31.240
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 2f37e468503dbe79d35c9f6dffcf3fae1ae9ec20
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F ext/fts3/fts3_write.c a9990753ba132cd79b666c61ec58ae15eb032387
F ext/fts3/fts3speed.tcl b54caf6a18d38174f1a6e84219950d85e98bb1e9
F ext/fts3/mkfts3amal.tcl 252ecb7fe6467854f2aa237bf2c390b74e71f100
-F ext/fts3/tool/fts3view.c 71d6149a268e8375cd9e5c8224868fa7460614c3
+F ext/fts3/tool/fts3view.c 153b47ecb91856f8462fa8b8320762ad62ca965a
F ext/icu/README.txt bf8461d8cdc6b8f514c080e4e10dc3b2bbdfefa9
F ext/icu/icu.c eb9ae1d79046bd7871aa97ee6da51eb770134b5a
F ext/icu/sqliteicu.h 728867a802baa5a96de7495e9689a8e01715ef37
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
-P fb8aacdd8fbdc946cb271cc589f76b806387937d 7ed9d2f24a650b424b97dfc19b8042c4cf09c82c
-R a481c2564099a87723843f2e40a259a7
-U dan
-Z cbd151378395e54c0cdc970e0e7f2163
+P eb00b95885023a8592693f0babbb0066207073b0
+R 6a5cd3e2138fd11a98667226e3dd3f73
+U drh
+Z d39fd2dac9646b20152fd68106b6fe3c