[EMAIL PROTECTED] wrote:

Jay Sprenkle <[EMAIL PROTECTED]> wrote:
On 11/1/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
All of the arguments against my proposed changes are
basically of the form that "this is not what the SQL standard
says".  They are theoretical arguments based on a world-view
that holds that strong-typing is good and that it is the duty
of database systems to enforce types.

I do not hold to that world view.  SQLite seeks a better way.
I think it's a bit misleading to call the library "SQL-Lite: if you're
going to redesign
and not be like SQL. What do you think about creating a separate
project for a fast
light database engine that's not "SQL Like"?

SQLite is very much SQL.  It only deviates from the standard
to fix bugs in the original design of the standard.
--
D. Richard Hipp <[EMAIL PROTECTED]>


Richard,

This particular point is devolving into a semantic argument, so I hesitate to continue down this road, but ... A language like SQL is defined by its standard (warts and all).

If you develop something that conforms to some but not all of the standard, especially if the non-conformities are by design, the best you can say is that it is close to the standard.

Further, I would suggest that the arguments against your change are more along the lines of "standards are good" rather than "strong typing is good". Many people have learned the hard way that using multiple implementations of something that are close to, but not quite standard, often leads to problems. The C language had this problem before ANSI standardization (and the release of conforming or nearly conforming compilers by almost all vendors). The same source often produced different results with different compilers. The use of language extensions (i.e. fixes to design omissions) is also often fraught with trouble.

If you set out to fix "bugs" in the design of a language, you are really designing a new language. This is why we have C# , C++, and D (or even C itself, which was a redesign of BCPL). They are all languages that were developed to fix bugs that their creators saw in the C language or one of its other derivatives.

The type of gratuitous non-conformance that you have proposed is almost certainly going to lead to interoperability problems between SQLite and other SQL implementations. It won't necessarily make SQLite itself better or worse than the others, simply different. That difference will then need to be allowed for by code that deals with different SQL implementations.

This is your project (and I thank you very much for your work on it) so it is ultimately your decision how SQLite will work. I just think that you should very carefully consider any changes that will lead to less conformance with the standard for the language that you are trying to implement.

Dennis Cote

Reply via email to