Talk:SQLite/Archive 1

Criticisms
While I personally very much like SQLite, one of its major drawbacks (in my opinion, which is of course not neutral) is that it does not do any type checking. That means, if you insert 'hello' into an int column... it will not complain, and it will insert it just fine.

This is of course on purpose, and it is stated on the site why this is done, but I think it should be noted in this article - just as MySQL has criticisms.

-[Unknown] 18:39, Oct 11, 2004 (UTC)

Since SQLite 3 types are handled quite well
http://sqlite.org/datatype3.html:

"In order to maximize compatibility between SQLite and other database engines, SQLite support the concept of 'type affinity' on columns."

—Preceding unsigned comment added by Jstaniek (talk • contribs) 21:59, 15 July 2005

Link broken
SQLite C++ Wrapper (Target: http://cmk.navorski.com/index.php?wiki=Changelog) is redirected to casino onlinegames or something. I have removed the link. Please add the right one again. —Preceding unsigned comment added by 85.178.109.39 (talk • contribs) 09:55, 7 February 2006

Mutlithread deadlock problem with Temporary tables
After some time of consideration, I believe the multi-thread deadlock problem with temporary tables still needed to be addressed in the paragraph that concerns concurrent access issue. First, the paragraph beforehand does relate to concurrent access. Second, the target of SQLite users are aiming for performance and are likely exploiting the temporary table feature. This is not some casual bug reporting but a deadlock issue that will affect many SQLite users and relevant to the paragraph in question. The morale that Wikipedia is not bugzilla is well taken, but this problem will cause the system to deadlock which is fatal, and deserves to be properly addressed for anyone reading about SQLite. --Zero0w 05:02, 5 April 2006 (UTC)


 * Given that it's now been fixed for two months and two releases (the article is out of date, I'll update it in a sec) I have to agree it isn't worthy of inclusion in this article. But, honestly, it doesn't bother me one way or the other very much. Still, it seems reasonable that if two months is not long enough that we quantify what *is* long enough. --Steven Fisher 02:18, 6 April 2006 (UTC)


 * Ok, you suggested that a defined period of time to clarify the mention of the issue in question is interesting. Still since the previous paragraph is related to concurrent access, that was the reason I added the fix of concurrent access for temporary table in the first place. For the period, I'll suggest three months or two point releases later than the fix version to be safe enough to omit such information.
 * The morale of mentioning this was two fold: (1) For those who tried SQLite but rejected it due to the bug, can try it again. (2) The concurrent access issue has been there in the first place and I figured people would think it works okay all along from the impression of the paragraph, yet this piece of information is relevant to them at the time of writing. And btw, I don't know a new version is out until your edit :P . --Zero0w 17:05, 6 April 2006 (UTC)
 * I didn't either! I went to look to see when the issue was fixed. :) --Steven Fisher 06:21, 7 April 2006 (UTC)

Yum Performance Improvement Citation
"According to feedback from users, the performance improvement is impressive with reduced memory consumption as well.[citation needed]"

This isn't from "users" but I found: https://lists.dulug.duke.edu/pipermail/yum-devel/2005-January/000472.html —Preceding unsigned comment added by 199.245.163.1 (talk • contribs)

Citing Products that use SQLite
I propose that the section about products using SQLite be removed. It really doesn't add useful information to the article, it does not provide nearly a complete list, and it's starting to look like a list of spam. Does anyone have comments on this? Beethoven05 22:18, 15 December 2006 (UTC)


 * There's a very few on that list that add somewhat to the article, but the list keeps growing beyond that. I agree; it should be axed. --Steven Fisher 18:50, 18 December 2006 (UTC)


 * The most important stuff (like Adobe Apollo, Google Gears et al) can be inlined into prose. Rest, if at all is necessary, can be spun off to a list article. --  soum  (0_o) 13:08, 3 June 2007 (UTC)


 * The article should make a more prominent mention of how widespread SQLite use is, R. Hipp was quoted as saying it's probably the most used database engine worldwide, and there is little doubt about that as it's present on most of the PC (Apple, MS or Linux) and also made use of in large number of electronic appliances (as embedded db). 82.229.207.75 09:15, 12 July 2007 (UTC)


 * I found it very informative - made an 'aha' link in my mind, once I realized that it was the base db for Firefox and Skype - if the article is phrased as 'just a sample of the most popular products leveraging sqlite', it should clue the editors to keep the list pared down to relevant mass-market projects —Preceding unsigned comment added by 67.217.228.116 (talk) 15:59, 1 July 2008 (UTC)


 * Knowing that SQLite is embedded in other major systems is a significant facet. I concur that a list is problematic because it tempts folks to cram a bunch of minutia into it. But a paragraph mentioning major players like Firefox, (but not all the other Mozilla examples), Google Gears, (but not all Google examples), iPhone "and other cell phones operating systems", etc. This would be a valuable starting point for a "Typical Usages" section. --Chris Noe (talk) 23:17, 19 December 2008 (UTC)

Language bindings
I noticed today that the language bindings were removed some time ago. Unlike the products list, the language bindings are actually useful. For instance, sqlite being part of the core install of Mac OS X is very relevant to the article. The large number of languages/frameworks that have added support for sqlite speaks volumes about its acceptance. On the other hand, it being part of Amarok is completely irrelevent. --Steven Fisher 00:04, 20 April 2007 (UTC)

Is it worth adding that there is an SqlLite ADO.NET provider for C# / VB.NET? Makes it as easy as dealing with an MsSql or SqlCe DB. —Preceding unsigned comment added by 83.105.22.250 (talk) 10:14, 7 January 2008 (UTC)

DISQLite3
I'm not happy with the DISQLite3 mentions in this article. A Wikipedia article shouldn't be used to advertise a lesser-known and mostly irrelevant product. If DISQLite3 merits its own article on wikipedia, let's create one and do a See Also link there Otherwise, I don't think it merits mention here either. --Steven Fisher 00:50, 25 June 2007 (UTC)

Author
While D. Richard Hipp is undoubtadly the main developer, I'm wondering if we should list Hwaci as the developer. Hwaci is the company that "employs the architect and principal developers of SQLite." DRH isn't the only person working on the code anymore. Thoughts? --Steven Fisher 18:02, 20 September 2007 (UTC)

Relevant SQLite tutorial - Why remove it?
souptonuts.sourceforge.net/readme_sqlite_tutorial.html This is an informative tutorial for users investigating SQLite, and it would serve users to have this link posted. As to whether or the article should be posted, take into consideration that it may serve users. Agreed, I'm the author of this article; but, that fact is independent of its usefulness to users.

My goal, and only goal in posting, as well as writing this article, is to provide information to users seeking to understand SQLite. I receive no royalties, no site promotion, or no personal benefit in anyway.

I do not understand why the link has to be removed because I'm the author. If the link is relevant, it should stay. Can putting the link on the site be evaluated on the content and relevance of the article alone? Why does posting have to first be prejudiced by who posts the article before it is evaluated? Please explain.

Regards,

Mike Chirico —Preceding unsigned comment added by Mchirico (talk • contribs) 23:30, 24 January 2008 (UTC)


 * The messages I left on your talk page, and the text in WP:EL (see my edit summaries) should have been pretty clear. Adding sites you are affiliated with is not allowed, period. Your only contributions to Wikipedia consisted of adding links to your website. You have been blocked. Han-Kwang (t) 00:45, 25 January 2008 (UTC)


 * I see that the link has been added again by a third (not-involved) editor, which is how it is supposed to work and with which I am fine. Han-Kwang (t) 17:25, 25 January 2008 (UTC)


 * I still don't think it's necessary to included tutorial links on articles, but I'm not going to edit war about it. Chris Cunningham (talk) 19:29, 25 January 2008 (UTC)
 * Why not? It is in guidelines. Macaldo (talk) 15:53, 22 April 2008 (UTC)

Products using sqlite is back, only now it's called Adoption.
There's another list of products of varying notability here. Has anything changed since last time it was decided to remove this? --Steven Fisher (talk) 00:35, 29 February 2008 (UTC)
 * Products using SQLite is not relevant AMHA. Macaldo (talk) 15:51, 22 April 2008 (UTC)

Pronunciation
How is SQLite pronounced? Sequlite, S Q Lite, S Q L Lite or all of the above? Mathiastck (talk) 19:40, 10 April 2008 (UTC)


 * Watch the Introduction to SQLite video. It sounds like he's saying S Q Lite, but he's very fast. :) --Steven Fisher (talk) 00:03, 11 April 2008 (UTC)


 * Stuffed if I know, but if I had a choice, Sequelite rolls off the tongue easier—S-Q-Lite is a bit of a mouthful. -- 59.167.212.218 (talk) 07:28, 27 February 2009 (UTC)


 * It's definitely either "ess queue lite" or "ess queue ell ite", but I have no idea which. I think I read Hipp saying it was supposed to be "ess queue ell ite" ("like a mineral", I believe he said) but in the talks I've seen he's been pronouncing it "ess queue lite." Or I might have that backwards. At any rate, I don't think there's a single "good" way to pronounce it. -- Steven Fisher (talk) 16:51, 27 February 2009 (UTC)

SQLite and servers
"SQLite engine is not a standalone process with which the program communicates." (start of the article). Since there are servers that support SQlite for their hosted website, I wonder is this remains true? Macaldo (talk) 15:50, 22 April 2008 (UTC)


 * It's still true. Combining the SQLite engine with something else doesn't change the nature of the engine. Steven Fisher (talk) 00:04, 25 April 2008 (UTC)

Comparison to libdb/Berkeley DB
Hi Sdfisher, you removed the reference to Berkeley DB under "see also" with the comment "other dbs don't need to be listed here, that's what categories are for". Sure, lots of DBMS are listed there, including Berkeley DB. However, IMHO Berkeley DB deserves special mention because it is very similar to sqlite, but this fact gets lost in the noise of the many other listed DBMS. Anyone interested in sqlite should be made aware of closely related efforts; basically, Berkeley DB is also a library, but does not have an SQL frontend, just an API for direct access to B trees which contain binary data. Please consider re-adding the "see also" entry! Stachelfisch (talk) 19:10, 30 May 2008 (UTC)
 * I don't think just adding to the SA section is a good idea, but this is an interesting argument. Can you think of a way to fit it into the main article text in some section or another? --Steven Fisher (talk) 21:36, 3 June 2008 (UTC)
 * Been thinking about this. Maybe we should start a history section for sqlite, since it was originally (I think?) built on BDB. I haven't got the time at the moment to find references to back up a history, though... --Steven Fisher (talk) 17:02, 9 June 2008 (UTC)
 * I'm wrong, it was built atop gdbm. --Steven Fisher (talk) 18:52, 29 October 2008 (UTC)

Something wrong
This sentence is confused:
 * The program uses SQLite's functionality through simple function calls, which reduces latency in database access as function calls are more efficient than inter-process communication.

The problem is function calls vs. inter-process communication. Essentially no program can do an inter-process communication without calling functions, so the sentence reduces to bubkes. Inter-process communication should be versus something else, such as internal memory database lookup, but I don't know what (yet). ... said: Rursus (bork²) 07:49, 16 February 2009 (UTC)


 * It sounds like the contrast is that SQLite is used as a library within the application itself, whereas many other DBMSes run as a separate process -- frequently on a separate machine. So it's a question of whether a call to the DBMS requires IPC or not, rather than one of function-call overhead. --FOo (talk) 05:28, 17 February 2009 (UTC)


 * Does my edit make it any clearer? --Damian Yerrick (talk | stalk) 04:26, 18 February 2009 (UTC)


 * I don't follow the problem. Direct function calls take A. IPC takes A+B. A < A+B. What isn't clear? Steven Fisher (talk) 17:16, 18 February 2009 (UTC)
 * I like the clarification, for whatever that's worth. :) Steven Fisher (talk) 19:48, 25 February 2009 (UTC)
 * I like the clarification also. BTW the original version of this entire paragraph appears on p169 of Rich Tretola's Beginning Adobe AIR: Building Applications for the Adobe Integrated Runtime. WROX Programmer to Programmer sreies from www.wrox.com and Wiley Publishing Jacksonk0608 (talk) 11:14, 15 April 2009 (UTC)JacksonK0608


 * Huh. Well, I wrote a lot of that paragraph, and I definitely wasn't copying from a book. So if there was a copyvio, it wasn't to wikipedia. this edit is probably most significant. Steven Fisher (talk) 00:07, 18 April 2009 (UTC)

Google Chrome...
...also uses SQLite, if that's of any importance here. GregorB (talk) 16:52, 15 July 2009 (UTC)


 * So does Firefox. I don't think it's really notable unless it's had some coverage outside the dev sites, for example.  [ジャム] [ t  -  c  ] 17:56, 15 July 2009 (UTC)

ACID Compliant
I believe that the way the article presents SQLite as not being ACID compliant is incorrect. It sounds to me like someone is upset because the database didn't work they way they thought it should and so they modified the article to say that it is not ACID compliant because it is not "consistent". The problem with their argument is that they assume that the meaning of "consistent" in the ACID acronym refers--at least in part--to enforcing referential integrity.

Such an assumption should be verified, because from what I have read this is not at all the requirement of consistent. It is true that if a database has bad foreign keys it seems "inconsistent" but this is inconsistent to humans because we are making a logical association between the data in the tables. When talking about ACID compliance the consistency as I read it is actually referring to the fact that during a transaction data in the tables does not "change" unless specifically affected by your query. In other words it stays consistent.

Also the website for the product claims to be ACID compliant and so without some compelling evidence that not enforcing foreign keys breaks the consistent test the article should be updated to indicate that it is ACID compliant. It is probably worth still mentioning that the database does not enforce foreign keys and this is documented on their website among a few other parts of the SQL92 standard that are not implemented, but once again I have to say that not implementing this part of the SQL92 standard does not mean that the database fails the consistency test.

Cmbeelby (talk) 13:56, 4 November 2008 (UTC)


 * Just fix it. None of the editors involved in keeping this on the page have offered anything other than personal analysis of the source, which is the very definition of original research. Chris Cunningham (not at work) - talk 14:10, 4 November 2008 (UTC)

Okay. I have updated it. Also I have found further evidence that my understanding is correct. Section 8.0 of the Atomic Commit in SQLite uses the "consistent" term in the context of the data in the database being consistent--i.e. half of a transaction was not committed. Either it all goes or nothing goes. Consistency is not related to the enforcing of referential integrity. Cmbeelby (talk) 14:16, 4 November 2008 (UTC)


 * This is exactly the reason I tagged the "not ACID" claim with, but I was unable to find anything either way. I think you've backed this up adequately. Steven Fisher (talk) 01:24, 6 November 2008 (UTC)

"Half of a transaction being committed" is a violation of Atomicity (the A in "ACID"), not Consistency. Atomicity means that a transaction either fully completes, or is fully rolled back. Consistency has precisely to do with the enforcement of declared constraints upon the data, including relational constraints. --FOo (talk) 08:42, 6 November 2008 (UTC)


 * Some constraints are supported by SQLite. The question is this: Is support for foreign key constraints a requirement of consistency in the formal sense of "requirement"? Must a database that does not provide foreign key constraints fail the C in ACID? And, more importantly, can we provide a reliable reference? Steven Fisher (talk) 18:01, 6 November 2008 (UTC)
 * Wikipedia's article ACID links to Database consistency, which links to Integrity constraints. This lists entity integrity (PRIMARY implies NOT NULL and UNIQUE), referential integrity (REFERENCES; not in SQLite), and domain integrity (i.e. static typing; not in SQLite). But you're right that the article Integrity constraints needs a citation for Codd's relational model. There appears to be a citation in the article Edgar F. Codd, but I'm not a member of any library that has a copy of the book, and I'm not willing to subscribe to ACM's pay service just to follow this reference myself. --Damian Yerrick (talk | stalk) 02:21, 13 February 2009 (UTC)
 * Check that: Someone on Slashdot explained to me that REFERENCES is in SQLite if one uses  in   to compile foreign key constraints into triggers. --Damian Yerrick (talk | stalk) 16:10, 19 March 2009 (UTC)

I really think that sqlite is ACID-compliant nowadays, it supports nowadays foreign keys (without the use of triggers) and you can assert whether an integer column really stores an integer with a check constraint CHECK(typeof(x)='integer'). Heelmijnlevenlang (talk) 18:50, 2 December 2009 (UTC). Constraining the length of a string is also quite easy, just do check (length(mycolumn) between 1 and 100). Heelmijnlevenlang (talk) 19:18, 2 December 2009 (UTC)

Unicode support
has repeatedly reinsterted a comment about SQLite's Unicode support, drawn from the release notes. This is nothing but trivia and appears to be getting readded as a way of making some point about the software. If no secondary sources of note have discussed this then we shouldn't pay it any attention. Chris Cunningham (not at work) - talk 11:42, 23 June 2010 (UTC)

GUI Tools?
What about GUI Tools for SQLite? Especially, free, open source, such as SQLite Manager by Mrinal Kant, a Firefox Add-in? —Preceding unsigned comment added by 71.139.18.139 (talk) 15:36, 17 November 2010 (UTC)

TCL
"SQLite began as a Tcl extension and the primary test suite for SQLite is written in TCL"

Is this not true? Is it not the basis for the AOL involvement ?

If it had begun in Java or Erlang, this would be noted prominently, would it not? But Tcl has no mention in the section on the origins of SQLite. G. Robert Shiplett 22:40, 11 April 2011 (UTC) — Preceding unsigned comment added by Grshiplett (talk • contribs)

Grammar for bindings statement in overview at top
Just a thought of grammar, should "It has many bindings to programming languages." be replaced with "It has bindings to many programming languages." or "It has bindings for many programming languages.". I believe the second and third statements are grammatically better, but I'm not sure whether it should be "bindings to" or "bindings for".

In the meantime, I have added a link to Language binding in the sentence in question.

--Jaguar83 (talk) 02:37, 13 February 2012 (UTC)

Providing db as a library is common
Just read the opening paragraph ending with : "In contrast to other database management systems, SQLite is not a separate process that is accessed from the client application, but an integral part of it."

If the goal is to avoid useless hype, that kind of comparisons should be avoided. Even though a claim can be true at one point of time it most likely will not be true infinitely. Providing a db in a linked lib is common way to provide db functionality. There are various ways to implement this. Library can be static, or dynamic. The server can use shared memory so that clients can be run in separate processes and access the same data. I'm not aware how wide is the support of SQLite, but the centence could as well say 'Like most embedded database management systems ... Unlike most database management systems, SQLite doesn't give the opportunity to run in separate server process'. 88.114.57.29 (talk) 09:24, 6 July 2012 (UTC)

Concurrent Writes?
"This restriction is relaxed in version 3.7 when WAL is turned on enabling concurrent reads and writes.[11]"

The referenced articles does not support this assertion - it states: 1) WAL provides more concurrency as readers do not block writers and a writer does not block readers.    Reading and writing can proceed concurrently. 2) Writers merely append new content to the end of the WAL file. Because writers do nothing that would interfere with the actions of readers, writers and readers can run at the same time. However, since there is only one WAL file, there can only be one writer at a time. — Preceding unsigned comment added by 82.43.21.66 (talk) 10:11, 18 August 2012 (UTC)

sqlite3 is not just a standalone program, or what?
The article says that 'sqlite3 is a standalone program ...'. Isn't there a standalone program for every version? And for version 3 the stand alone program just happens to be called 'sqlite3'? I think it is misleading.

Could be nice too, if someone could comment on differences and compatibilities between versions.

80.71.54.146 (talk) 10:48, 21 July 2011 (UTC)

The file format changed for version 3, necessitating a separate client. The client for 1-2 is just called sqlite. — Preceding unsigned comment added by 24.89.139.58 (talk) 20:18, 2 June 2014 (UTC)

Tcl history of SQLite ?
SQLite began as a Tcl extension

— Preceding unsigned comment added by 142.162.21.54 (talk) 09:53, 8 September 2014 (UTC)

Inclusion in Windows Phone 8
Windows Phone doesn't ship with a copy of sqlite3.dll, it's provided through an Extension SDK and each app has its own copy within its app package — Preceding unsigned comment added by Kipters (talk • contribs) 18:24, 29 September 2015 (UTC)

UnQL?
In 2011 Hipp announced his plans to add an UnQL interface to SQLite databases and to develop UnQLite

What on earth is UnQL (do they mean NoSQL) and why is the link broken? — Preceding unsigned comment added by 151.227.137.125 (talk) 16:18, 29 December 2015 (UTC)
 * Surprisingly, I was able to use a search engine to assist in my enquiries, and one of the top results was this page: http://www.dataversity.net/unql-a-standardized-query-language-for-nosql-databases/, which seems to explains it well. The link is red because it seems that nobody has got around to writing an article about it yet. It would seem to be a suitable subject for an article; now is your chance to make your mark! Rwxrwxrwx (talk) 17:26, 29 December 2015 (UTC)

Pronunciation
Please include word pronunciation Full Decent (talk) 17:28, 16 June 2017 (UTC)

Should SQLLite be used for desktop application as local db. I need to use sql lite for a desktop application where I need to store data locally when device is not in the network era. Please suggest, is it right decision to use sql lite. — Preceding unsigned comment added by 115.96.80.133 (talk) 14:54, 8 August 2017 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified one external link on SQLite. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20100417055245/http://rubyforge.org/projects/sqlite-ruby to http://rubyforge.org/projects/sqlite-ruby

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 11:41, 3 September 2017 (UTC)

Firefox SQLite AddOn tool no longer working
I think I just noticed that the SQLite Manager Add-on for FireFox is no longer available to current FireFox browsers, due to a change in FireFox. Pity, but maybe the Notable Users / Web Browsers should be updated? (I would, but I'm not that sure of my info.)bobskiwobski (talk) 16:46, 29 November 2017 (UTC)