SQLite Forum

Are MATERIALIZED and RETURNING keywords?
Login
In the interest of not breaking backward compatibility, (which is a high priority for the SQLite project), they are treated as keywords only when they appear in certain positions within submitted SQL as shown in the syntax diagrams. You might notice that use of an ordinary identifier in the <u>[RETURNING](https://sqlite.org/syntax/returning-clause.html)</u> or <u>[WITH](https://sqlite.org/lang_with.html)</u> clauses would be nonsensical and rejected as illegal syntax. Hence, this context-dependent-keyword approach introduces neither ambiguity nor inability to parse older code that may have used those words as identifiers.

This same approach is used for <u>[a few other cases](https://sqlite.org/c3ref/keyword_check.html)</u>.