SQLite

View Ticket
Login
2014-04-13
19:28 Fixed ticket [2ea3e9fe]: Partial index causes assertion fault on UPDATE OR REPLACE plus 5 other changes (artifact: 50c5235f user: drh)
19:15
Make sure column cache elements are cleared correctly when jumping over code for key generation in a partial index. Fix for ticket [2ea3e9fe6379fc3f6]. (check-in: 3122b836 user: drh tags: trunk)
16:24 New ticket [2ea3e9fe] Partial index causes assertion fault on UPDATE OR REPLACE. (artifact: aee89fa1 user: drh)

Ticket Hash: 2ea3e9fe6379fc3f6ce7e090ce483c1a3a80d6c9
Title: Partial index causes assertion fault on UPDATE OR REPLACE
Status: Fixed Type: Code_Defect
Severity: Severe Priority: Immediate
Subsystem: Unknown Resolution: Fixed
Last Modified: 2014-04-13 19:28:14
Version Found In: 3.8.4.3
User Comments:
drh added on 2014-04-13 16:24:31:

The following script causes an assertion fault on all prior versions of SQLite that support partial indices:

CREATE TABLE t1(a,b);
CREATE UNIQUE INDEX t1ab ON t1(a,b);
CREATE INDEX t1b ON t1(b) WHERE b=1;
INSERT INTO t1(a,b) VALUES(123,456);
UPDATE OR REPLACE t1 SET b=789;

This bug was introduced with the addition of partial index support by check-in [478113f18b1d2860] on 2013-08-02 for SQLite version 3.8.0.