Bug is as follows:

SQLite version 3.14.0 2016-07-26 15:17:14
Enter ".help" for usage hints.

sqlite> CREATE TABLE reports (a INT, b TEXT);

sqlite> CREATE INDEX index_reports_quotes ON reports ("yearz_doesnt_exist");

sqlite> PRAGMA index_xinfo('index_reports_quotes');
0|-2||0|BINARY|1
1|-1||0|BINARY|0

DRH says that, having failed to find a column called 'yearz_doesnt_exist' 
SQLite is interpreting that name as a fixed text string and creating a 
calculated index.  This one isn’t useful but it’s legal.  So far so good.  Now 
continue.

sqlite> CREATE INDEX index_reports_apostrophes ON reports
   ...> ('yearz_doesnt_exist');
Error: no such column: yearz_doesnt_exist

Here I am intentionally trying to create the same calculated index.  I have 
explicitly quoted the string 'yearz_doesnt_exist', which means I am explicitly 
supplying an expression.  Why doesn’t SQLite understand this ?

If this is a bug, credit for spotting it belongs to Ersin Akinci.

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

Reply via email to