1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-05 15:55:57 +03:00

In the fts3view utility, label the blank segments used to mark the end of a

segment sequence for a level/idx as "null".  Improve the alignment of root
segment names.

FossilOrigin-Name: 04aea0245e4183fef3664609f5a6353b65d71a85
This commit is contained in:
drh
2012-03-27 14:54:44 +00:00
parent 1ecb59a1e5
commit a1a9f0a0d8
3 changed files with 36 additions and 9 deletions

View File

@@ -418,6 +418,22 @@ static void printTreeLine(sqlite3_int64 iLower, sqlite3_int64 iUpper){
printf("\n"); printf("\n");
} }
/*
** Check to see if the block of a %_segments entry is NULL.
*/
static int isNullSegment(sqlite3 *db, const char *zTab, sqlite3_int64 iBlockId){
sqlite3_stmt *pStmt;
int rc = 1;
pStmt = prepare(db, "SELECT block IS NULL FROM '%q_segments'"
" WHERE blockid=%lld", zTab, iBlockId);
if( sqlite3_step(pStmt)==SQLITE_ROW ){
rc = sqlite3_column_int(pStmt, 0);
}
sqlite3_finalize(pStmt);
return rc;
}
/* /*
** Show a map of segments derived from the %_segdir table. ** Show a map of segments derived from the %_segdir table.
*/ */
@@ -459,13 +475,16 @@ static void showSegdirMap(sqlite3 *db, const char *zTab){
sqlite3_int64 iStart = sqlite3_column_int64(pStmt, 2); sqlite3_int64 iStart = sqlite3_column_int64(pStmt, 2);
sqlite3_int64 iLEnd = sqlite3_column_int64(pStmt, 3); sqlite3_int64 iLEnd = sqlite3_column_int64(pStmt, 3);
sqlite3_int64 iEnd = sqlite3_column_int64(pStmt, 4); sqlite3_int64 iEnd = sqlite3_column_int64(pStmt, 4);
char rtag[20];
if( iLevel!=prevLevel ){ if( iLevel!=prevLevel ){
printf("level %2d idx %2d", iLevel, iIdx); printf("level %2d idx %2d", iLevel, iIdx);
prevLevel = iLevel; prevLevel = iLevel;
}else{ }else{
printf(" idx %2d", iIdx); printf(" idx %2d", iIdx);
} }
printf(" root r%lld\n", sqlite3_column_int64(pStmt, 5)); sqlite3_snprintf(sizeof(rtag), rtag, "r%lld",
sqlite3_column_int64(pStmt,5));
printf(" root %9s\n", rtag);
if( iLEnd>iStart ){ if( iLEnd>iStart ){
sqlite3_int64 iLower, iPrev, iX; sqlite3_int64 iLower, iPrev, iX;
if( iLEnd+1<=iEnd ){ if( iLEnd+1<=iEnd ){
@@ -484,7 +503,15 @@ static void showSegdirMap(sqlite3 *db, const char *zTab){
} }
} }
sqlite3_reset(pStmt2); sqlite3_reset(pStmt2);
if( iLower>=0 ) printTreeLine(iLower, iPrev); if( iLower>=0 ){
if( iLower==iPrev && iLower==iEnd
&& isNullSegment(db,zTab,iLower)
){
printf(" null %9lld\n", iLower);
}else{
printTreeLine(iLower, iPrev);
}
}
} }
printf(" leaves %9lld thru %9lld (%lld blocks)\n", printf(" leaves %9lld thru %9lld (%lld blocks)\n",
iStart, iLEnd, iLEnd - iStart + 1); iStart, iLEnd, iLEnd - iStart + 1);

View File

@@ -1,5 +1,5 @@
C Enhance\sthe\sfts3view\stool\swith\sthe\sbig-segment\scommand\sand\sfix\sa\sbug\sin\sthe\ndisplay\sof\sdoclists. C In\sthe\sfts3view\sutility,\slabel\sthe\sblank\ssegments\sused\sto\smark\sthe\send\sof\sa\nsegment\ssequence\sfor\sa\slevel/idx\sas\s"null".\s\sImprove\sthe\salignment\sof\sroot\nsegment\snames.
D 2012-03-27T13:51:31.240 D 2012-03-27T14:54:44.486
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 2f37e468503dbe79d35c9f6dffcf3fae1ae9ec20 F Makefile.in 2f37e468503dbe79d35c9f6dffcf3fae1ae9ec20
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 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/fts3_write.c a9990753ba132cd79b666c61ec58ae15eb032387
F ext/fts3/fts3speed.tcl b54caf6a18d38174f1a6e84219950d85e98bb1e9 F ext/fts3/fts3speed.tcl b54caf6a18d38174f1a6e84219950d85e98bb1e9
F ext/fts3/mkfts3amal.tcl 252ecb7fe6467854f2aa237bf2c390b74e71f100 F ext/fts3/mkfts3amal.tcl 252ecb7fe6467854f2aa237bf2c390b74e71f100
F ext/fts3/tool/fts3view.c 153b47ecb91856f8462fa8b8320762ad62ca965a F ext/fts3/tool/fts3view.c 2c7f1bc1feddca85397be174fb6871007c27898b
F ext/icu/README.txt bf8461d8cdc6b8f514c080e4e10dc3b2bbdfefa9 F ext/icu/README.txt bf8461d8cdc6b8f514c080e4e10dc3b2bbdfefa9
F ext/icu/icu.c eb9ae1d79046bd7871aa97ee6da51eb770134b5a F ext/icu/icu.c eb9ae1d79046bd7871aa97ee6da51eb770134b5a
F ext/icu/sqliteicu.h 728867a802baa5a96de7495e9689a8e01715ef37 F ext/icu/sqliteicu.h 728867a802baa5a96de7495e9689a8e01715ef37
@@ -1000,7 +1000,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
P eb00b95885023a8592693f0babbb0066207073b0 P e9436d8038e5a0d1ba992a77d1064d4a55595f57
R 6a5cd3e2138fd11a98667226e3dd3f73 R 539ad1cd9b19a07386b41fe8ff2433cc
U drh U drh
Z d39fd2dac9646b20152fd68106b6fe3c Z cd0ad279479f240b2399ce3360a34f55

View File

@@ -1 +1 @@
e9436d8038e5a0d1ba992a77d1064d4a55595f57 04aea0245e4183fef3664609f5a6353b65d71a85