mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-11 01:42:22 +03:00
Create the sqlite3IsToplevel(Parse*) interface to check to see if a top-level
VDBE is being coded (versus a trigger) and use that interface. FossilOrigin-Name: 59662cd2b65255a30e1a420331c07c51b644621a
This commit is contained in:
18
manifest
18
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Fix\scompiler\swarnings.
|
C Create\sthe\ssqlite3IsToplevel(Parse*)\sinterface\sto\scheck\sto\ssee\sif\sa\stop-level\nVDBE\sis\sbeing\scoded\s(versus\sa\strigger)\sand\suse\sthat\sinterface.
|
||||||
D 2015-09-29T12:32:56.672
|
D 2015-09-29T13:25:15.973
|
||||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||||
F Makefile.in 2143eeef6d0cc26006ae5fc4bb242a4a8b973412
|
F Makefile.in 2143eeef6d0cc26006ae5fc4bb242a4a8b973412
|
||||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||||
@@ -291,7 +291,7 @@ F src/complete.c addcd8160b081131005d5bc2d34adf20c1c5c92f
|
|||||||
F src/ctime.c 5a0b735dc95604766f5dac73973658eef782ee8b
|
F src/ctime.c 5a0b735dc95604766f5dac73973658eef782ee8b
|
||||||
F src/date.c fb1c99172017dcc8e237339132c91a21a0788584
|
F src/date.c fb1c99172017dcc8e237339132c91a21a0788584
|
||||||
F src/dbstat.c e637e7a7ff40ef32132a418c6fdf1cfb63aa27c7
|
F src/dbstat.c e637e7a7ff40ef32132a418c6fdf1cfb63aa27c7
|
||||||
F src/delete.c 174b140317915e0e8c6e2eff28158eecf95c53d8
|
F src/delete.c 46bb5e217f83af68574ccb613421485578c41ba8
|
||||||
F src/expr.c 3a76afcdac925294c39903b7002ddb9e5fd29863
|
F src/expr.c 3a76afcdac925294c39903b7002ddb9e5fd29863
|
||||||
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
|
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
|
||||||
F src/fkey.c 83e1baba999bed3144ea5a2143fc922edf51135f
|
F src/fkey.c 83e1baba999bed3144ea5a2143fc922edf51135f
|
||||||
@@ -300,7 +300,7 @@ F src/global.c 508e4087f7b41d688e4762dcf4d4fe28cfbc87f9
|
|||||||
F src/hash.c 4263fbc955f26c2e8cdc0cf214bc42435aa4e4f5
|
F src/hash.c 4263fbc955f26c2e8cdc0cf214bc42435aa4e4f5
|
||||||
F src/hash.h c8f3c31722cf3277d03713909761e152a5b81094
|
F src/hash.h c8f3c31722cf3277d03713909761e152a5b81094
|
||||||
F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
|
F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
|
||||||
F src/insert.c 9748a37e058256eb2ead69f028ab85ebf203ad15
|
F src/insert.c 81d6bf397c05b4e8ddc4af2ff6637c113ee7e37a
|
||||||
F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d
|
F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d
|
||||||
F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
|
F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
|
||||||
F src/lempar.c d344a95d60c24e2f490ee59db9784b1b17439012
|
F src/lempar.c d344a95d60c24e2f490ee59db9784b1b17439012
|
||||||
@@ -345,7 +345,7 @@ F src/shell.c a11b20da4c6630e0e8f83c47ce36f717dd0422f0
|
|||||||
F src/sqlite.h.in 4b76d74d69af48c534c58fb723137dc6944bdedc
|
F src/sqlite.h.in 4b76d74d69af48c534c58fb723137dc6944bdedc
|
||||||
F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
|
F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
|
||||||
F src/sqlite3ext.h 64350bf36833a56ad675e27392a913f417c5c308
|
F src/sqlite3ext.h 64350bf36833a56ad675e27392a913f417c5c308
|
||||||
F src/sqliteInt.h 5afc6e50402be1e0a870f28e1cd8b32eb9db590f
|
F src/sqliteInt.h b6516bb2727876348b4e05aadd12237797626270
|
||||||
F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46
|
F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46
|
||||||
F src/status.c f266ad8a2892d659b74f0f50cb6a88b6e7c12179
|
F src/status.c f266ad8a2892d659b74f0f50cb6a88b6e7c12179
|
||||||
F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e
|
F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e
|
||||||
@@ -399,7 +399,7 @@ F src/threads.c bbfb74450643cb5372a43ad4f6cffd7e9dfcecb0
|
|||||||
F src/tokenize.c 83c6ed569423a3af83a83973b444cf7123be33a6
|
F src/tokenize.c 83c6ed569423a3af83a83973b444cf7123be33a6
|
||||||
F src/treeview.c 154f0acc622fa3514de8777dcedf4c8a8802b4ce
|
F src/treeview.c 154f0acc622fa3514de8777dcedf4c8a8802b4ce
|
||||||
F src/trigger.c 322f23aad694e8f31d384dcfa386d52a48d3c52f
|
F src/trigger.c 322f23aad694e8f31d384dcfa386d52a48d3c52f
|
||||||
F src/update.c e0169d20524cf3663c9c6d952e61baf3c03ae797
|
F src/update.c d8f0afe1a1c66b97cbd87e5236f4e71d35ab4840
|
||||||
F src/utf.c fc6b889ba0779b7722634cdeaa25f1930d93820c
|
F src/utf.c fc6b889ba0779b7722634cdeaa25f1930d93820c
|
||||||
F src/util.c fc612367108b74573c5fd13a85d0a23027f438bd
|
F src/util.c fc612367108b74573c5fd13a85d0a23027f438bd
|
||||||
F src/vacuum.c 2ddd5cad2a7b9cef7f9e431b8c7771634c6b1701
|
F src/vacuum.c 2ddd5cad2a7b9cef7f9e431b8c7771634c6b1701
|
||||||
@@ -1389,7 +1389,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
|
|||||||
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
||||||
F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
|
F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
|
||||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||||
P b519c0d67a8fc39d65c17eccc9300a6187bd5661
|
P d1a0783854d2e9272320d9ddfa58362532f58d1a
|
||||||
R 3b0dc7b7710e7cf4f943bdd9f5967b17
|
R a4e26d59514db031d207946929f0dada
|
||||||
U drh
|
U drh
|
||||||
Z 7521a63b646e7d2736834b9d13be676e
|
Z ab43f3a6d7f071ac781590ae89cc31de
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
d1a0783854d2e9272320d9ddfa58362532f58d1a
|
59662cd2b65255a30e1a420331c07c51b644621a
|
||||||
@@ -518,7 +518,7 @@ void sqlite3DeleteFrom(
|
|||||||
sqlite3VdbeChangeP5(v, OE_Abort);
|
sqlite3VdbeChangeP5(v, OE_Abort);
|
||||||
assert( eOnePass==ONEPASS_OFF || eOnePass==ONEPASS_SINGLE );
|
assert( eOnePass==ONEPASS_OFF || eOnePass==ONEPASS_SINGLE );
|
||||||
sqlite3MayAbort(pParse);
|
sqlite3MayAbort(pParse);
|
||||||
if( eOnePass==ONEPASS_SINGLE && pParse==sqlite3ParseToplevel(pParse) ){
|
if( eOnePass==ONEPASS_SINGLE && sqlite3IsToplevel(pParse) ){
|
||||||
pParse->isMultiWrite = 0;
|
pParse->isMultiWrite = 0;
|
||||||
}
|
}
|
||||||
}else
|
}else
|
||||||
|
|||||||
@@ -260,7 +260,7 @@ void sqlite3AutoincrementBegin(Parse *pParse){
|
|||||||
/* This routine is never called during trigger-generation. It is
|
/* This routine is never called during trigger-generation. It is
|
||||||
** only called from the top-level */
|
** only called from the top-level */
|
||||||
assert( pParse->pTriggerTab==0 );
|
assert( pParse->pTriggerTab==0 );
|
||||||
assert( pParse==sqlite3ParseToplevel(pParse) );
|
assert( sqlite3IsToplevel(pParse) );
|
||||||
|
|
||||||
assert( v ); /* We failed long ago if this is not so */
|
assert( v ); /* We failed long ago if this is not so */
|
||||||
for(p = pParse->pAinc; p; p = p->pNext){
|
for(p = pParse->pAinc; p; p = p->pNext){
|
||||||
|
|||||||
@@ -3504,6 +3504,7 @@ void sqlite3MaterializeView(Parse*, Table*, Expr*, int);
|
|||||||
void sqlite3UnlinkAndDeleteTrigger(sqlite3*,int,const char*);
|
void sqlite3UnlinkAndDeleteTrigger(sqlite3*,int,const char*);
|
||||||
u32 sqlite3TriggerColmask(Parse*,Trigger*,ExprList*,int,int,Table*,int);
|
u32 sqlite3TriggerColmask(Parse*,Trigger*,ExprList*,int,int,Table*,int);
|
||||||
# define sqlite3ParseToplevel(p) ((p)->pToplevel ? (p)->pToplevel : (p))
|
# define sqlite3ParseToplevel(p) ((p)->pToplevel ? (p)->pToplevel : (p))
|
||||||
|
# define sqlite3IsToplevel(p) ((p)->pToplevel==0)
|
||||||
#else
|
#else
|
||||||
# define sqlite3TriggersExist(B,C,D,E,F) 0
|
# define sqlite3TriggersExist(B,C,D,E,F) 0
|
||||||
# define sqlite3DeleteTrigger(A,B)
|
# define sqlite3DeleteTrigger(A,B)
|
||||||
@@ -3513,6 +3514,7 @@ void sqlite3MaterializeView(Parse*, Table*, Expr*, int);
|
|||||||
# define sqlite3CodeRowTriggerDirect(A,B,C,D,E,F)
|
# define sqlite3CodeRowTriggerDirect(A,B,C,D,E,F)
|
||||||
# define sqlite3TriggerList(X, Y) 0
|
# define sqlite3TriggerList(X, Y) 0
|
||||||
# define sqlite3ParseToplevel(p) p
|
# define sqlite3ParseToplevel(p) p
|
||||||
|
# define sqlite3IsToplevel(p) 1
|
||||||
# define sqlite3TriggerColmask(A,B,C,D,E,F,G) 0
|
# define sqlite3TriggerColmask(A,B,C,D,E,F,G) 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -764,7 +764,7 @@ static void updateVirtualTable(
|
|||||||
** above. Also, if this is a top-level parse (not a trigger), clear the
|
** above. Also, if this is a top-level parse (not a trigger), clear the
|
||||||
** multi-write flag so that the VM does not open a statement journal */
|
** multi-write flag so that the VM does not open a statement journal */
|
||||||
sqlite3VdbeChangeToNoop(v, addr);
|
sqlite3VdbeChangeToNoop(v, addr);
|
||||||
if( sqlite3ParseToplevel(pParse)==pParse ){
|
if( sqlite3IsToplevel(pParse) ){
|
||||||
pParse->isMultiWrite = 0;
|
pParse->isMultiWrite = 0;
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
|||||||
Reference in New Issue
Block a user