SQLite

Ticket Change Details
Login
Overview

Artifact ID: 0e79b53b9999d83332cdf4657481f286b9dca55ff154db9cf61e76286bd3703d
Ticket: 47b2581aa9bfececa7d95b2ef2aa433418c7a583
Infinite loop on UPDATE
User & Date: drh 2018-01-16 12:54:28
Changes

  1. foundin changed to: "3.21.0"
  2. icomment:
    The UPDATE at the end of the following sequence of SQL statements enters
    an infinite loop.
    
    <blockquote><verbatim>
    CREATE TABLE t1(a,b);
    CREATE INDEX t1b ON t1(a);
    CREATE INDEX t1c ON t1(b);
    INSERT INTO t1 VALUES(1,2);
    UPDATE t1 SET a = a+2 WHERE a>0 OR b>0;
    </verbatim></blockquote>
    
    Bisecting shows that this problem was introduced by the single-pass update
    optimization of check-in [7ae6104a3e0d1d2] on 2017-01-11 and first released
    with version 3.17.0.  The problem was discovered by Harald Klimach and 
    reported on the SQLite mailing list.
    
  3. login: "drh"
  4. mimetype: "text/x-fossil-wiki"
  5. severity changed to: "Severe"
  6. status changed to: "Open"
  7. title changed to: "Infinite loop on UPDATE"
  8. type changed to: "Code_Defect"