/ Check-in [087dc960]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Correctly display P4_ADVANCE values on opcode traces. Mark an always-taken branch in OP_Column as such.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | experimental
Files: files | file ages | folders
SHA1: 087dc96086fe4e45da93ab6a0d5dda34c932ce97
User & Date: drh 2011-08-28 00:19:26
Context
2011-08-28
02:15
About a 3% improvement in the performance of OP_Column. check-in: edff9d4a user: drh tags: experimental
00:19
Correctly display P4_ADVANCE values on opcode traces. Mark an always-taken branch in OP_Column as such. check-in: 087dc960 user: drh tags: experimental
2011-08-27
18:48
Experimental changes to improve the performance of OP_Next. check-in: 1a249845 user: dan tags: experimental
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/vdbe.c.

  2169   2169         assert( (payloadSize64 & SQLITE_MAX_U32)==(u64)payloadSize64 );
  2170   2170         payloadSize = (u32)payloadSize64;
  2171   2171       }else{
  2172   2172         assert( sqlite3BtreeCursorIsValid(pCrsr) );
  2173   2173         rc = sqlite3BtreeDataSize(pCrsr, &payloadSize);
  2174   2174         assert( rc==SQLITE_OK );   /* DataSize() cannot fail */
  2175   2175       }
  2176         -  }else if( pC->pseudoTableReg>0 ){
         2176  +  }else if( ALWAYS(pC->pseudoTableReg>0) ){
  2177   2177       pReg = &aMem[pC->pseudoTableReg];
  2178   2178       assert( pReg->flags & MEM_Blob );
  2179   2179       assert( memIsValid(pReg) );
  2180   2180       payloadSize = pReg->n;
  2181   2181       zRec = pReg->z;
  2182   2182       pC->cacheStatus = (pOp->p5&OPFLAG_CLEARCACHE) ? CACHE_STALE : p->cacheCtr;
  2183   2183       assert( payloadSize==0 || zRec!=0 );

Changes to src/vdbeaux.c.

   940    940       case P4_INTARRAY: {
   941    941         sqlite3_snprintf(nTemp, zTemp, "intarray");
   942    942         break;
   943    943       }
   944    944       case P4_SUBPROGRAM: {
   945    945         sqlite3_snprintf(nTemp, zTemp, "program");
   946    946         break;
          947  +    }
          948  +    case P4_ADVANCE: {
          949  +      zTemp[0] = 0;
          950  +      break;
   947    951       }
   948    952       default: {
   949    953         zP4 = pOp->p4.z;
   950    954         if( zP4==0 ){
   951    955           zP4 = zTemp;
   952    956           zTemp[0] = 0;
   953    957         }