SQLite

Ticket Change Details
Login
Overview

Artifact ID: 302b34f77faf7ee5a95c45e5ad960f0d11247240595563f1dd05a0f63a01d710
Ticket: 7f39060a24b47353b9343db9c214e3727f8c698b
LEFT JOIN malfunctions with partial ISNULL index
User & Date: mrigger 2019-11-30 17:51:24
Changes

  1. foundin changed to: "3.30.0"
  2. icomment:
    Consider the following test case:
    
    <pre>
    CREATE TABLE t0(c0);
    CREATE TABLE t1(c0);
    CREATE INDEX i0 ON t0(1) WHERE c0 ISNULL;
    INSERT INTO t0(c0) VALUES (1);
    INSERT INTO t1(c0) VALUES (1);
    SELECT * FROM t1 LEFT JOIN t0 WHERE t0.c0 ISNULL; -- unexpected: row is fetched
    </pre>
    
    Unexpectedly, a row is fetched. It is not fetched when the index is omitted and the following statement indicates that t0.c0 ISNULL should evaluate to false:
    
    <pre>
    SELECT t0.c0 ISNULL FROM t1 LEFT JOIN t0; -- 0
    </pre>
    
  3. login: "mrigger"
  4. mimetype: "text/x-fossil-wiki"
  5. severity changed to: "Critical"
  6. status changed to: "Open"
  7. title changed to: "LEFT JOIN malfunctions with partial ISNULL index"
  8. type changed to: "Code_Defect"