Fix a problem causing the pre-update hook to be passed an incorrect rowid
value in some single-pass multi-row updates. FossilOrigin-Name: 62257eb53c13d4c7ed128d5d89f6f10d4aff945c
This commit is contained in:
parent
2c6fec21dc
commit
e206ea7f48
12
manifest
12
manifest
@ -1,5 +1,5 @@
|
|||||||
C Fix\sa\sproblem\swith\ssingle-pass\smulti-row\sUPDATE\sstatements\sthat\sinvoke\sREPLACE\nconflict\shandling.
|
C Fix\sa\sproblem\scausing\sthe\spre-update\shook\sto\sbe\spassed\san\sincorrect\srowid\nvalue\sin\ssome\ssingle-pass\smulti-row\supdates.
|
||||||
D 2017-01-11T19:03:08.308
|
D 2017-01-11T20:10:30.712
|
||||||
F Makefile.in 41bd4cad981487345c4a84081074bcdb876e4b2e
|
F Makefile.in 41bd4cad981487345c4a84081074bcdb876e4b2e
|
||||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||||
F Makefile.msc b8ca53350ae545e3562403d5da2a69cec79308da
|
F Makefile.msc b8ca53350ae545e3562403d5da2a69cec79308da
|
||||||
@ -451,7 +451,7 @@ F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
|
|||||||
F src/tokenize.c 5c2f516876fc27fbd7753913f032f49eb89e83b5
|
F src/tokenize.c 5c2f516876fc27fbd7753913f032f49eb89e83b5
|
||||||
F src/treeview.c 4e44ade3bfe59d82005039f72e09333ce2b4162c
|
F src/treeview.c 4e44ade3bfe59d82005039f72e09333ce2b4162c
|
||||||
F src/trigger.c c9f0810043b265724fdb1bdd466894f984dfc182
|
F src/trigger.c c9f0810043b265724fdb1bdd466894f984dfc182
|
||||||
F src/update.c 4ed0fcccccd6488ee8a3bc02df10979b503f25d7
|
F src/update.c 715bbfe276c9d008482cdb0ecd86ff996dba3b6c
|
||||||
F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
|
F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
|
||||||
F src/util.c a88b0466fddf445ce752226d4698ca3faada620a
|
F src/util.c a88b0466fddf445ce752226d4698ca3faada620a
|
||||||
F src/vacuum.c 33c174b28886b2faf26e503b5a49a1c01a9b1c16
|
F src/vacuum.c 33c174b28886b2faf26e503b5a49a1c01a9b1c16
|
||||||
@ -1544,7 +1544,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 cab86c90945126c24c40cf2dedd053a8c46d00d6
|
P 0a2b8e1b9dc600b5a93622e8eea6218649df5e0f
|
||||||
R 91b60fc45aced248f038aee86694df0e
|
R d791ce37848d763756ad4c9c28aa682a
|
||||||
U dan
|
U dan
|
||||||
Z f69bdc261645bb06f02a001c239441ef
|
Z 064d431f5a23ac6118a97592b16afa49
|
||||||
|
@ -1 +1 @@
|
|||||||
0a2b8e1b9dc600b5a93622e8eea6218649df5e0f
|
62257eb53c13d4c7ed128d5d89f6f10d4aff945c
|
@ -643,6 +643,10 @@ void sqlite3Update(
|
|||||||
OPFLAG_ISUPDATE | ((hasFK || chngKey) ? 0 : OPFLAG_ISNOOP),
|
OPFLAG_ISUPDATE | ((hasFK || chngKey) ? 0 : OPFLAG_ISNOOP),
|
||||||
regNewRowid
|
regNewRowid
|
||||||
);
|
);
|
||||||
|
if( eOnePass==ONEPASS_MULTI ){
|
||||||
|
assert( hasFK==0 && chngKey==0 );
|
||||||
|
sqlite3VdbeChangeP5(v, OPFLAG_SAVEPOSITION);
|
||||||
|
}
|
||||||
if( !pParse->nested ){
|
if( !pParse->nested ){
|
||||||
sqlite3VdbeAppendP4(v, pTab, P4_TABLE);
|
sqlite3VdbeAppendP4(v, pTab, P4_TABLE);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user