Hi,

We found some assertion bugs in sqlite:
#1
—
CREATE TABLE v0 ( v1 INTEGER PRIMARY KEY UNIQUE ) ; 
INSERT INTO v0 VALUES ( 10 ) ON CONFLICT DO NOTHING ; 
SELECT * FROM v0 NATURAL JOIN v0 AS y WHERE v1 IN ( SELECT DISTINCT v1 FROM v0 
ORDER BY v1 );

sqlite3.c:100324: Select *isCandidateForInOpt(Expr *): Assertion 
`p->pGroupBy==0' failed.
— 

This bug exists in the development code and release code.
#2
—
CREATE TABLE v0 ( v1 TEXT , v2 ) ; 
CREATE TABLE v3 ( v4 , v5 ) ; 
CREATE TABLE v6 ( v7 , v8 ) ; 
INSERT INTO v0 VALUES ( 10 , 2 ) ; 
INSERT INTO v6 VALUES ( 10 , 1 ) ; 
CREATE VIRTUAL TABLE v9 USING rtree ( v12 , v11 , v10 INTEGER UNIQUE ON 
CONFLICT IGNORE AS( v8 ) CHECK( v2 ) ) ; 
SELECT v4 , max ( v4 + v5 ) FROM v6 , v3 AS t ; 
CREATE TABLE v13 ( v15 INTEGER PRIMARY KEY , v14 INT ) ;
 INSERT INTO v0 ( v1 ) VALUES ( 2 ) ,( 10 ) ;
 SELECT * FROM v6 LEFT JOIN v9 ON v12 = 0 OR v11 = 10 WHERE v10 = v11 AND v11 = 
10 ;

(sqlite3.c:141119: Bitmask sqlite3WhereCodeOneLoopStart(Parse *, Vdbe *, 
WhereInfo *, int, WhereLevel *, Bitmask): Assertion `(pTerm->prereqRight & 
pLevel->notReady)!=0' failed.)
—
This bug exists in the development code.

#3
—
CREATE TABLE v0 ( v1 CHAR(2) UNIQUE PRIMARY KEY ON CONFLICT ROLLBACK ) ; 
CREATE TABLE v2 ( v3 INT ) ; 
CREATE INDEX v4 ON v0 ( v1 , v1 , v1 , v1 , v1 , v1 , v1 , v1 , v1 , v1 , v1 , 
v1 , v1 , v1 , v1 , v1 ) ;
ANALYZE ; 
SELECT * FROM v2 LEFT JOIN v0 ON v1 = 0 WHERE ( v1 = 'MED P' OR v1 = 'DELIVER 
IN PERSON' ) AND v1 IS NOT NULL ;

(Bitmask sqlite3WhereCodeOneLoopStart(Parse *, Vdbe *, WhereInfo *, int, 
WhereLevel *, Bitmask): Assertion `(pTabItem[0].fg.jointype & JT_LEFT)==0 || 
ExprHasProperty(pOrExpr, EP_FromJoin)’)
—
This bug exists in the development code.


Yongheng & Rui

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to