Well, in a different concept of how compatibility was thought of with respect to stored schemes, you could have feature flags marked as "this feature is entirely optional to understand", "this feature is required to understand", and a third case that would work here and be extremely useful "this feature is required to understand if you want to write to the database, but if you merely open it read only it is optional".
Re:SQLite Release 3.37.0
by ComputerGuru on Saturday November 27, 2021 @04:28PM
(#29363736)
The existing check syntax would cover inserts but wouldn’t have supported the behavior of the new “any” type in a strict table.
What would be nice is if SQLite had separate “compatible with” and “read-only compatible with” fields, since the read-only behavior should not have changed at all (although I suppose describing the table would fail depending on how the presence of the STRICT modifier is codified).
Re:SQLite Release 3.37.0
by cryptonector on Saturday November 27, 2021 @05:10PM
(#29364065)
What they could have done is translated a STRICT table w/o ANY-typed columns to an older CREATE TABLE with CHECK()s. But anyways.
> a relational metaschema that doesn't suck for SQL schema
Something like an object-relational mapper, e.g. SQLAlchemy?
What kind of thing do you mean by a relational metaschema?
Re:SQLite Release 3.37.0
by formerly_proven on Saturday November 27, 2021 @04:50PM
(#29363916)
Describing SQL tables with an SQL table
That's called a catalog. (https://reldb.org/c/index.php/twelve-rules/, Rule #4)
And yes, it'd be very nice to have a relational metaschema that doesn't suck for SQL schema. So far all such metaschemas I've seen leave a lot to be desired.