Is it just me, or is Sqlite3 goofy?

Mike Owens mikeowens at
Tue Sep 12 04:28:54 CEST 2006

On 11 Sep 2006 18:23:50 -0700, mensanator at <mensanator at> wrote:

> Can you run your car on diesel fuel?
> Why not?
> Because your car's specification says to use gasoline?
> If your car has been designed to run on diesel, you shouldn't
> be saying it has gasoline engine. Duh.

No but you can still call it a car with an engine, just as SQLite is a
SQL database, with an SQL engine.

> > Furthermore, I'm not responding to Python's representation of one
> > thing or another. I am responding to some of the ridiculous and unfair
> > criticisms directed at SQLite. Whatever Python did or didn't do, or
> > whatever PySQLite does or doesn't do, SQLite doesn't deserve to be
> > drug through the mud.
> Sure it does.

No it doesn't. If you don't like SQLite's design decisions, write your
own embedded relational database, and stop yapping about something you
didn't lift a finger to create, but are clearly trying to benefit

> >From SQLite Homepage
>   documentation
>     Available Documentation
>       Distinctive Features
> In manifest typing, the datatype is a property of the
> value itself, not of the column in which the value is
> stored. SQLite thus allows the user to store any value
> of any datatype into any column regardless of the declared
> type of that column. (There are some exceptions to this
> rule: An INTEGER PRIMARY KEY column may only store
> integers. And SQLite attempts to coerce values into the
> declared datatype of the column when it can.)
> ***********************************************************
> * The SQL language specification calls for static typing. *
> ***********************************************************

It calls for other things that many databases don't implement or
altogether violate as well, so what? Show me how both MS SQL's T-SQL
and Oracle's PL/SQL procedure languages are so standards compliant
that you can use the same procedure code in both databases. You can't
-- precisely because they ignore or outright violate parts of the
standard as well. What's your position on that? Do some Googling and
you can easily find 18 ways that Oracle's PL/SQL deviates from the
standard. And T-SQL is plainly nowhere close.

> A spcification cannot be a bug (unless it is inconsistent
> with other specifications). An implementation can be,
> but a specification cannot.

Then every database implementation, when held up to the SQL standard,
is equally guilty of being buggy and/or incomplete. Name one database
that fully conforms to SQL 2003. Can't name one? Then why single out

> > Then what does calling it crappy and goofy suggest?
> It suggests that the SQLite author is a crackpot.

Crackpot? And now we get to why I took the flamebait -- wonderfully
constructive comments such as this.

I know SQLite's author. Besides being a nice and clearly very
intelligent person, he also holds a master's degree in electrical
engineering from Georgia Tech and a PhD in computer science from Duke
University. His "crackpot" software is used by Sun, Apple, Symbian,
Google, AOL, Philips, DLink, and I don't know how many other
companies, not to mention countless open source projects such as
Mozilla, PHP, and now Python. But I guess they must all be crackpots

It's clear. You're just way too smart for SQLite.

More information about the Python-list mailing list