Index: tool/showdb.c ================================================================== --- tool/showdb.c +++ tool/showdb.c @@ -859,10 +859,11 @@ unsigned char *a; const char *zType = "corrupt node"; int nCell; int i; int hdr = pgno==1 ? 100 : 0; + char zEntry[30]; if( pgno<=0 || pgno>g.mxPage ) return; a = fileRead((pgno-1)*g.pagesize, g.pagesize); switch( a[hdr] ){ case 0: { @@ -882,19 +883,24 @@ default: { if( parent<0 ) return; zType = "corrupt node"; } } + nCell = a[hdr+3]*256 + a[hdr+4]; + if( nCell==1 ){ + sqlite3_snprintf(sizeof(zEntry),zEntry,"1 row"); + }else{ + sqlite3_snprintf(sizeof(zEntry),zEntry,"%d rows", nCell); + } if( parent>0 ){ - page_usage_msg(pgno, "%s [%s], child %d of page %d", - zType, zName, idx, parent); + page_usage_msg(pgno, "%s [%s], child %d of page %d, %s", + zType, zName, idx, parent, zEntry); }else if( parent==0 ){ - page_usage_msg(pgno, "root %s [%s]", zType, zName); + page_usage_msg(pgno, "root %s [%s], %s", zType, zName, zEntry); }else{ - page_usage_msg(pgno, "orphaned %s", zType); + page_usage_msg(pgno, "orphaned %s, %s", zType, zEntry); } - nCell = a[hdr+3]*256 + a[hdr+4]; if( a[hdr]==2 || a[hdr]==5 ){ int cellstart = hdr+12; unsigned int child; for(i=0; i