On Sat, 23 Apr 2016 08:56:14 -0400 "Keith Medcalf" <kmedcalf at dessus.com> wrote:
> Those things that those other DBMSes do are holdovers to maintain > backwards compatibility with the good old days when dinosaurs ruled > the earth As amusing as your rant is, it's not accurate. Treating columns as types is a "holdover" from mathematics and logic. It has nothing to do with maintaining backwards compatibility, or the cost of RAM. Many new DBMS engines have been written in recent years (notably columnar stores) and, of those that support SQL, none abandoned strict column types. Granted, duck-typing is/was a design choice. The good news is it makes simple things simple. But it's also the source of quite a bit of confusion and perplexity, not to mention errors and complexity: *inserting* is easy, but selection is made more complicated. The application has to be prepared to cope with inconsistencies (and errors) in the data that are prevented by type-checking. In SQLite, the "dba" has to exercise care, in a very reduntant way, to effect type-enforcement of a kind he gets "for free" with a standard DBMS. --jkl