This PR harmonises the variation in quoting of keywords in the staging models. Before this PR keyword quoting was not consistent between models. Furthermore, quoted column names were not safely passed through by the lowercase_columns macro.
Why bother?
Although this hasn't really had an effect on duckdb/postgres so far (fairly forgiving with column naming), other SQL engines are not as forgiving (e.g. Snowflake ❄️ ): and so this chance reduces the effort required to support other SQL platforms in the future
Good practice/reduced effort to onboard new contributors.
An alternative approach would be to treat more of these as keywords, but having explored the ANSI standard as well as the postgres/duckdb/snowflake docs none of the ones I have removed seem to be keywords (excluding name which is now treated as a keyword throughout the repo [was only in places before])
This PR harmonises the variation in quoting of keywords in the staging models. Before this PR keyword quoting was not consistent between models. Furthermore, quoted column names were not safely passed through by the
lowercase_columns
macro.Why bother?
An alternative approach would be to treat more of these as keywords, but having explored the ANSI standard as well as the postgres/duckdb/snowflake docs none of the ones I have removed seem to be keywords (excluding
name
which is now treated as a keyword throughout the repo [was only in places before])