Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SQLite is quite SQL compliant

12 views
Skip to first unread message

Ravi

unread,
Oct 2, 2010, 4:06:12 PM10/2/10
to
The documentation of the sqlite module at http://docs.python.org/library/sqlite3.html
says:

"...allows accessing the database using a nonstandard variant of the
SQL..."

But if you see SQLite website they clearly say at http://sqlite.org/omitted.html
that only very few of the SQL is not implemented. I think docs should
clarify on that. Many users might be scared of using SQLite just
because of this.

Cousin Stanley

unread,
Oct 2, 2010, 5:15:18 PM10/2/10
to
Ravi wrote:

SQLite is very widely used
in many different contexts ....

You might check the related wikipedia article
and scroll down to the Adoption section
for a brief list of some well-known users ....

http://en.wikipedia.org/wiki/Sqlite


--
Stanley C. Kitching
Human Being
Phoenix, Arizona

Seebs

unread,
Oct 2, 2010, 6:06:58 PM10/2/10
to

I would agree that the word "nonstandard" seems to be a little strong and
discouraging. sqlite is a source of joy, a small bright point of decent
and functional software in a world full of misbehaving crap. While it
does omit a few bits of SQL functionality, I'd call it perhaps a "slightly
incomplete implementation" rather than a "nonstandard variant".

-s
--
Copyright 2010, all wrongs reversed. Peter Seebach / usenet...@seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
I am not speaking for my employer, although they do rent some of my opinions.

Tim Chase

unread,
Oct 2, 2010, 6:58:44 PM10/2/10
to Seebs, pytho...@python.org
On 10/02/10 17:06, Seebs wrote:
> On 2010-10-02, Ravi<ra.ra...@gmail.com> wrote:
>> The documentation of the sqlite module at
>> http://docs.python.org/library/sqlite3.html says:
>
>> "...allows accessing the database using a nonstandard
>> variant of the SQL..."
>
> I would agree that the word "nonstandard" seems to be a little
> strong and discouraging. sqlite is a source of joy, a small
> bright point of decent and functional software in a world full
> of misbehaving crap. While it does omit a few bits of SQL
> functionality, I'd call it perhaps a "slightly incomplete
> implementation" rather than a "nonstandard variant".

In my experience, it might be better phrased as "non-standard
(but more adherent to standards than Microsoft SQL-Server or
MySQL) variant of SQL". :-)

I mean really...does *any* RDBMS actually adhere to ANSI SQL?

-tkc

D'Arcy J.M. Cain

unread,
Oct 2, 2010, 7:02:48 PM10/2/10
to Seebs, pytho...@python.org
On 02 Oct 2010 22:06:58 GMT

Seebs <usenet...@seebs.net> wrote:
> I would agree that the word "nonstandard" seems to be a little strong and
> discouraging. sqlite is a source of joy, a small bright point of decent
> and functional software in a world full of misbehaving crap. While it
> does omit a few bits of SQL functionality, I'd call it perhaps a "slightly
> incomplete implementation" rather than a "nonstandard variant".

If you are looking for better wording I suggest "...an almost complete
implementation..." instead. Sounds more positive.

--
D'Arcy J.M. Cain <da...@druid.net> | Democracy is three wolves
http://www.druid.net/darcy/ | and a sheep voting on
+1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.

Philip Semanchuk

unread,
Oct 2, 2010, 7:13:11 PM10/2/10
to Python mailing list

On Oct 2, 2010, at 6:58 PM, Tim Chase wrote:

> On 10/02/10 17:06, Seebs wrote:

>> On 2010-10-02, Ravi<ra.ra...@gmail.com> wrote:
>>> The documentation of the sqlite module at
>>> http://docs.python.org/library/sqlite3.html says:
>>
>>> "...allows accessing the database using a nonstandard
>>> variant of the SQL..."
>>

>> I would agree that the word "nonstandard" seems to be a little
>> strong and discouraging. sqlite is a source of joy, a small
>> bright point of decent and functional software in a world full
>> of misbehaving crap. While it does omit a few bits of SQL
>> functionality, I'd call it perhaps a "slightly incomplete
>> implementation" rather than a "nonstandard variant".
>

> In my experience, it might be better phrased as "non-standard (but more adherent to standards than Microsoft SQL-Server or MySQL) variant of SQL". :-)
>
> I mean really...does *any* RDBMS actually adhere to ANSI SQL?

That's what I was thinking. Most of them achieve 90 - 98% and implement their own extra 10% of non-standard extensions. One just has to hope that the bits one needs are not in the missing 2-10%.

I agree with the OP that the Python doc description of SQLite, while factually correct, seems a bit severe.

Cheers
Philip

Antoine Pitrou

unread,
Oct 2, 2010, 7:39:28 PM10/2/10
to pytho...@python.org
On Sat, 2 Oct 2010 19:13:11 -0400
Philip Semanchuk <phi...@semanchuk.com> wrote:
>
> On Oct 2, 2010, at 6:58 PM, Tim Chase wrote:
>
> > On 10/02/10 17:06, Seebs wrote:
> >> On 2010-10-02, Ravi<ra.ra...@gmail.com> wrote:
> >>> The documentation of the sqlite module at
> >>> http://docs.python.org/library/sqlite3.html says:
> >>
> >>> "...allows accessing the database using a nonstandard
> >>> variant of the SQL..."
> >>
> >> I would agree that the word "nonstandard" seems to be a little
> >> strong and discouraging. sqlite is a source of joy, a small
> >> bright point of decent and functional software in a world full
> >> of misbehaving crap. While it does omit a few bits of SQL
> >> functionality, I'd call it perhaps a "slightly incomplete
> >> implementation" rather than a "nonstandard variant".
> >
> > In my experience, it might be better phrased as "non-standard (but more adherent to standards than Microsoft SQL-Server or MySQL) variant of SQL". :-)
> >
> > I mean really...does *any* RDBMS actually adhere to ANSI SQL?
>
> That's what I was thinking. Most of them achieve 90 - 98% and implement their own extra 10% of non-standard extensions. One just has to hope that the bits one needs are not in the missing 2-10%.
>
> I agree with the OP that the Python doc description of SQLite, while factually correct, seems a bit severe.

You can open an issue at http://bugs.python.org

Regards

Antoine.


Lawrence D'Oliveiro

unread,
Oct 3, 2010, 3:09:29 AM10/3/10
to
In message <slrniafbbr.2iq...@guild.seebs.net>, Seebs wrote:

> sqlite is a source of joy, a small bright point of decent
> and functional software in a world full of misbehaving crap.

Have you learnt how to be selective in your downloads yet?

Florian Weimer

unread,
Oct 3, 2010, 10:02:07 AM10/3/10
to
* Ravi:

> The documentation of the sqlite module at http://docs.python.org/library/sqlite3.html
> says:
>
> "...allows accessing the database using a nonstandard variant of the
> SQL..."
>
> But if you see SQLite website they clearly say at
> http://sqlite.org/omitted.html that only very few of the SQL is not
> implemented.

I think that page refers to SQL92, not some more recent version of the
standard. There are also issues caused by SQLite's approach to
typing, e.g.

SELECT 1 = '1';

returns a false value, where it would return true on other systems.

SQLite is a fine piece of software, but its SQL dialect has many
quirks.

Seebs

unread,
Oct 3, 2010, 11:11:09 AM10/3/10
to

Sadly, as a side-effect of my day job, I am often obliged to work with
arbitrary software that someone somewhere specified as part of a requirement.

It is stunning how often you can guess which of two packages will be the
source of a bug just by seeing which one hurts more to look at.

Nobody

unread,
Oct 3, 2010, 1:45:42 PM10/3/10
to

I suspect that it's referring to the fact that SQLite is dynamically
typed. IOW, the problem isn't with features being omitted, but with
features not working how you would expect them to.

John Nagle

unread,
Oct 3, 2010, 2:21:43 PM10/3/10
to
On 10/2/2010 3:06 PM, Seebs wrote:

> I would agree that the word "nonstandard" seems to be a little strong and
> discouraging. sqlite is a source of joy, a small bright point of decent
> and functional software in a world full of misbehaving crap. While it
> does omit a few bits of SQL functionality, I'd call it perhaps a "slightly
> incomplete implementation" rather than a "nonstandard variant".

That's a bit much.

What SQLite leaves out is the heavy machinery needed for a active
production database being used by many processes. If you want to store
a modest amount of data for one process, perhaps with a rare conflict
when two programs hit the same table, SQLite is fine. But SQLite
doesn't scale. That's why it's "lite".

Some of SQLite's good features, are achieved by rather brutal
means. For example, SQLite supports atomic transactions. That's
implemented by locking up all tables involved for the duration
of the entire transaction. This is fine for low-volume updates,
and a killer for high-volume systems.

SQLite doesn't have a serious query optimizer, or partial table
locking, or concurrent transaction handling, or replication.
In other words, use SQLite in your desktop app to manage its data
or configuration parameters. Use MySQL or Postgres for your
web site.

(Personally, I like MySQL, but I fear Oracle will mess it up.)

John Nagle

Philip Semanchuk

unread,
Oct 3, 2010, 2:32:05 PM10/3/10
to Python mailing list

Granted, but we're talking about whether or not SQLite complies with the SQL standard, not whether it's suitable for an e-commerce Web site or running the NYSE.

Cheers
Philip

Lawrence D'Oliveiro

unread,
Oct 3, 2010, 8:38:11 PM10/3/10
to
In message <slrniah7cc.8f0...@guild.seebs.net>, Seebs wrote:

> It is stunning how often you can guess which of two packages will be the
> source of a bug just by seeing which one hurts more to look at.

QOTW. :)

Lawrence D'Oliveiro

unread,
Oct 3, 2010, 8:40:07 PM10/3/10
to
In message <4ca8c9b6$0$1598$742e...@news.sonic.net>, John Nagle wrote:

> (Personally, I like MySQL, but I fear Oracle will mess it up.)

Doesn’t matter whether Oracle messes up the brand called “MySQL” or not.
With Free Software, it’s the software that matters, not the brand. And the
software continues to be developed by other sources.

John Nagle

unread,
Oct 3, 2010, 11:33:13 PM10/3/10
to

Have you tried the MySQL Windows client since Oracle took it over?
Lots more features, crashes with C library linkage errors.

John Nagle

Lawrence D'Oliveiro

unread,
Oct 4, 2010, 5:04:59 PM10/4/10
to

Precisely my point.

0 new messages