Using SQLite version 3.7.17 2013-05-20 00:56:22
If I have the table
CREATE Temporary TABLE "TestTable" (
"text1" TEXT,
"text2" TEXT,
"value" Integer,
PRIMARY KEY ("text1", "text2") );
with the following data
INSERT INTO TestTable VALUES('abc','d',0);
INSERT INTO TestTable VALUES('abc','e',0);
INSERT INTO TestTable VALUES('abc','f',0);
INSERT INTO TestTable VALUES('abc','g',1);
text1 text2 value
---------- ---------- ----------
abc d 0
abc e 0
abc f 0
abc g 1
and I create a view as follows
CREATE Temporary VIEW Test as
Select T.*, Int2
FROM TestTable T Left Join (
Select f.text1, f.text2, f.value as Int2
FROM TestTable f
) MS on T.text1 = MS.text1 and T.text2 = MS.text2 ;
text1 text2 value Int2
---------- ---------- ---------- ----------
abc d 0 0
abc e 0 0
abc f 0 0
abc g 1 1
if I do the following queries
Select * FROM Test
WHERE (Int2 = 1 OR Int2 is NULL)
ORDER BY text2;
I get
text1 text2 value Int2
---------- ---------- ---------- ----------
abc d 0
abc e 0
abc f 0
abc g 1 1
whereas doing nearly the same query but changing the ORDER BY clause I get
a different number of rows
Select * FROM Test
WHERE (Int2 = 1 OR Int2 is NULL)
ORDER BY text1;
text1 text2 value Int2
---------- ---------- ---------- ----------
abc g 1 1
In versions of sqlite3 before and including SQLite version 3.7.14.1
2012-10-04 19:37:12, these queries gave the same resulting rows is this a
bug?
I tested the follow versions of sqlite3
SQLite version 3.7.17 2013-05-20 00:56:22
SQLite version 3.7.16.2 2013-04-12 11:52:43
SQLite version 3.7.15.2 2013-01-09 11:53:05
SQLite version 3.7.14.1 2012-10-04 19:37:12
SQLite version 3.7.12 2012-04-03 19:43:07 (included with Mac OSX 10.8.3)
I using Mac OSX 10.8.3 with 2.3 GHz Intel Core i7 processes and 16 GB
1600 MHz DDR3 RAM
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users