/ Check-in [3d55d24d]
Login

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

Overview
Comment:Use sqlite3VdbeAddOp0() to code OP_Expire, to save a few bytes.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 3d55d24dcb27f07d1e645738ee4707e4df923036
User & Date: drh 2016-05-20 15:15:07
Context
2016-05-20
15:24
Increase the version number to 3.14.0 since we are already making significant code changes. check-in: 1a0d0576 user: drh tags: trunk
15:15
Use sqlite3VdbeAddOp0() to code OP_Expire, to save a few bytes. check-in: 3d55d24d user: drh tags: trunk
14:54
Optimizations to link list merge sort code in vdbesort.c, pcache.c, and rowset.c. Resulting binaries are 10 bytes smaller and use 0.03% fewer CPU cycles. check-in: 9033afbb user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Show Whitespace Changes Patch

Changes to src/build.c.

  3361   3361       ** to invalidate all pre-compiled statements.
  3362   3362       */
  3363   3363       if( pTblName ){
  3364   3364         sqlite3RefillIndex(pParse, pIndex, iMem);
  3365   3365         sqlite3ChangeCookie(pParse, iDb);
  3366   3366         sqlite3VdbeAddParseSchemaOp(v, iDb,
  3367   3367            sqlite3MPrintf(db, "name='%q' AND type='index'", pIndex->zName));
  3368         -      sqlite3VdbeAddOp1(v, OP_Expire, 0);
         3368  +      sqlite3VdbeAddOp0(v, OP_Expire);
  3369   3369       }
  3370   3370   
  3371   3371       sqlite3VdbeJumpHere(v, pIndex->tnum);
  3372   3372     }
  3373   3373   
  3374   3374     /* When adding an index to the list of indices for a table, make
  3375   3375     ** sure all indices labeled OE_Replace come after all those labeled

Changes to src/pragma.c.

  1026   1026           if( mask==SQLITE_DeferFKs ) db->nDeferredImmCons = 0;
  1027   1027         }
  1028   1028   
  1029   1029         /* Many of the flag-pragmas modify the code generated by the SQL 
  1030   1030         ** compiler (eg. count_changes). So add an opcode to expire all
  1031   1031         ** compiled SQL statements after modifying a pragma value.
  1032   1032         */
  1033         -      sqlite3VdbeAddOp2(v, OP_Expire, 0, 0);
         1033  +      sqlite3VdbeAddOp0(v, OP_Expire);
  1034   1034         setAllPagerFlags(db);
  1035   1035       }
  1036   1036       break;
  1037   1037     }
  1038   1038   #endif /* SQLITE_OMIT_FLAG_PRAGMAS */
  1039   1039   
  1040   1040   #ifndef SQLITE_OMIT_SCHEMA_PRAGMAS

Changes to src/vtab.c.

   414    414         zStmt,
   415    415         pParse->regRowid
   416    416       );
   417    417       sqlite3DbFree(db, zStmt);
   418    418       v = sqlite3GetVdbe(pParse);
   419    419       sqlite3ChangeCookie(pParse, iDb);
   420    420   
   421         -    sqlite3VdbeAddOp2(v, OP_Expire, 0, 0);
          421  +    sqlite3VdbeAddOp0(v, OP_Expire);
   422    422       zWhere = sqlite3MPrintf(db, "name='%q' AND type='table'", pTab->zName);
   423    423       sqlite3VdbeAddParseSchemaOp(v, iDb, zWhere);
   424    424   
   425    425       iReg = ++pParse->nMem;
   426    426       sqlite3VdbeLoadString(v, iReg, pTab->zName);
   427    427       sqlite3VdbeAddOp2(v, OP_VCreate, iDb, iReg);
   428    428     }