SQLite

View Ticket
Login
Ticket Hash: 3b84b42943644d6f51043847f1beb3451f7797eb
Title: LEFT JOIN malfunctions with generated column
Status: Fixed Type: Code_Defect
Severity: Important Priority: Immediate
Subsystem: Unknown Resolution: Fixed
Last Modified: 2019-12-16 16:52:49
Version Found In: 3.30.0
User Comments:
mrigger added on 2019-12-16 12:59:15: (text/x-fossil-wiki)
Consider the following test case:

<pre>
CREATE TABLE t0(c0);
CREATE TABLE t1(c0, c1 AS(1));
INSERT INTO t0 VALUES(0);
SELECT t1.c1 IS TRUE FROM t0 LEFT JOIN t1; -- expected: 0, actual: 1
</pre>

Unexpectedly, the query evaluates to 1. It should evaluate to 0, because t1 does not contain any rows. This is also reflected by the following query, which does not fetch any rows:

<pre>
SELECT * FROM t0 LEFT JOIN t1 WHERE t1.c1;
</pre>