aboutsummaryrefslogtreecommitdiff
path: root/src/delete.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2019-11-02 13:32:50 +0000
committerdrh <drh@noemail.net>2019-11-02 13:32:50 +0000
commit39b30a7d6bfcf46cd24688006b1106c6ea313da2 (patch)
tree7d1f4638b794061635d31a674c2ce46941c23aca /src/delete.c
parent978256f3d8dc66152825fe4d4175994750b0fd68 (diff)
downloadsqlite-39b30a7d6bfcf46cd24688006b1106c6ea313da2.tar.gz
sqlite-39b30a7d6bfcf46cd24688006b1106c6ea313da2.zip
In sqlite3GenerateIndexKey(), do not attempt to reuse column values from
the previous index if the current index is a partial index as the partial index test may have corrupted those values. Ticket [a9efb42811fa41ee] FossilOrigin-Name: 17e9f65814264de9c35bc5ba94e0a66fbbf1200c00d33ab9a19a0b6f92bc685a
Diffstat (limited to 'src/delete.c')
-rw-r--r--src/delete.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/delete.c b/src/delete.c
index 3f9f398c4..a18026712 100644
--- a/src/delete.c
+++ b/src/delete.c
@@ -918,6 +918,8 @@ int sqlite3GenerateIndexKey(
sqlite3ExprIfFalseDup(pParse, pIdx->pPartIdxWhere, *piPartIdxLabel,
SQLITE_JUMPIFNULL);
pParse->iSelfTab = 0;
+ pPrior = 0; /* Ticket a9efb42811fa41ee 2019-11-02;
+ ** pPartIdxWhere may have corrupted regPrior registers */
}else{
*piPartIdxLabel = 0;
}