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: |
3d55d24dcb27f07d1e645738ee4707e4 |
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
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 }