On Monday, 23 September, 2019 14:09, Richard Hipp <d...@sqlite.org>:
>In any event, you are correct that the behavior can now be disabled >and should be for new applications. But we need to leave it turned on >by default for legacy. Nevertheless, the point is that even if you purportedly turn the behaviour off, it is not turned off: That is, if you compile with DQS set to 0, the statement pragma encoding = "UTF-8" is still accepted without error. SQLite version 3.30.0 2019-09-23 19:37:40 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> pragma encoding="UTF-8"; sqlite> .dbconfig enable_fkey on enable_trigger on enable_view on fts3_tokenizer off load_extension on no_ckpt_on_close off enable_qpsg off trigger_eqp off reset_database off defensive off writable_schema off legacy_alter_table off dqs_dml off dqs_ddl off If fact the dqs_ddl setting seems not to do anything at all. dqs_dml seems to work however. sqlite> create table x (x default "DFLT"); sqlite> insert into x default values; sqlite> select * from x; DFLT sqlite> insert into x values ("DFLT"); Error: no such column: DFLT sqlite> Now, if you created a legacy database with dqs_ddl turned on and opened it in a version of SQLite3 that has dqs_ddl turned off, should parsing a currently malformed schema produce an error? However, the create with incorrect quotes should be an error if at the time it is made dqs_ddl is turned off. sqlite> create view v as select "TEST"; sqlite> select * from v; Error: no such column: TEST sqlite> Should this not toss an error when the ddl creating the view is parsed? Hard to say because a view is merely a stored statement and I don't think it is parsed (as in prepared) at create view time, however it does definitely throw an error when executed (prepared), in accordance with the dqs_dml setting. Does the dqs_ddl setting need to be passed to something else, like the parser generator? _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users