v0.9.4: Bugfix for mixed-case columns and better psql support
SLayer 0.9.4
A bug-fix release for people running SLayer against case-folding databases and browsing the Postgres facade from psql.
Valid SQL on Postgres, Snowflake, and other case-folding databases
Some queries that ran fine on SQLite failed on Postgres and Snowflake with an "undefined column" error, because SLayer only compiled the SQL without executing it and the defect stayed hidden until the query actually ran.
Two causes are fixed. Mixed-case column and table names are now quoted, so databases that fold unquoted names (Postgres and Redshift fold to lowercase, Snowflake and Oracle to uppercase) no longer look for a name that does not exist. And sorting by a column you did not project (for example ordering by a renamed or joined column) now emits a reference the database can resolve. When an ORDER BY column genuinely cannot be resolved in scope - such as ordering by a joined column that was not projected - you now get a clear error explaining the problem instead of SQL that fails at the database.
Better psql support in the Postgres facade
If you connect to the Postgres facade with psql, \d <table> now works. The facade answers the additional catalog lookups psql issues when describing a table, so you can inspect columns and structure interactively as you would against a real Postgres server.