"...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.
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
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.
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
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.
> 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
You can open an issue at http://bugs.python.org
Regards
Antoine.
> 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?
> 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.
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.
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.
> 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
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
> 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. :)
> (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.
Have you tried the MySQL Windows client since Oracle took it over?
Lots more features, crashes with C library linkage errors.
John Nagle
Precisely my point.