New issue
Advanced search Search tips

Issue 916478 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: Jan 12
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

ASSERT: (pLoop->wsFlags & WHERE_IDX_ONLY)==0 || x>=0 || pWInfo->eOnePass

Project Member Reported by ClusterFuzz, Dec 19

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=6046912605847552

Fuzzer: libFuzzer_sqlite3_lpm_fuzzer
Fuzz target binary: sqlite3_lpm_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

Crash Type: ASSERT
Crash Address: 
Crash State:
  (pLoop->wsFlags & WHERE_IDX_ONLY)==0 || x>=0 || pWInfo->eOnePass
  sqlite3WhereEnd
  fkScanChildren
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=615337:615339

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6046912605847552

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for instructions to reproduce this bug locally.
 
Project Member

Comment 1 by ClusterFuzz, Dec 19

Components: Internals>Storage
Labels: Test-Predator-Auto-Components
Automatically applying components based on crash stacktrace and information from OWNERS files.

If this is incorrect, please apply the Test-Predator-Wrong-Components label.
Project Member

Comment 2 by ClusterFuzz, Dec 19

Cc: mpdenton@chromium.org
Labels: ClusterFuzz-Auto-CC
Automatically adding ccs based on OWNERS file / target commit history.

If this is incorrect, please add ClusterFuzz-Wrong label.
Project Member

Comment 3 by ClusterFuzz, Dec 19

Labels: Test-Predator-Auto-Owner
Owner: mpdenton@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/7d3def8575ecd2e5e2e7ab7f585961206007bd25 (Adds LPM-based SQLite fuzzer).

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label. If you aren't the correct owner for this issue, please unassign yourself as soon as possible so it can be re-triaged.
Cc: drhsql...@gmail.com
Owner: pwnall@chromium.org
I don't think this is in our patches, CC'ing Dr. Hipp. Here's the test-case, sorry it's quite long:
CREATE TABLE Table0 (Col0 DEFAULT 1  NOT NULL   DEFAULT 1  DEFAULT 1  REFERENCES Table0(rowid) MATCH PARTIAL  CONSTRAINT ColConstraint0 DEFAULT (1)  PRIMARY KEY ASC ON CONFLICT ABORT  NOT NULL   , rowid NUMERIC  UNIQUE ON CONFLICT FAIL  , CHECK(1) , CHECK(CASE WHEN 1 THEN 1 ELSE 1 END )  ) WITHOUT ROWID ;
ANALYZE Schema0;
UPDATE Table0   SET SET Col0 = 1 ;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
INSERT INTO Table0 VALUES (1)  ;
VACUUM main;
BEGIN IMMEDIATE TRANSACTION;
VACUUM main;
VACUUM Schema0;
ANALYZE Schema0;
VACUUM main;
DELETE FROM Table0  WHERE Col0 = 1  ;
VACUUM main;
VACUUM main;
CREATE INDEX Schema0.Index0 ON Table0(Col0  );
VACUUM main;
CREATE TRIGGER IF NOT EXISTS Trigger0 AFTER DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM main;
VACUUM;
VACUUM main;
ANALYZE Schema0;
DROP VIEW View0;
WITH Table0 AS (SELECT * )    UPDATE Table0   SET SET Col0 = 1 ;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN SELECT DISTINCT * LIMIT 1 , 1 ; END;
INSERT INTO Table0 VALUES (1), (1)  ;
CREATE INDEX Index0 ON Table0(Col0  );
CREATE TRIGGER Trigger0 INSERT ON Table0 BEGIN DELETE FROM Table0   ; END;
WITH Table0 AS (SELECT DISTINCT * )  Table0(Col0) AS (SELECT DISTINCT * )    SELECT DISTINCT * ;
VACUUM Schema0;
INSERT OR REPLACE INTO Table0 DEFAULT VALUES  ;
CREATE VIRTUAL TABLE Table0 USING fts3();
VACUUM main;
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
CREATE TEMP TABLE IF NOT EXISTS Table0 (Col0 ) ;
DELETE FROM Table4   ;
ANALYZE Table0;
VACUUM main;
WITH Table0 AS (SELECT * )    UPDATE Table0   SET SET Col0 = 1 ;
DROP INDEX Index0;
DELETE FROM Table4   ;
ATTACH DATABASE '' AS Schema0;
ANALYZE Schema0;
CREATE UNIQUE INDEX Schema0.Index0 ON Table0(1  );
CREATE VIRTUAL TABLE Table0 USING fts3();
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM main;
VACUUM main;
VACUUM main;
ANALYZE Schema0;
CREATE TEMP TABLE Table0 (Col0 ) ;
VACUUM main;
INSERT INTO Table0 VALUES (1), (1)  ;
ANALYZE temp;
VACUUM main;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM main;
CREATE INDEX Index0 ON Table0(Col0  )WHERE Col0 || 1 ;
CREATE TABLE Table0 (Col0 ) ;
CREATE VIRTUAL TABLE temp.Table0 USING fts3();
CREATE VIRTUAL TABLE Table0 USING fts3();
DELETE FROM Table0  WHERE 1  ;
ANALYZE Schema0;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM main;
WITH RECURSIVE Table0(Col0) AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
END;
VACUUM main;
VACUUM main;
CREATE INDEX Index0 ON Table0(Col0  );
ANALYZE;
VACUUM;
CREATE VIRTUAL TABLE IF NOT EXISTS Table0 USING fts3(tokenize=simple);
VACUUM main;
ANALYZE Schema0.Table0;
WITH Table0 AS (SELECT * )    UPDATE Table0   SET SET Col0 = 1 ;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
VACUUM main;
VACUUM temp;
VACUUM main;
ANALYZE;
CREATE TRIGGER Trigger0 DELETE ON Table0 WHEN Col0 || 1 BEGIN DELETE FROM Table4   ; END;
VACUUM;
VACUUM main;
INSERT INTO Table0 VALUES ('�')  ;
VACUUM main;
VACUUM;
CREATE TEMPORARY VIEW View0 (rowid) SELECT DISTINCT * ;
INSERT INTO Table0 VALUES (1), (1)  ;
VACUUM;
VACUUM main;
ANALYZE Schema0;
INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
CREATE INDEX Index0 ON Table0(Col0  )WHERE changes()  ;
CREATE VIRTUAL TABLE Table0 USING fts3();
VACUUM main;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
ANALYZE Table0;
CREATE TABLE Table0 (Col0 BLOB(0)  ) ;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
VACUUM main;
VACUUM main;
WITH Table0 AS (SELECT DISTINCT * )    UPDATE Table0  INDEXED BY Index0  SET SET Col0 = 1 ;
DELETE FROM Table0  WHERE Col0 = 1  ;
VACUUM Schema2;
VACUUM main;
VACUUM main;
DELETE FROM Table0   ;
CREATE TEMP TABLE Table0 (Col0 ) ;
VACUUM Schema0;
VACUUM main;
VACUUM;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    UPDATE Table0 AS Table0   SET SET Col0 = 1 ;
CREATE INDEX IF NOT EXISTS Index0 ON Table0(Col0  )WHERE Col0 = 1 ;
DELETE FROM Table0  WHERE '�m%�	'  ;
CREATE TEMPORARY TRIGGER Trigger0 DELETE ON Table0 BEGIN SELECT DISTINCT * LIMIT 32 ; END;
VACUUM;
WITH Table0 AS (SELECT DISTINCT 1  )    UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
ANALYZE Schema0.Table0;
CREATE TABLE main.Table0 (Col0 , PRIMARY KEY(1  )   ) WITHOUT ROWID ;
ANALYZE Schema0;
CREATE VIRTUAL TABLE IF NOT EXISTS Table0 USING fts3();
BEGIN EXCLUSIVE TRANSACTION;
WITH Table0(Col0) AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM main;
VACUUM main;
CREATE VIEW View0 SELECT DISTINCT * FROM Table0    ;
CREATE INDEX IF NOT EXISTS Index0 ON Table0(Col0 COLLATE BINARY  );
WITH Table0 AS (SELECT DISTINCT * UNION SELECT DISTINCT *  )    INSERT INTO Table0 AS Table2 DEFAULT VALUES ;
WITH Table0 AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM main;
DETACH DATABASE Schema0;
CREATE TEMPORARY VIEW View0 SELECT DISTINCT * ;
SELECT DISTINCT * GROUP BY 1, 549755813888  ;
VACUUM main;
CREATE TABLE Table0 (Col0 ) ;
VACUUM;
VACUUM main;
ALTER TABLE Table0RENAME TO Table0;
VACUUM main;
VACUUM main;
VACUUM main;
CREATE UNIQUE INDEX Index0 ON Table0(Col0 COLLATE RTRIM  );
CREATE INDEX Index0 ON Table0(TRUE  );
INSERT INTO Table0 VALUES (1)  ;
VACUUM main;
VACUUM main;
VACUUM main;
CREATE TABLE Table0 (Col0 BLOB  , PRIMARY KEY(1  )   ) WITHOUT ROWID ;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
CREATE TEMPORARY TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0  WHERE Col0 = 1  ; END;
VACUUM;
VACUUM main;
VACUUM;
ANALYZE Schema0;
VACUUM main;
VACUUM main;
UPDATE Table0   SET SET Col0 = 1 ;
DELETE FROM Table0   ;
CREATE TABLE IF NOT EXISTS Table0 (Col0 ) ;
VACUUM main;
CREATE TEMP TABLE Table0 (Col0 ) ;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0  WHERE Col0 % 1  ; END;
DELETE FROM Table7   ;
VACUUM Schema0;
CREATE UNIQUE INDEX Index0 ON Table0(1  , Col0 COLLATE NOCASE  );
CREATE INDEX Index0 ON Table0(38654705664  );
VACUUM main;
VACUUM Schema0;
VACUUM;
VACUUM Schema0;
VACUUM main;
ANALYZE Table0;
ANALYZE Schema0;
CREATE TEMP TABLE Table0 (Col0 ) ;
VACUUM;
CREATE TEMP TABLE Table0 (Col0 ) ;
WITH Table0 AS (SELECT DISTINCT * GROUP BY 1  )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
WITH Table0(Col0) AS (SELECT DISTINCT 1 , * )    UPDATE Table0   SET SET Col0 = 1 ;
ATTACH DATABASE '' AS Schema0;
VACUUM temp;
VACUUM main;
DELETE FROM Table4   ;
VACUUM main;
ANALYZE Schema0;
CREATE TRIGGER Trigger0 INSERT ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM Schema0;
VACUUM main;
CREATE INDEX Index0 ON Table0(1  );
VACUUM main;
DELETE FROM Table0   ;
CREATE VIRTUAL TABLE Table0 USING fts3();
CREATE INDEX Index0 ON Table0(Col0  );
WITH Table0 AS (SELECT DISTINCT 1 Col0  )    UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
VACUUM main;
WITH Table0(Col0) AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
CREATE INDEX Index0 ON Table0(Col0  );
VACUUM main;
WITH Table0 AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
ANALYZE Schema0;
VACUUM main;
ANALYZE Schema0;
VACUUM main;
VACUUM main;
ANALYZE Schema0;
CREATE TABLE Table0 (Col0 , CONSTRAINT TableConstraint0 CHECK(1) ) ;
WITH Table0 AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
ANALYZE Table0;
DELETE FROM Table0  WHERE Col0 = 1  ;
ANALYZE Index7;
WITH Table0 AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
WITH Table0(Col0) AS (SELECT DISTINCT * )    INSERT INTO Table0 (Col0, Col0, Col0, Col0) DEFAULT VALUES ;
VACUUM;
DROP VIEW IF EXISTS View1;
WITH Table0 AS (SELECT ALL * )    INSERT OR ROLLBACK INTO Table0 AS Table0 DEFAULT VALUES ;
CREATE TABLE Table0 (Col0 ) ;
DELETE FROM Table0  WHERE 1  ;
INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
ANALYZE temp;
WITH Table0 AS (SELECT DISTINCT 1  )    UPDATE Table0   SET SET Col0 = 1 ;
DETACH DATABASE temp;
ANALYZE Schema0;
INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
CREATE VIRTUAL TABLE Table0 USING fts3();
INSERT INTO Table0 DEFAULT VALUES ;
INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
ANALYZE Schema0;
ANALYZE;
ANALYZE Schema0;
VACUUM Schema0;
VACUUM main;
VACUUM main;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
INSERT INTO Table0 VALUES (1), (1)  ;
ANALYZE Schema0.Table0;
DROP INDEX Index9;
CREATE TEMP TRIGGER IF NOT EXISTS Trigger0 AFTER DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
CREATE INDEX Index8 ON Table0(Col0  );
VACUUM main;
VACUUM main;
BEGIN TRANSACTION;
CREATE INDEX Index0 ON Table4(TRUE  );
CREATE INDEX IF NOT EXISTS Index0 ON Table0(Col0  , Col0  );
VACUUM;
CREATE TRIGGER Trigger6 DELETE ON Table0 FOR EACH ROW BEGIN DELETE FROM Table0   ; END;
CREATE VIEW View0 (Col0, Col0) WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    SELECT DISTINCT * ;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
VACUUM main;
INSERT INTO Table0 DEFAULT VALUES ;
VACUUM;
ANALYZE Schema0;
VACUUM main;
VACUUM main;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0, Col0 = 1 ;
INSERT INTO Table0 DEFAULT VALUES ;
WITH Table0(Col0) AS (SELECT DISTINCT *, 1 Col0  )    UPDATE Table0   SET SET Col0 = 1 ;
CREATE INDEX Index0 ON Table0(Col0  );
VACUUM;
VACUUM;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM main;
VACUUM Schema0;
ANALYZE Schema0;
CREATE INDEX Index0 ON Table0(Col0  );
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
VACUUM main;
DELETE FROM Table0  WHERE 1  ;
ANALYZE main;
VACUUM main;
CREATE UNIQUE INDEX IF NOT EXISTS Index0 ON Table0(Col0  , Col0 COLLATE NOCASE  );
CREATE TEMP TABLE Table0 (Col0 ) ;
VACUUM Schema0;
DELETE FROM Table0   ;
DELETE FROM Table0  INDEXED BY Index2  ;
VACUUM;
CREATE VIEW View0 WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    SELECT DISTINCT * ;
INSERT INTO Table0 DEFAULT VALUES ;
UPDATE Table0   SET SET Col0 = 1 ;
ANALYZE Schema0;
VACUUM main;
INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
CREATE TEMP TABLE Table0 (Col0 ) ;
CREATE VIRTUAL TABLE Table0 USING fts3();
BEGIN IMMEDIATE TRANSACTION;
CREATE TRIGGER IF NOT EXISTS Trigger0 DELETE ON Table0 BEGIN SELECT DISTINCT * ; END;
VACUUM main;
VACUUM;
DELETE FROM Table0  WHERE 1  ;
ANALYZE;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
ALTER TABLE Table0RENAME TO Table0;
WITH Table0(rowid, Col0, Col0) AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
DELETE FROM Table0   ;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
END TRANSACTION;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
CREATE TEMP TABLE Table0 (Col0 CONSTRAINT ColConstraint1 DEFAULT 1  ) ;
VACUUM main;
ANALYZE Schema0.Table0;
VACUUM main;
VACUUM main;
ROLLBACK TRANSACTION;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM;
VACUUM main;
DELETE FROM Table0   ;
VACUUM main;
VACUUM;
ANALYZE main;
VACUUM main;
ANALYZE Index7;
CREATE VIRTUAL TABLE Table0 USING fts3();
DELETE FROM Table0  INDEXED BY Index2  ;
ANALYZE Schema0;
WITH Table0(Col0) AS (SELECT DISTINCT 1 Col0 , 1 Col0 , 1  UNION VALUES (x'3a')  )    UPDATE Table0   SET SET Col0 = 1 ;
DELETE FROM Table0  WHERE 1  ;
CREATE TRIGGER IF NOT EXISTS Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
ANALYZE Schema0;
VACUUM main;
VACUUM main;
VACUUM Schema0;
BEGIN DEFERRED TRANSACTION;
WITH Table0(Col0) AS (SELECT DISTINCT * )    UPDATE temp.Table0  INDEXED BY Index0  SET SET Col0 = 1 ;
VACUUM main;
WITH Table0(Col0) AS (SELECT DISTINCT * )    INSERT INTO Table0 (Col0, Col0, Col0, Col0) DEFAULT VALUES ;
CREATE VIRTUAL TABLE Table0 USING fts3();
DELETE FROM Table0  WHERE '�m%�	'  ;
VACUUM main;
CREATE TABLE Table0 (Col0 ) ;
CREATE TEMP TABLE Table0 (Col0 ) ;
VACUUM main;
VACUUM main;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
ATTACH DATABASE '' AS main;
VACUUM;
INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
VACUUM main;
ANALYZE Index7;
VACUUM main;
VACUUM;
WITH Table0 AS (SELECT DISTINCT * GROUP BY 1  )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
ANALYZE main;
VACUUM main;
CREATE INDEX Index0 ON Table0(Col0  );
INSERT INTO Table0 DEFAULT VALUES  ;
VACUUM Schema0;
VACUUM main;
CREATE VIEW View0 WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    SELECT DISTINCT * ;
CREATE TEMPORARY TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
INSERT INTO Table0 (Col0, Col0) DEFAULT VALUES ;
VACUUM main;
VACUUM main;
VACUUM main;
DELETE FROM Table0  WHERE x'0100000000000000'  ;
VACUUM main;
VACUUM main;
CREATE TRIGGER IF NOT EXISTS Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
WITH Table0(Col0) AS (SELECT DISTINCT * LIMIT 1 OFFSET 1 )    UPDATE Table0   SET SET Col0 = 1 ;
ANALYZE Schema0;
VACUUM main;
INSERT INTO Table0 VALUES (1)  ;
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
VACUUM main;
VACUUM main;
VACUUM main;
CREATE VIRTUAL TABLE Table1 USING fts3();
VACUUM main;
ANALYZE Schema0;
VACUUM main;
CREATE TRIGGER Trigger0 DELETE ON Table0 FOR EACH ROW BEGIN DELETE FROM Table0  WHERE RAISE(ROLLBACK , '')   ; END;
DELETE FROM Table0   ;
ANALYZE Schema0;
VACUUM main;
DELETE FROM Table0  WHERE Col0 = 1  ;
UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
WITH Table0 AS (SELECT DISTINCT * GROUP BY 1 HAVING 279172874240 BETWEEN 1 AND 1  )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
CREATE VIRTUAL TABLE Table0 USING fts3();
VACUUM temp;
CREATE TRIGGER IF NOT EXISTS Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0  INDEXED BY Index0  ; WITH Table0(Col0) AS (SELECT DISTINCT * )    DELETE FROM Table0  WHERE Col0 || 1  ; WITH Table0 AS (SELECT DISTINCT * )  Table0(Col18) AS (SELECT DISTINCT * )    DELETE FROM Table0  WHERE Col0 || 1  ; END;
CREATE TRIGGER Schema0 Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM Schema0;
CREATE TRIGGER Trigger0 DELETE ON Table0 WHEN Col0 / 1 BEGIN DELETE FROM Table0   ; END;
CREATE TEMP TABLE Schema0.Table0 (Col0 ) ;
ANALYZE Schema0;
VACUUM Schema0;
VACUUM main;
WITH Table0(Col12) AS (SELECT DISTINCT 1  GROUP BY  HAVING 1  )    UPDATE OR FAIL Table0   SET SET Col0 = 1 WHERE Col0 || 1  ;
VACUUM main;
VACUUM main;
VACUUM main;
VACUUM;
DELETE FROM Table0  WHERE 1  ;
VACUUM main;
INSERT INTO Table0 VALUES (1), (x'')  ;
VACUUM main;
CREATE INDEX Schema0.Index0 ON Table0(Col0  );
VACUUM main;
VACUUM;
CREATE VIRTUAL TABLE Table0 USING fts3();
DROP VIEW IF EXISTS View0;
ANALYZE main.Table0;
CREATE TEMP TABLE IF NOT EXISTS Table0 (Col12 ) WITHOUT ROWID ;
CREATE INDEX Index0 ON Table0(Col0  )WHERE Col0 = 1 ;
WITH Table0 AS (SELECT ALL * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
VACUUM main;
WITH Table0(Col0) AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
ROLLBACK TRANSACTION;
ATTACH DATABASE '' AS Schema0;
ROLLBACK TRANSACTION;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; DELETE FROM Table7   ; END;
ANALYZE Schema0;
ATTACH DATABASE '' AS main;
VACUUM main;
CREATE TEMP TABLE Table0 (Col0 ) ;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
CREATE TEMPORARY VIEW View0 SELECT DISTINCT * ;
VACUUM main;
WITH Table0 AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM main;
VACUUM main;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
WITH Table0 AS (SELECT DISTINCT * LIMIT 1 , x'31' )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM;
VACUUM main;
CREATE UNIQUE INDEX Index0 ON Table0(Col0  , Col0  );
CREATE VIRTUAL TABLE Table0 USING fts3();
INSERT INTO Table0 VALUES (1)  ;
CREATE INDEX Index0 ON Table0(38654705664  );
VACUUM main;
VACUUM main;
BEGIN DEFERRED TRANSACTION;
CREATE VIRTUAL TABLE Table0 USING fts3();
ANALYZE;
VACUUM main;
DELETE FROM Table0   ;
CREATE VIEW View0 WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    SELECT DISTINCT * ;
VACUUM main;
VACUUM main;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
WITH Table0 AS (SELECT DISTINCT * )    UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
BEGIN EXCLUSIVE TRANSACTION;
ANALYZE;
WITH Table0(Col0) AS (SELECT DISTINCT * )    UPDATE temp.Table0  INDEXED BY Index0  SET SET Col0 = 1 ;
DELETE FROM Table0  WHERE Col0 || 1  ;
VACUUM main;
VACUUM;
DELETE FROM Table0 AS Table0   ;
BEGIN TRANSACTION;
VACUUM main;
VACUUM main;
ANALYZE Schema0;
VACUUM;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
DROP VIEW View0;
WITH Table0(Col0) AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 WHERE x'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'  ;
VACUUM main;
INSERT INTO Table0 VALUES (1), (x'')  ;
VACUUM main;
VACUUM main;
DROP VIEW IF EXISTS View1;
VACUUM;
ANALYZE Schema0;
WITH Table0 AS (SELECT DISTINCT 1  LIMIT 1 )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
CREATE VIRTUAL TABLE IF NOT EXISTS Table0 USING fts3();
ANALYZE Schema0;
ANALYZE Schema0;
CREATE TABLE main.Table0 (Col0 BLOB  , CONSTRAINT TableConstraint6 CHECK(1) ) WITHOUT ROWID ;
VACUUM;
CREATE VIEW View0 (Col0, Col8) WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    SELECT DISTINCT * ;
ANALYZE Schema0.Table0;
ATTACH DATABASE '' AS Schema0;
VACUUM main;
DELETE FROM Table0  WHERE '�m%�	'  ;
ANALYZE main;
VACUUM;
VACUUM main;
DELETE FROM Table0  WHERE Col0 = 1  ;
DELETE FROM Table0  WHERE Col0 <= 1  ;
VACUUM main;
CREATE INDEX Index8 ON Table0(Col0  );
WITH Table0(Col0) AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
ANALYZE Schema0.Index7;
CREATE TEMP TABLE Table0 (Col0 ) ;
CREATE INDEX Index0 ON Table0(Col0  );
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 VALUES (1), (1)  ;
CREATE TEMPORARY TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM;
DELETE FROM Table0   ;
VACUUM main;
VACUUM;
CREATE INDEX Index0 ON Table0(Col0  )WHERE Col0 = 1 ;
ALTER TABLE Schema0.Table0RENAME TO Table0;
CREATE TRIGGER IF NOT EXISTS Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM;
ANALYZE Schema0;
VACUUM main;
BEGIN TRANSACTION;
VACUUM main;
VACUUM main;
VACUUM main;
VACUUM main;
VACUUM main;
ANALYZE Schema0;
DROP VIEW View0;
VACUUM main;
VACUUM main;
WITH Table0 AS (SELECT DISTINCT * )    UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
CREATE INDEX Schema0.Index0 ON Table0(1  );
WITH Table0 AS (SELECT DISTINCT 1  )    UPDATE Table0   SET SET Col0 = 1 ;
CREATE VIRTUAL TABLE Table0 USING fts3();
DELETE FROM Table0  WHERE 2147483648  ;
CREATE TEMP TABLE Table0 (Col0 ) ;
ANALYZE Schema0.Index0;
VACUUM main;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
SELECT DISTINCT * LIMIT 1 OFFSET 1 ;
CREATE TEMPORARY VIEW View0 SELECT DISTINCT * ;
ANALYZE Schema0;
END TRANSACTION;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
CREATE INDEX Index0 ON Table0(Col0  );
DROP VIEW IF EXISTS View1;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
DELETE FROM Table4   ;
VACUUM main;
VACUUM main;
VACUUM;
ANALYZE;
DELETE FROM Table0   ;
ATTACH DATABASE '' AS Schema0;
VACUUM main;
VACUUM main;
CREATE TRIGGER Trigger0 INSERT ON Table0 BEGIN DELETE FROM Table0   ; END;
CREATE TRIGGER Trigger0 DELETE ON Table0 FOR EACH ROW BEGIN DELETE FROM Table7   ; END;
VACUUM temp;
VACUUM main;
WITH Table0(Col0) AS (SELECT DISTINCT * )    INSERT INTO Table0 (Col0, Col0, Col0, Col0) DEFAULT VALUES ;
DELETE FROM Table0   ;
WITH RECURSIVE Table0 AS (SELECT DISTINCT *, 1 Col0  )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM Schema0;
VACUUM;
VACUUM main;
ANALYZE Schema0;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM main;
VACUUM main;
VACUUM main;
VACUUM main;
CREATE INDEX Index0 ON Table0(Col0  )WHERE 1 ;
DELETE FROM Table0 AS Table5   ;
CREATE INDEX main.Index0 ON Table0(Col0 DESC );
WITH Table0 AS (SELECT DISTINCT * GROUP BY 1 HAVING 1  )    INSERT INTO Table0 DEFAULT VALUES ;
WITH Table0(Col0) AS (SELECT DISTINCT 1 Col0  )    UPDATE Table0   SET SET Col0 = 1 ;
ANALYZE Schema0;
INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
CREATE INDEX Index0 ON Table0(Col0  );
DROP VIEW IF EXISTS View0;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * WHERE Schema0.Col0 || 1  )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
CREATE VIRTUAL TABLE Table0 USING fts3();
VACUUM Schema0;
CREATE INDEX Index0 ON Table0(Col0  );
CREATE VIRTUAL TABLE Table0 USING fts3();
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0  WHERE Col0 % 1  ; END;
VACUUM Schema0;
CREATE INDEX IF NOT EXISTS Index0 ON Table0(Col0  );
VACUUM main;
INSERT INTO Table0 SELECT DISTINCT * ORDER BY 1 ASC    ;
VACUUM main;
INSERT INTO Table0 DEFAULT VALUES ;
ANALYZE Schema0.Table0;
CREATE VIRTUAL TABLE IF NOT EXISTS Table0 USING fts3();
VACUUM main;
CREATE INDEX Index0 ON Table0(Col0  );
INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
CREATE VIEW View0 WITH Table0 AS (SELECT ALL * )    SELECT DISTINCT * ;
ANALYZE Schema0;
CREATE TABLE Table0 (Col0 UNIQUE   , CONSTRAINT TableConstraint6 CHECK(1) ) WITHOUT ROWID ;
INSERT INTO Table0 VALUES (1), (0)  ;
VACUUM main;
VACUUM main;
CREATE INDEX Index0 ON Table0(0  );
VACUUM;
VACUUM main;
CREATE TRIGGER Trigger0 DELETE ON Table0 FOR EACH ROW BEGIN DELETE FROM Table0  WHERE Col0 % 1  ; END;
ANALYZE Schema0;
VACUUM main;
VACUUM main;
UPDATE Table0   SET SET Col0 = 1 ;
CREATE INDEX Index0 ON Table0(Col0  );
WITH Table0(Col0, Col0) AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM main;
VACUUM Schema0;
ROLLBACK TRANSACTION;
ANALYZE;
WITH Table0 AS (SELECT ALL * )    INSERT INTO Table0 DEFAULT VALUES ;
DELETE FROM Table0  WHERE 1  ;
ANALYZE Schema0;
ANALYZE;
VACUUM;
UPDATE Table0   SET SET Col0 = 1 ;
INSERT INTO Table0 VALUES (1), (1)  ;
WITH Table0(Col0) AS (SELECT DISTINCT 1 Col0  )    UPDATE Table0   SET SET Col0 = 1 ;
DELETE FROM Table0   ;
CREATE VIEW View0 WITH RECURSIVE Table0 AS (SELECT DISTINCT * FROM Schema0.Table0    )    SELECT DISTINCT * ;
VACUUM main;
CREATE TRIGGER Trigger0 DELETE ON Table0 FOR EACH ROW BEGIN DELETE FROM Table0   ; END;
CREATE INDEX Index0 ON Table0(Col0  )WHERE Col0 = 1 ;
VACUUM;
DELETE FROM Table0  WHERE 8589934592  ;
ANALYZE;
ANALYZE;
VACUUM main;
CREATE UNIQUE INDEX Index0 ON Table0(Col0  , Col0  );
VACUUM main;
ANALYZE;
VACUUM temp;
CREATE VIEW View0 WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    SELECT DISTINCT * ;
VACUUM main;
VACUUM;
DELETE FROM Table0  INDEXED BY Index2 WHERE Col0 = 1  ;
VACUUM;
VACUUM main;
CREATE INDEX Index0 ON Table0(Col0  );
ANALYZE Schema0;
CREATE VIEW View0 WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    SELECT DISTINCT * GROUP BY 1 HAVING 1 COLLATE BINARY  ;
VACUUM main;
CREATE VIEW View0 (Col0) WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    SELECT DISTINCT * LIMIT CURRENT_DATE ;
CREATE INDEX Index0 ON Table0(Col0  );
VACUUM;
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
ANALYZE Schema0.Table0;
CREATE INDEX Schema0.Index0 ON Table0(Col0  );
COMMIT TRANSACTION;
INSERT INTO Table0 DEFAULT VALUES ;
CREATE INDEX Index0 ON Table0(Col0  );
CREATE VIRTUAL TABLE Table0 USING fts3();
CREATE TEMPORARY TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0  WHERE Col0 MATCH 1  ; END;
ANALYZE Schema0;
CREATE TRIGGER Trigger0 INSERT ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM main;
WITH Table0 AS (SELECT DISTINCT 1 Col0  )    UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
VACUUM main;
VACUUM;
CREATE TRIGGER IF NOT EXISTS Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM main;
VACUUM main;
VACUUM main;
VACUUM main;
UPDATE Table0   SET SET Col0 = 1 ;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
DELETE FROM Table0  WHERE 1  ;
WITH Table0 AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM temp;
ANALYZE Schema0;
VACUUM main;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
DROP VIEW IF EXISTS View1;
CREATE INDEX Index0 ON Table0(Col0  );
CREATE VIRTUAL TABLE Table1 USING fts3(Col0, Col0);
VACUUM;
ANALYZE Schema0;
CREATE TEMP TABLE Table0 (Col0 ) ;
VACUUM main;
ALTER TABLE Table0RENAME TO Table0;
VACUUM main;
VACUUM;
CREATE TABLE Table0 (Col0 ) ;
VACUUM main;
DROP VIEW View0;
CREATE INDEX Index0 ON Table0(1  );
CREATE VIRTUAL TABLE Table0 USING fts3();
VACUUM main;
COMMIT;
VACUUM;
VACUUM main;
VACUUM main;
INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
CREATE VIEW View0 SELECT DISTINCT *, 1 Col0  ;
ATTACH DATABASE '' AS main;
VACUUM Schema0;
CREATE TEMPORARY TRIGGER IF NOT EXISTS Trigger0 AFTER DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 VALUES (1), (1)  ;
CREATE TEMP TABLE Table0 (Col0 ) ;
VACUUM main;
INSERT INTO Table0 VALUES (1), (1)  ;
VACUUM main;
VACUUM main;
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
VACUUM;
CREATE TRIGGER Trigger0 DELETE ON Table0 WHEN Col0 = 1 BEGIN DELETE FROM Table0   ; END;
DELETE FROM Table0  INDEXED BY Index2  ;
CREATE VIRTUAL TABLE Table1 USING fts3();
ANALYZE main;
DELETE FROM Table0  WHERE 1  ;
DELETE FROM Table0   ;
WITH Table0 AS (SELECT ALL * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
VACUUM Schema0;
DELETE FROM Table0  INDEXED BY Index2 WHERE 2147483648  ;
VACUUM main;
VACUUM main;
WITH Table0 AS (SELECT DISTINCT * )    UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
WITH Table0(Col0, Col0) AS (SELECT DISTINCT 1 Col0 , 1 Col0  )    INSERT INTO Table0 DEFAULT VALUES ;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table4 DEFAULT VALUES ;
ATTACH DATABASE '' AS main;
VACUUM temp;
CREATE TEMPORARY TRIGGER Trigger0 INSERT ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    DELETE FROM Table0   ;
VACUUM;
ANALYZE Schema0;
VACUUM;
VACUUM main;
DELETE FROM Table0  WHERE 0  ;
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 (Col0) DEFAULT VALUES ;
ANALYZE;
VACUUM main;
WITH Table0(Col0) AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 WHERE NOT 1  ;
DELETE FROM Table0  WHERE 1  ;
CREATE INDEX IF NOT EXISTS Index0 ON Table0(Col0  , Col0  );
VACUUM;
VACUUM main;
WITH Table0(Col0) AS (SELECT DISTINCT * GROUP BY CASE WHEN 1 THEN 1 END  HAVING 1  )    UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
INSERT INTO Table0 DEFAULT VALUES ;
VACUUM;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
ANALYZE Schema0;
CREATE VIRTUAL TABLE Table0 USING fts3();
VACUUM main;
VACUUM;
VACUUM main;
VACUUM;
WITH Table0 AS (SELECT DISTINCT * GROUP BY 1  LIMIT 1 )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
ANALYZE Schema0;
VACUUM Schema0;
VACUUM main;
DROP VIEW View0;
UPDATE OR REPLACE Table0   SET SET Col0 = 1 ;
INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
WITH Table0 AS (SELECT DISTINCT 1 Col0  ORDER BY 1    )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM main;
VACUUM;
ROLLBACK TRANSACTION;
CREATE TABLE Table0 (Col0 ) ;
ANALYZE Schema0.Table0;
VACUUM;
ANALYZE;
WITH Table0 AS (SELECT DISTINCT * ORDER BY 1    )    UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
INSERT INTO Table0 VALUES (1), (1, 1)  ;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
CREATE VIRTUAL TABLE Table0 USING fts3(Col0);
DROP INDEX Index9;
CREATE TEMPORARY TRIGGER Schema0 Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM Schema0;
VACUUM main;
VACUUM temp;
CREATE TEMPORARY TRIGGER Trigger0 INSERT ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM main;
CREATE TRIGGER Trigger0 DELETE ON Table0 WHEN Col0 = 1 BEGIN DELETE FROM Table0   ; END;
VACUUM main;
VACUUM main;
WITH Table0(Col0) AS (SELECT DISTINCT 1  )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM main;
VACUUM main;
ANALYZE;
VACUUM main;
VACUUM main;
ANALYZE;
CREATE VIEW IF NOT EXISTS View0 SELECT DISTINCT * ;
ANALYZE;
CREATE TEMP TABLE Table0 (Col0 ) ;
VACUUM;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
ATTACH DATABASE '' AS Schema0;
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
CREATE INDEX Index0 ON Table0(Col0  );
VACUUM main;
ANALYZE Schema0;
VACUUM main;
CREATE UNIQUE INDEX Index0 ON Table0(Col0  );
VACUUM main;
VACUUM Schema0;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
CREATE VIRTUAL TABLE Table0 USING fts3();
DELETE FROM Table0 AS Table0  WHERE 1  ;
ANALYZE Table0;
WITH Table0(Col0) AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM Schema0;
VACUUM;
DROP VIEW IF EXISTS View1;
WITH Table0 AS (SELECT DISTINCT *, 1 Col0  )    INSERT INTO Table0 DEFAULT VALUES ;
END;
BEGIN TRANSACTION;
DELETE FROM Table0   ;
CREATE INDEX Index0 ON Table0(16  );
CREATE TRIGGER Trigger0 DELETE ON Table0 FOR EACH ROW BEGIN DELETE FROM Table0  WHERE 1  ; END;
VACUUM main;
VACUUM main;
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
CREATE INDEX IF NOT EXISTS Index0 ON Table0(Col0  );
CREATE TEMP TABLE Table0 (Col0 ) ;
VACUUM;
WITH Table0 AS (SELECT DISTINCT * GROUP BY 1 HAVING 1  )    UPDATE Table0   SET SET Col0 = 1 ;
ANALYZE Schema0;
CREATE TABLE Table0 (Col0 , CONSTRAINT TableConstraint8 CHECK(1) ) ;
VACUUM;
VACUUM;
CREATE TEMP TABLE IF NOT EXISTS Table0 (Col0 CONSTRAINT ColConstraint1 DEFAULT 1  ) ;
VACUUM main;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; DELETE FROM Table7   ; END;
ALTER TABLE Table0ADD Col0 REAL  ;
CREATE TRIGGER IF NOT EXISTS Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0  INDEXED BY Index0  ; DELETE FROM Table0  WHERE '!'  ; DELETE FROM Table0  WHERE Col0 || 1  ; END;
ANALYZE Schema0.Table0;
ANALYZE Schema0;
VACUUM;
VACUUM main;
VACUUM main;
ALTER TABLE Table0RENAME TO Table0;
ANALYZE Schema0;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM;
VACUUM main;
CREATE TEMP TABLE Table0 (Col0 ) ;
CREATE TEMP TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
COMMIT TRANSACTION;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
CREATE VIRTUAL TABLE Table1 USING fts3();
CREATE VIRTUAL TABLE IF NOT EXISTS Table0 USING fts3();
VACUUM main;
ALTER TABLE Table0ADD Col0 REAL  ;
INSERT INTO Table0 DEFAULT VALUES ;
VACUUM;
VACUUM;
VACUUM main;
ANALYZE Schema0;
VACUUM main;
VACUUM;
DROP VIEW IF EXISTS View0;
ANALYZE Schema0.Table0;
WITH Table0 AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
UPDATE Table0   SET SET Col0 = 1 ;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * WHERE Col0 - 1  )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM Schema0;
VACUUM main;
CREATE UNIQUE INDEX Index0 ON Table0(1  , Col0 COLLATE NOCASE  , Col0 COLLATE NOCASE  );
VACUUM main;
ATTACH DATABASE '' AS Schema0;
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 VALUES (1), (1)  ;
UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
ROLLBACK TRANSACTION;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0  WHERE 2147483648  ; END;
ANALYZE;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
VACUUM main;
VACUUM main;
VACUUM main;
VACUUM Schema0;
CREATE VIEW View0 WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    SELECT DISTINCT * ;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0  WHERE 2147483648  ; END;
WITH Table0 AS (SELECT * )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM main;
DELETE FROM Table0   ;
DELETE FROM Table0   ;
CREATE TEMPORARY TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM main;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM main;
VACUUM temp;
ANALYZE Schema0;
ANALYZE temp;
VACUUM;
WITH Table0 AS (SELECT ALL * UNION SELECT DISTINCT *  )    UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
ROLLBACK TRANSACTION;
ANALYZE Schema0;
INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
VACUUM main;
VACUUM temp;
VACUUM;
CREATE TABLE IF NOT EXISTS Table0 (Col0 ) ;
ANALYZE Schema0;
CREATE UNIQUE INDEX Index0 ON Table0(Col0  );
VACUUM main;
VACUUM;
CREATE INDEX Index8 ON Table0(Col0  );
ANALYZE main;
VACUUM Schema0;
VACUUM;
CREATE INDEX IF NOT EXISTS Index0 ON Table0(Col0  , Col0  );
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
VACUUM main;
VACUUM;
VACUUM main;
DELETE FROM Table0  INDEXED BY Index2  ;
ANALYZE;
CREATE TEMP TABLE Table0 (Col0 ) ;
VACUUM main;
WITH Table7 AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
ATTACH DATABASE '' AS main;
VACUUM;
VACUUM main;
ANALYZE;
DELETE FROM Table0  WHERE 2147483648  ;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM main;
VACUUM;
VACUUM;
CREATE INDEX Index0 ON Table0(Col0  );
CREATE INDEX Index8 ON Table0(Col0  );
WITH Table0 AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
ANALYZE;
VACUUM;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
CREATE TEMP TABLE Table0 (Col0 DEFAULT 1  ) ;
BEGIN EXCLUSIVE TRANSACTION;
VACUUM main;
VACUUM main;
ANALYZE Schema0;
VACUUM main;
INSERT INTO Schema0.Table0 DEFAULT VALUES ;
ALTER TABLE Table0ADD Col0 INTEGER  ;
DROP VIEW View0;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
ANALYZE Schema0;
CREATE VIRTUAL TABLE Table0 USING fts3();
ANALYZE Schema0;
VACUUM main;
DELETE FROM Table0  WHERE 1  ;
CREATE VIRTUAL TABLE Table1 USING fts3();
CREATE VIRTUAL TABLE Table0 USING fts3();
CREATE VIEW View0 WITH Table0 AS (SELECT DISTINCT * )    SELECT DISTINCT * ;
VACUUM main;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3(Col0, Col0);
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0  WHERE Col0 = 1  ; END;
WITH Table0(Col0, rowid) AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM;
CREATE TEMPORARY TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table7   ; END;
VACUUM main;
ANALYZE Schema0;
VACUUM main;
DELETE FROM Table0  INDEXED BY Index0  ;
VACUUM Schema0;
VACUUM main;
ANALYZE Schema0;
ANALYZE Schema0;
ANALYZE Schema0;
CREATE TEMP TABLE Table0 (Col0 CONSTRAINT ColConstraint1 DEFAULT 1  ) ;
INSERT INTO Table0 AS Table4 DEFAULT VALUES ;
VACUUM main;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
WITH Table0 AS (SELECT ALL * )    INSERT INTO Table0 DEFAULT VALUES ;
VACUUM;
CREATE TABLE Table0 (Col0 ) ;
VACUUM main;
DELETE FROM Table0  WHERE Col0 = 1  ;
ANALYZE Schema0;
DELETE FROM Table0   ;
WITH Table0 AS (SELECT DISTINCT 1 Col0  )    UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
VACUUM main;
VACUUM;
VACUUM main;
WITH Table0 AS (SELECT ALL * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
ATTACH DATABASE '' AS main;
INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
SELECT DISTINCT * ;
VACUUM;
VACUUM main;
VACUUM main;
VACUUM main;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
CREATE UNIQUE INDEX Index0 ON Table0(Col0  )WHERE 1 ;
CREATE VIEW View0 SELECT DISTINCT * ;
CREATE INDEX main.Index0 ON Table0(Col0  )WHERE 2147483648 ;
VACUUM main;
ANALYZE Schema0;
ANALYZE main;
VACUUM main;
VACUUM main;
VACUUM;
ANALYZE Schema0;
DELETE FROM Table0   ;
BEGIN DEFERRED TRANSACTION;
CREATE TEMP TABLE Table0 (Col0 DEFAULT 1  ) ;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0  WHERE Col0 = 1  ; END;
ANALYZE;
ANALYZE Schema0;
ANALYZE Schema0.Index6;
CREATE INDEX Index0 ON Table0(Col0  );
WITH Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
VACUUM main;
UPDATE Table0   SET SET Col0 = 1 ;
VACUUM main;
CREATE INDEX main.Index0 ON Table0(Col0 DESC );
CREATE VIRTUAL TABLE temp.Table0 USING fts3(tokenize=porter);
ANALYZE temp;
DELETE FROM Table0   ;
CREATE INDEX IF NOT EXISTS Index0 ON Table0(Col0  )WHERE Col0 = 1 ;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
DELETE FROM Table0  WHERE Col0 || 1  ;
DROP INDEX Index0;
VACUUM main;
VACUUM main;
ANALYZE Schema0;
VACUUM main;
WITH Table0(Col0) AS (SELECT DISTINCT * GROUP BY 1 HAVING 1  )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
UPDATE Table0   SET SET Col0 = 1 ;
ANALYZE Schema0;
VACUUM main;
DELETE FROM Table0  INDEXED BY Index2  ;
INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
DELETE FROM Table0  WHERE CURRENT_DATE  ;
VACUUM main;
ANALYZE;
CREATE UNIQUE INDEX Schema0.Index0 ON Table0(Col0  , Col0  );
VACUUM;
DETACH DATABASE temp;
ANALYZE Schema0;
ANALYZE Schema0.Index7;
VACUUM main;
COMMIT;
WITH Table0 AS (SELECT DISTINCT 1  )    UPDATE OR FAIL Table0   SET SET Col0 = 1 ;
VACUUM main;
VACUUM;
ANALYZE;
VACUUM main;
CREATE INDEX Index0 ON Table0(Col0  );
ANALYZE Schema0;
VACUUM main;
CREATE VIRTUAL TABLE Table0 USING fts3();
CREATE INDEX Index0 ON Table0('='  );
ANALYZE Schema0;
INSERT INTO Table0 AS Table0 DEFAULT VALUES ;
VACUUM main;
CREATE INDEX Index0 ON Table0(1  );
VACUUM main;
VACUUM main;
WITH RECURSIVE Table0 AS (SELECT DISTINCT * )    INSERT INTO Table0 DEFAULT VALUES ;
WITH Table0 AS (SELECT * )    UPDATE Table0   SET SET Col0 = 1 ;
END TRANSACTION;
VACUUM main;
INSERT INTO Table0 SELECT DISTINCT * ORDER BY 1  , 1 ASC    ;
VACUUM;
VACUUM main;
VACUUM main;
VACUUM main;
BEGIN IMMEDIATE TRANSACTION;
VACUUM main;
ANALYZE;
DROP VIEW View0;
CREATE TRIGGER Trigger0 INSERT ON Table0 FOR EACH ROW BEGIN DELETE FROM Table0   ; END;
CREATE TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0  WHERE Col0 = 1  ; END;
VACUUM;
CREATE TEMP TABLE IF NOT EXISTS Table0 (Col12 ) WITHOUT ROWID ;
CREATE VIRTUAL TABLE temp.Table0 USING fts3();
VACUUM main;
VACUUM main;
VACUUM main;
ANALYZE Table0;
VACUUM main;
CREATE TRIGGER Trigger0 INSERT ON Table0 BEGIN DELETE FROM Table0   ; END;
VACUUM;
DELETE FROM Table0  WHERE Col0 = 1  ;
WITH Table0(Col0) AS (SELECT DISTINCT * )    UPDATE Table0   SET SET Col0 = 1 ;
VACUUM main;
ANALYZE;
VACUUM main;
BEGIN IMMEDIATE TRANSACTION;
CREATE TEMPORARY TRIGGER Trigger0 DELETE ON Table0 BEGIN DELETE FROM Table0   ; END;
DELETE FROM Table0   ;
ATTACH DATABASE '' AS Schema0;
CREATE INDEX Index0 ON Table0(Col0  )WHERE Col0 = 1 ;
ANALYZE Index7;
VACUUM;
VACUUM;
Simplified test case:

PRAGMA foreign_keys=ON;
CREATE TABLE t1 (
  c1 PRIMARY KEY,
  c2 NUMERIC,
  FOREIGN KEY(c1) REFERENCES t1(c2)
) WITHOUT ROWID ;
CREATE INDEX t1c1 ON t1(c1);
CREATE UNIQUE INDEX t1c1unique ON t1(c2);
INSERT OR REPLACE INTO t1 VALUES(10000, 20000);

Should now be fixed on the SQLite trunk.
The check-in that fixed this was https://www.sqlite.org/src/info/16fff05347f42fe9
Status: Started (was: Assigned)
I am backporting this fix.
Issue 911248 has been merged into this issue.
Cc: cmumford@chromium.org
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 11

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643

commit c61e3e2f00de49b85c2bd76c252d2a9fd13ed643
Author: Victor Costan <pwnall@chromium.org>
Date: Fri Jan 11 23:20:45 2019

sqlite: Backport a few bug fixes.

This CL removes an unnecessary change in
0006-Fix-dbfuzz2-for-Clusterfuzz.patch and backports fixes for a few
recently discovered issues. The added patches will go away in the
next SQLite upgrade.

Bug: 911253, 911255, 914407,  915348 ,  915479 ,  916478 ,  917285 ,  917380 ,  917834 ,  918035 
Change-Id: I595de36637cdb256153d92f21958b05e2ea6ac92
Reviewed-on: https://chromium-review.googlesource.com/c/1406928
Reviewed-by: Chris Mumford <cmumford@google.com>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622207}
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/amalgamation/sqlite3.c
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0001-Modify-default-VFS-to-support-WebDatabase.patch
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0002-Virtual-table-supporting-recovery-of-corrupted-datab.patch
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0003-Custom-shell.c-helpers-to-load-Chromium-s-ICU-data.patch
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0004-fts3-Disable-fts3_tokenizer-and-fts4.patch
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0005-fuchsia-Use-dot-file-locking-for-sqlite.patch
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0006-Fix-dbfuzz2-for-Clusterfuzz.patch
[add] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0007-Fix-the-Makefile-so-that-it-honors-CFLAGS-when-build.patch
[add] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0008-Adjustments-to-the-page-cache-to-try-to-avoid-harmle.patch
[add] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0009-Remove-an-ALWAYS-from-a-branch-that-is-not-always-ta.patch
[add] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0010-Fix-a-problem-with-nested-CTEs-with-the-same-table.patch
[add] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0011-Fix-detection-of-self-referencing-rows-in-foreign-ke.patch
[add] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0012-Fix-a-segfault-caused-by-using-the-RAISE-function-in.patch
[add] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0013-Fix-for-an-assert-that-could-be-false.patch
[add] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0014-Fix-another-problem-found-by-Matthew-Denton-s-new-fu.patch
[add] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0015-Report-a-new-corruption-case.patch
[add] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0016-Avoid-a-buffer-overread-in-ptrmapPutOvflPtr.patch
[add] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/patches/0017-Improved-detection-of-cell-corruption-in-sqlite3Vdbe.patch
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/src/Makefile.in
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/src/src/btree.c
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/src/src/expr.c
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/src/src/fkey.c
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/src/src/pcache1.c
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/src/src/select.c
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/src/src/vdbeaux.c
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/src/test/dbfuzz2.c
[modify] https://crrev.com/c61e3e2f00de49b85c2bd76c252d2a9fd13ed643/third_party/sqlite/src/test/fuzzcheck.c

Project Member

Comment 12 by ClusterFuzz, Jan 12

ClusterFuzz has detected this issue as fixed in range 622206:622213.

Detailed report: https://clusterfuzz.com/testcase?key=6046912605847552

Fuzzer: libFuzzer_sqlite3_lpm_fuzzer
Fuzz target binary: sqlite3_lpm_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

Crash Type: ASSERT
Crash Address: 
Crash State:
  (pLoop->wsFlags & WHERE_IDX_ONLY)==0 || x>=0 || pWInfo->eOnePass
  sqlite3WhereEnd
  fkScanChildren
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=615337:615339
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=622206:622213

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6046912605847552

See https://github.com/google/clusterfuzz-tools for instructions to reproduce this bug locally.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 13 by ClusterFuzz, Jan 12

Labels: ClusterFuzz-Verified
Status: Verified (was: Started)
ClusterFuzz testcase 6046912605847552 is verified as fixed, so closing issue as verified.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
Labels: Merge-Merged-72-3626
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8

Commit: e6d709904788b93ca8f88bbf67ad0a7af26e5bb8
Author: staphany@chromium.org
Commiter: pwnall@chromium.org
Date: 2019-01-15 22:21:13 +0000 UTC

sqlite: Backport a few bug fixes.

This CL removes an unnecessary change in
0006-Fix-dbfuzz2-for-Clusterfuzz.patch and backports fixes for a few
recently discovered issues. The added patches will go away in the
next SQLite upgrade.

(cherry picked from commit c61e3e2f00de49b85c2bd76c252d2a9fd13ed643)

Bug: 911253, 911255, 914407,  915348 ,  915479 ,  916478 ,  917285 ,  917380 ,  917834 ,  918035 
Change-Id: I595de36637cdb256153d92f21958b05e2ea6ac92
Reviewed-on: https://chromium-review.googlesource.com/c/1406928
Reviewed-by: Chris Mumford <cmumford@google.com>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#622207}
Reviewed-on: https://chromium-review.googlesource.com/c/1413452
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/branch-heads/3626@{#703}
Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
Project Member

Comment 15 by bugdroid1@chromium.org, Jan 15

Labels: merge-merged-3626
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8

commit e6d709904788b93ca8f88bbf67ad0a7af26e5bb8
Author: Staphany Park <staphany@chromium.org>
Date: Tue Jan 15 22:21:13 2019

sqlite: Backport a few bug fixes.

This CL removes an unnecessary change in
0006-Fix-dbfuzz2-for-Clusterfuzz.patch and backports fixes for a few
recently discovered issues. The added patches will go away in the
next SQLite upgrade.

(cherry picked from commit c61e3e2f00de49b85c2bd76c252d2a9fd13ed643)

Bug: 911253, 911255, 914407,  915348 ,  915479 ,  916478 ,  917285 ,  917380 ,  917834 ,  918035 
Change-Id: I595de36637cdb256153d92f21958b05e2ea6ac92
Reviewed-on: https://chromium-review.googlesource.com/c/1406928
Reviewed-by: Chris Mumford <cmumford@google.com>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#622207}
Reviewed-on: https://chromium-review.googlesource.com/c/1413452
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/branch-heads/3626@{#703}
Cr-Branched-From: d897fb137fbaaa9355c0c93124cc048824eb1e65-refs/heads/master@{#612437}
[modify] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/amalgamation/sqlite3.c
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0001-Modify-default-VFS-to-support-WebDatabase.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0002-Virtual-table-supporting-recovery-of-corrupted-datab.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0003-Custom-shell.c-helpers-to-load-Chromium-s-ICU-data.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0004-fts3-Disable-fts3_tokenizer-and-fts4.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0005-fuchsia-Use-dot-file-locking-for-sqlite.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0006-Fix-dbfuzz2-for-Clusterfuzz.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0007-Fix-the-Makefile-so-that-it-honors-CFLAGS-when-build.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0008-Adjustments-to-the-page-cache-to-try-to-avoid-harmle.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0009-Remove-an-ALWAYS-from-a-branch-that-is-not-always-ta.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0010-Fix-a-problem-with-nested-CTEs-with-the-same-table.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0011-Fix-detection-of-self-referencing-rows-in-foreign-ke.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0012-Fix-a-segfault-caused-by-using-the-RAISE-function-in.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0013-Fix-for-an-assert-that-could-be-false.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0014-Fix-another-problem-found-by-Matthew-Denton-s-new-fu.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0015-Report-a-new-corruption-case.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0016-Avoid-a-buffer-overread-in-ptrmapPutOvflPtr.patch
[add] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/patches/0017-Improved-detection-of-cell-corruption-in-sqlite3Vdbe.patch
[modify] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/src/Makefile.in
[modify] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/src/src/btree.c
[modify] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/src/src/expr.c
[modify] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/src/src/fkey.c
[modify] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/src/src/pcache1.c
[modify] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/src/src/select.c
[modify] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/src/src/vdbeaux.c
[modify] https://crrev.com/e6d709904788b93ca8f88bbf67ad0a7af26e5bb8/third_party/sqlite/src/test/fuzzcheck.c

Sign in to add a comment