Enhance the fts3view tool with the big-segment command and fix a bug in the
display of doclists. FossilOrigin-Name: e9436d8038e5a0d1ba992a77d1064d4a55595f57
This commit is contained in:
@@ -682,8 +682,8 @@ static void decodeDoclist(
|
||||
printf("\n");
|
||||
break;
|
||||
}else{
|
||||
printf(" %lld", iPrevPos + iPos - 2);
|
||||
iPrevPos = iPos - 2;
|
||||
iPrevPos += iPos - 2;
|
||||
printf(" %lld", iPrevPos);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -725,6 +725,31 @@ static void showDoclist(sqlite3 *db, const char *zTab){
|
||||
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){
|
||||
@@ -732,6 +757,7 @@ 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"
|
||||
@@ -777,7 +803,9 @@ int main(int argc, char **argv){
|
||||
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 ){
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
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
|
||||
@@ -81,7 +81,7 @@ F ext/fts3/fts3_tokenizer1.c 5c98225a53705e5ee34824087478cf477bdb7004
|
||||
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
|
||||
@@ -1000,7 +1000,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06
|
||||
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
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
eb00b95885023a8592693f0babbb0066207073b0
|
||||
e9436d8038e5a0d1ba992a77d1064d4a55595f57
|
||||
Reference in New Issue
Block a user