SQLite

View Ticket
Login
Ticket Hash: d2889096e7bdeac6d2608a8040a0b67f28da6e75
Title: Problem with rtree tables with IN() operators or as the inner loop of a join.
Status: Fixed Type: Code_Defect
Severity: Critical Priority: Immediate
Subsystem: Unknown Resolution: Fixed
Last Modified: 2014-07-29 12:53:17
Version Found In: 3.8.5
User Comments:
dan added on 2014-07-29 11:15:09:

The following script returns a single row:

  CREATE VIRTUAL TABLE t3 USING rtree(Pid, xmin, xmax);   
  INSERT INTO t3 VALUES(1,0,0);       
  INSERT INTO t3 VALUES(2,0,0);            
  SELECT * FROM t3 WHERE Pid IN (1, 2);

But should return two. Introduced by [af2cbe64adab5f9e].

Bug first appeared in 3.8.5.


dan added on 2014-07-29 11:18:12:

Or the same problem using a join:

WITH r(x) AS (
  SELECT 1 UNION ALL
  SELECT 2 UNION ALL
  SELECT 3
)
SELECT * FROM r CROSS JOIN t3 WHERE Pid=x;