SQLite

View Ticket
Login
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: (text/x-fossil-wiki)
The following script causes an assertion fault on all prior versions of
SQLite that support partial indices:

<blockquote><verbatim>
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;
</verbatim></blockquote>

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.