Index: src/build.c ================================================================== --- src/build.c +++ src/build.c @@ -2086,13 +2086,10 @@ p->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE); sqlite3SelectDelete(db, pSelect); if( db->mallocFailed ){ return; } - if( !db->init.busy ){ - sqlite3ViewGetColumnNames(pParse, p); - } /* Locate the end of the CREATE VIEW statement. Make sEnd point to ** the end. */ sEnd = pParse->sLastToken; Index: test/view.test ================================================================== --- test/view.test +++ test/view.test @@ -597,11 +597,11 @@ CREATE VIEW v2048 AS SELECT * FROM v1024 UNION SELECT * FROM v1024; CREATE VIEW v4096 AS SELECT * FROM v2048 UNION SELECT * FROM v2048; CREATE VIEW v8192 AS SELECT * FROM v4096 UNION SELECT * FROM v4096; CREATE VIEW v16384 AS SELECT * FROM v8192 UNION SELECT * FROM v8192; CREATE VIEW v32768 AS SELECT * FROM v16384 UNION SELECT * FROM v16384; - CREATE VIEW vx AS SELECT * FROM v32768 UNION SELECT * FROM v32768; + SELECT * FROM v32768 UNION SELECT * FROM v32768; } } {1 {too many references to "v1": max 65535}} ifcapable progress { do_test view-21.2 { db progress 1000 {expr 1}