1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-11 01:42:22 +03:00

Fix a problem causing the pre-update hook to be invoked by DROP TABLE

statements.

FossilOrigin-Name: fbb6bf1b69cfd581b4ffd778c344e3fbd9c9406f
This commit is contained in:
dan
2017-01-27 17:02:26 +00:00
parent 9ec82ff2ba
commit 50133dea28
4 changed files with 18 additions and 14 deletions

View File

@@ -1,5 +1,5 @@
C Alternative\sICU\sfix\s(compare\sto\scheck-in\s[50e60cb4])\sthat\savoids\scasting\nintegers\sto\spointers.
D 2017-01-27T13:14:12.467
C Fix\sa\sproblem\scausing\sthe\spre-update\shook\sto\sbe\sinvoked\sby\sDROP\sTABLE\nstatements.
D 2017-01-27T17:02:26.115
F Makefile.in 5f415e7867296d678fed2e6779aea10c1318b4bc
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc b8ca53350ae545e3562403d5da2a69cec79308da
@@ -342,7 +342,7 @@ F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
F src/ctime.c 9f2296a4e5d26ebf0e0d95a0af4628f1ea694e7a
F src/date.c dc3f1391d9297f8c748132813aaffcb117090d6e
F src/dbstat.c 19ee7a4e89979d4df8e44cfac7a8f905ec89b77d
F src/delete.c 8a444fea8340989d6b1be2e122c55bfc61ce69be
F src/delete.c 0d9d5549d42e79ce4d82ff1db1e6c81e36d2f67c
F src/expr.c f06f41e5e5daca10fb090e70a2502dcc0dbc992b
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
F src/fkey.c 2e9aabe1aee76273aff8a84ee92c464e095400ae
@@ -832,7 +832,7 @@ F test/gcfault.test dd28c228a38976d6336a3fc42d7e5f1ad060cb8c
F test/genesis.tcl 1e2e2e8e5cc4058549a154ff1892fe5c9de19f98
F test/hexlit.test 4a6a5f46e3c65c4bf1fa06f5dd5a9507a5627751
F test/hidden.test 23c1393a79e846d68fd902d72c85d5e5dcf98711
F test/hook.test f6a48d33817f0ca1a39a4d6605fe7e9da8077522
F test/hook.test dbc0b87756e1e20e7497b56889c9e9cd2f8cc2b5
F test/icu.test 73956798bace8982909c00476b216714a6d0559a
F test/ieee754.test 806fc0ce7f305f57e3331eaceeddcfec9339e607
F test/imposter1.test c3f1db2d3db2c24611a6596a3fc0ffc14f1466c8
@@ -1547,7 +1547,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 58f02e6eae8fc9e2577fe435b0282fb46af3960d
R 4a4a07080dc840a599a4cd01566373f4
U drh
Z 816a99767333ba2de388be8cc7b0ed87
P d9752c8f7c55426fd7d2b877c5cc3784f93b5349
R 7c4166e1e335b0337f6f8b4996b52965
U dan
Z 241b65c68385a1329b03731baa61f118

View File

@@ -1 +1 @@
d9752c8f7c55426fd7d2b877c5cc3784f93b5349
fbb6bf1b69cfd581b4ffd778c344e3fbd9c9406f

View File

@@ -715,7 +715,9 @@ void sqlite3GenerateRowDelete(
u8 p5 = 0;
sqlite3GenerateRowIndexDelete(pParse, pTab, iDataCur, iIdxCur,0,iIdxNoSeek);
sqlite3VdbeAddOp2(v, OP_Delete, iDataCur, (count?OPFLAG_NCHANGE:0));
sqlite3VdbeAppendP4(v, (char*)pTab, P4_TABLE);
if( pParse->nested==0 ){
sqlite3VdbeAppendP4(v, (char*)pTab, P4_TABLE);
}
if( eMode!=ONEPASS_OFF ){
sqlite3VdbeChangeP5(v, OPFLAG_AUXDELETE);
}

View File

@@ -849,10 +849,12 @@ do_preupdate_test 7.6.4 {
}
# No preupdate callbacks for modifying sqlite_master.
do_preupdate_test 8.1 {
CREATE TABLE x1(x, y);
} {
}
do_preupdate_test 8.1 { CREATE TABLE x1(x, y); } { }
do_preupdate_test 8.2 { ALTER TABLE x1 ADD COLUMN z } { }
do_preupdate_test 8.3 { ALTER TABLE x1 RENAME TO y1 } { }
do_preupdate_test 8.4 { CREATE INDEX y1x ON y1(x) } { }
do_preupdate_test 8.5 { CREATE VIEW v1 AS SELECT * FROM y1 } { }
do_preupdate_test 8.6 { DROP TABLE y1 } { }
#-------------------------------------------------------------------------
reset_db