Assertion failure in sqlite3ExprAffinity function (2)
(1) By Song Liu (songliu) on 2023-04-13 14:40:07 [source]
I found an assertion failure while SQLite (latest, eb94ae13206762a4) executes the following queries.
CREATE TABLE v0 (c1);
CREATE TABLE v1 (c);
CREATE TRIGGER t INSERT ON v0 BEGIN UPDATE v1 SET (c, c1)=(SELECT 0) FROM v0 JOIN v1 ON (SELECT 0 FROM (SELECT c1)); END;
ALTER TABLE v0 RENAME COLUMN c1 TO c;
Here are the outputs:
sqlite3: sqlite3.c:106174: sqlite3ExprAffinity: Assertion `pExpr->iTable==pExpr->pLeft->x.pSelect->pEList->nExpr' failed.
[2] 1115763 abort ./sqlite3 < poc
Here is the result of bisecting:
10 BAD 2022-05-27 15:04:43 53fbc269ddbabc4a
12 GOOD 2022-05-27 14:41:48 f56473f9cc1b476b CURRENT
My compilation flags:
export CFLAGS="-g -O0 -DSQLITE_DEBUG
-DSQLITE_ENABLE_TREETRACE
-DSQLITE_ENABLE_WHERETRACE
-DSQLITE_ENABLE_CURSOR_HINTS
-DSQLITE_COUNTOFVIEW_OPTIMIZATION
-DSQLITE_ENABLE_STAT4"