11 okt 2015, om 15:27, R.Smith: > > On 2015-10-11 03:14 PM, E.Pasma wrote: >> Hello, >> >> One of the expected changes in 3..9.0 is: >> A view may now reference undefined tables and functions when >> initially created. Missing tables and functions are reported when >> the VIEW is used in a query. >> I could not resist trying a recursive view like in a CTE: >> >> SQLite version 3.8.12 2015-10-07 13:24:27 >> create view v as select 1 as c union all select c+1 from v where >> c<10; >> select c from v; >> Error: view v is circularly defined >> >> So this is clearly not intended. > > You cannot reference a View within itself - this is what circularly > means. This is very different to being able to reference a table > that doesn't exist yet.
That was only meant as an introduction. My only real point is that the particular error is not always raised. Here is a more to the point example: SQLite version 3.8.12 2015-10-07 13:24:27 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> create view v as select c+1 from v; sqlite> select *from v; Error: view v is circularly defined sqlite> create view v2(c) as select c+1 from v2; sqlite> select *from v2; Segmentation fault $ Sorry for being too verbose in the original mail.