mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-18 10:21:03 +03:00
Avoid unnecessary calls to sqlite3_step() with null prepared statements
while parsing the schema. FossilOrigin-Name: ae04d2d15d3d96f607adb394a631d96cd4cf2c1d
This commit is contained in:
18
manifest
18
manifest
@@ -1,8 +1,8 @@
|
|||||||
-----BEGIN PGP SIGNED MESSAGE-----
|
-----BEGIN PGP SIGNED MESSAGE-----
|
||||||
Hash: SHA1
|
Hash: SHA1
|
||||||
|
|
||||||
C Fix\sa\stypo\sin\sa\scomment.\s\sNo\schanges\sto\scode.
|
C Avoid\sunnecessary\scalls\sto\ssqlite3_step()\swith\snull\sprepared\sstatements\nwhile\sparsing\sthe\sschema.
|
||||||
D 2010-04-08T17:35:35
|
D 2010-04-09T09:14:05
|
||||||
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
|
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
|
||||||
F Makefile.in 4f2f967b7e58a35bb74fb7ec8ae90e0f4ca7868b
|
F Makefile.in 4f2f967b7e58a35bb74fb7ec8ae90e0f4ca7868b
|
||||||
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
|
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
|
||||||
@@ -162,7 +162,7 @@ F src/pcache.c ace8f6a5ecd4711cc66a1b23053be7109bd437cf
|
|||||||
F src/pcache.h c683390d50f856d4cd8e24342ae62027d1bb6050
|
F src/pcache.h c683390d50f856d4cd8e24342ae62027d1bb6050
|
||||||
F src/pcache1.c 6dc1871ce8ead9187161c370a58cd06c84221f76
|
F src/pcache1.c 6dc1871ce8ead9187161c370a58cd06c84221f76
|
||||||
F src/pragma.c e166ea41544f8e57a08db86dbe87212b7d378fe8
|
F src/pragma.c e166ea41544f8e57a08db86dbe87212b7d378fe8
|
||||||
F src/prepare.c e8164a925274cb7803b5f8ab3cf42f2a508ad33f
|
F src/prepare.c fd1398cb1da54385ba5bd68d93928f10d10a1d9c
|
||||||
F src/printf.c 5f5b65a83e63f2096a541a340722a509fa0240a7
|
F src/printf.c 5f5b65a83e63f2096a541a340722a509fa0240a7
|
||||||
F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
|
F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
|
||||||
F src/resolve.c ac5f1a713cd1ae77f08b83cc69581e11bf5ae6f9
|
F src/resolve.c ac5f1a713cd1ae77f08b83cc69581e11bf5ae6f9
|
||||||
@@ -799,14 +799,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
|
|||||||
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
|
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
|
||||||
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
|
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
|
||||||
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
||||||
P b04a52824971e8880e4bf0d9862db4eef8b607ab
|
P 332cb55113a621456c6522830585434146c388e7
|
||||||
R 60b628e0c03e907f5546dfec24b3ca0a
|
R 71bb1fb313a1856d73098e2432b5cefc
|
||||||
U drh
|
U drh
|
||||||
Z 5a9a61b0d0ccc819f6a41bee3e7c307f
|
Z b3b7d19f1a4ba32f7346eb0a7b487db1
|
||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
Version: GnuPG v1.4.6 (GNU/Linux)
|
Version: GnuPG v1.4.6 (GNU/Linux)
|
||||||
|
|
||||||
iD8DBQFLvhPqoxKgR168RlERAovxAJ48SDXRaNpRjEwguJxwT0++FhJEVACfS7Kz
|
iD8DBQFLvu/goxKgR168RlERAioUAJ9TyQvJfnEhAsJp/SbbkAlrQn1rEQCgibSL
|
||||||
78+z4WCKNWa5+uIbS9ISEuc=
|
PoydLovfOGdwnT0LV9CvIvc=
|
||||||
=iH29
|
=FBJT
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
332cb55113a621456c6522830585434146c388e7
|
ae04d2d15d3d96f607adb394a631d96cd4cf2c1d
|
||||||
@@ -73,15 +73,15 @@ int sqlite3InitCallback(void *pInit, int argc, char **argv, char **NotUsed){
|
|||||||
** or executed. All the parser does is build the internal data
|
** or executed. All the parser does is build the internal data
|
||||||
** structures that describe the table, index, or view.
|
** structures that describe the table, index, or view.
|
||||||
*/
|
*/
|
||||||
char *zErr;
|
|
||||||
int rc;
|
int rc;
|
||||||
|
sqlite3_stmt *pStmt;
|
||||||
|
|
||||||
assert( db->init.busy );
|
assert( db->init.busy );
|
||||||
db->init.iDb = iDb;
|
db->init.iDb = iDb;
|
||||||
db->init.newTnum = atoi(argv[1]);
|
db->init.newTnum = atoi(argv[1]);
|
||||||
db->init.orphanTrigger = 0;
|
db->init.orphanTrigger = 0;
|
||||||
rc = sqlite3_exec(db, argv[2], 0, 0, &zErr);
|
rc = sqlite3_prepare(db, argv[2], -1, &pStmt, 0);
|
||||||
db->init.iDb = 0;
|
db->init.iDb = 0;
|
||||||
assert( rc!=SQLITE_OK || zErr==0 );
|
|
||||||
if( SQLITE_OK!=rc ){
|
if( SQLITE_OK!=rc ){
|
||||||
if( db->init.orphanTrigger ){
|
if( db->init.orphanTrigger ){
|
||||||
assert( iDb==1 );
|
assert( iDb==1 );
|
||||||
@@ -90,11 +90,11 @@ int sqlite3InitCallback(void *pInit, int argc, char **argv, char **NotUsed){
|
|||||||
if( rc==SQLITE_NOMEM ){
|
if( rc==SQLITE_NOMEM ){
|
||||||
db->mallocFailed = 1;
|
db->mallocFailed = 1;
|
||||||
}else if( rc!=SQLITE_INTERRUPT && rc!=SQLITE_LOCKED ){
|
}else if( rc!=SQLITE_INTERRUPT && rc!=SQLITE_LOCKED ){
|
||||||
corruptSchema(pData, argv[0], zErr);
|
corruptSchema(pData, argv[0], sqlite3_errmsg(db));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sqlite3DbFree(db, zErr);
|
|
||||||
}
|
}
|
||||||
|
sqlite3_finalize(pStmt);
|
||||||
}else if( argv[0]==0 ){
|
}else if( argv[0]==0 ){
|
||||||
corruptSchema(pData, 0, 0);
|
corruptSchema(pData, 0, 0);
|
||||||
}else{
|
}else{
|
||||||
|
|||||||
Reference in New Issue
Block a user