mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-07 02:42:48 +03:00
Another minor optimization to OP_Transaction.
FossilOrigin-Name: d80077aee3904e5d93164b342cae14d813de8e84e567462412751e06c7487d41
This commit is contained in:
12
manifest
12
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Change\ssqlite3BtreeBeginTrans()\sto\sreturn\sthe\sBTREE_SCHEMA_COOKIE,\sfor\sa\nsmall\sspeed\simprovement\swhen\sstarting\snew\stransactions.
|
C Another\sminor\soptimization\sto\sOP_Transaction.
|
||||||
D 2018-06-06T16:28:40.777
|
D 2018-06-06T17:45:51.934
|
||||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||||
F Makefile.in bfc40f350586923e0419d2ea4b559c37ec10ee4b6e210e08c14401f8e340f0da
|
F Makefile.in bfc40f350586923e0419d2ea4b559c37ec10ee4b6e210e08c14401f8e340f0da
|
||||||
@@ -565,7 +565,7 @@ F src/upsert.c 47edd408cc73f8d3c00a140550d1ad180b407c146285947969dd09874802bf88
|
|||||||
F src/utf.c 810fbfebe12359f10bc2a011520a6e10879ab2a163bcb26c74768eab82ea62a5
|
F src/utf.c 810fbfebe12359f10bc2a011520a6e10879ab2a163bcb26c74768eab82ea62a5
|
||||||
F src/util.c d9eb0a6c4aae1b00a7369eadd7ca0bbe946cb4c953b6751aa20d357c2f482157
|
F src/util.c d9eb0a6c4aae1b00a7369eadd7ca0bbe946cb4c953b6751aa20d357c2f482157
|
||||||
F src/vacuum.c 36e7d21a20c0bf6ef4ef7c399d192b5239410b7c4d3c1070fba4e30810d0b855
|
F src/vacuum.c 36e7d21a20c0bf6ef4ef7c399d192b5239410b7c4d3c1070fba4e30810d0b855
|
||||||
F src/vdbe.c 6d399cc8e10a7c1b2103e5bc21874cbbb645bab39ae5839a124547de9c67281d
|
F src/vdbe.c ffa02701cda500e0770abf139d860447e546949c5d55acab58ad8239ad92daf0
|
||||||
F src/vdbe.h e3f43bcc27ff30b0f25a6104d0cb5657e1c4b5e1b5cd2dd2216d5bcc2156a746
|
F src/vdbe.h e3f43bcc27ff30b0f25a6104d0cb5657e1c4b5e1b5cd2dd2216d5bcc2156a746
|
||||||
F src/vdbeInt.h 42d3e65ea0c664f6d9bc9a53de645c0baf8566ff0188409ff3b8d2abc327bc17
|
F src/vdbeInt.h 42d3e65ea0c664f6d9bc9a53de645c0baf8566ff0188409ff3b8d2abc327bc17
|
||||||
F src/vdbeapi.c 765a0bbe01311626417de6cb743f7f25f9f98435c98a9df4bb0714d11014633d
|
F src/vdbeapi.c 765a0bbe01311626417de6cb743f7f25f9f98435c98a9df4bb0714d11014633d
|
||||||
@@ -1730,7 +1730,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
|||||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||||
P 27291f2d7fd4dadf2ee9b9a7d1373158cadfbaf83c3654b00d7030dc921770c6
|
P a10662aa915ae2b5a78b3e10920350d32255b2d6b1a8aac0aba1ad173b07ed2b
|
||||||
R 16b62aa5de77d5bb1612bf4110bec5fd
|
R 0414460bef03f5574242d45104db8a7b
|
||||||
U drh
|
U drh
|
||||||
Z 863a8fc1288d57d76620b26ae04bd21c
|
Z 426a1576c4740e63608a04eef5bea89e
|
||||||
|
@@ -1 +1 @@
|
|||||||
a10662aa915ae2b5a78b3e10920350d32255b2d6b1a8aac0aba1ad173b07ed2b
|
d80077aee3904e5d93164b342cae14d813de8e84e567462412751e06c7487d41
|
14
src/vdbe.c
14
src/vdbe.c
@@ -3203,7 +3203,6 @@ case OP_AutoCommit: {
|
|||||||
case OP_Transaction: {
|
case OP_Transaction: {
|
||||||
Btree *pBt;
|
Btree *pBt;
|
||||||
int iMeta = 0;
|
int iMeta = 0;
|
||||||
int iGen = 0;
|
|
||||||
|
|
||||||
assert( p->bIsReader );
|
assert( p->bIsReader );
|
||||||
assert( p->readOnly==0 || pOp->p2==0 );
|
assert( p->readOnly==0 || pOp->p2==0 );
|
||||||
@@ -3249,16 +3248,17 @@ case OP_Transaction: {
|
|||||||
p->nStmtDefCons = db->nDeferredCons;
|
p->nStmtDefCons = db->nDeferredCons;
|
||||||
p->nStmtDefImmCons = db->nDeferredImmCons;
|
p->nStmtDefImmCons = db->nDeferredImmCons;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/* Gather the schema version number for checking:
|
assert( pOp->p5==0 || pOp->p4type==P4_INT32 );
|
||||||
|
if( pOp->p5
|
||||||
|
&& (iMeta!=pOp->p3
|
||||||
|
|| db->aDb[pOp->p1].pSchema->iGeneration!=pOp->p4.i)
|
||||||
|
){
|
||||||
|
/*
|
||||||
** IMPLEMENTATION-OF: R-03189-51135 As each SQL statement runs, the schema
|
** IMPLEMENTATION-OF: R-03189-51135 As each SQL statement runs, the schema
|
||||||
** version is checked to ensure that the schema has not changed since the
|
** version is checked to ensure that the schema has not changed since the
|
||||||
** SQL statement was prepared.
|
** SQL statement was prepared.
|
||||||
*/
|
*/
|
||||||
iGen = db->aDb[pOp->p1].pSchema->iGeneration;
|
|
||||||
}
|
|
||||||
assert( pOp->p5==0 || pOp->p4type==P4_INT32 );
|
|
||||||
if( pOp->p5 && (iMeta!=pOp->p3 || iGen!=pOp->p4.i) ){
|
|
||||||
sqlite3DbFree(db, p->zErrMsg);
|
sqlite3DbFree(db, p->zErrMsg);
|
||||||
p->zErrMsg = sqlite3DbStrDup(db, "database schema has changed");
|
p->zErrMsg = sqlite3DbStrDup(db, "database schema has changed");
|
||||||
/* If the schema-cookie from the database file matches the cookie
|
/* If the schema-cookie from the database file matches the cookie
|
||||||
|
Reference in New Issue
Block a user