Small. Fast. Reliable.
Choose any three.
*** 4,9 ****
--- 4,11 ----
  below.
  
  ----
+ *: updating multiple columns with subselect e.g. update T1 set (theUpdatedValue, theOtherValue) = 
+ (select theTop, theValue from T2 where T2.theKey = T1.theID)
  
  *: free text search capabilities in select statements:
  Mysql does free text search Match(field_list) Against(keyword)
***************
*** 27,33 ****
  
  *: Rollup and Cube - _Who can tell me what this means?_
  
! _::: I don't know much about it myself, but a quick google on the subject gives me... http://www.winnetmag.com/SQLServer/Article/ArticleID/5104/5104.html and http://databases.about.com/library/weekly/aa070101a.htm
  
  _::: both of these imply that the CUBE operator causes new rows to be generated to give a wildcard 
  value to non-numeric columns and summing the numeric columns which match those wildcards. The 
--- 29,37 ----
  
  *: Rollup and Cube - _Who can tell me what this means?_
  
! _::: I don't know much about it myself, but a quick google on the subject gives me... http://
! www.winnetmag.com/SQLServer/Article/ArticleID/5104/5104.html and http://databases.about.com/
! library/weekly/aa070101a.htm
  
  _::: both of these imply that the CUBE operator causes new rows to be generated to give a wildcard 
  value to non-numeric columns and summing the numeric columns which match those wildcards. The 
***************
*** 75,81 ****
  _::::: I could use this. Im trying to use sqlite as a 'fake database' 
  that i can use in testing suite. For sqlite to be a good 'fake' of 
  something like Oracle it would help a lot if it had the ability to do stuff
! like 'select * from blah.PERSON'. In this case the 'blah' is the schema name. PERSON is the table name. Another example:  'select zipcode from blorg.ADDRESS'. blorg is the schema name, ADDRESS is the table name. 
  right now it is giving 'no such database as blah' or 'no such database as
  blorg'. i try to 'create database blah' but of cousre that doesnt work either. 
  
--- 79,87 ----
  _::::: I could use this. Im trying to use sqlite as a 'fake database' 
  that i can use in testing suite. For sqlite to be a good 'fake' of 
  something like Oracle it would help a lot if it had the ability to do stuff
! like 'select * from blah.PERSON'. In this case the 'blah' is the schema name. PERSON is the table name. 
! Another example:  'select zipcode from blorg.ADDRESS'. blorg is the schema name, ADDRESS is the 
! table name. 
  right now it is giving 'no such database as blah' or 'no such database as
  blorg'. i try to 'create database blah' but of cousre that doesnt work either. 
  
***************
*** 136,142 ****
  same, since REPLACE is DELETE and INSERT, but sometimes close enough).  *< gifford hesketh::2004-
  Oct-26*
  
! _:: I've managed successfully to do this an alternative way, works in version 3.2.1 (--CAU:18-Aug-2005) ...
  
  		--
  		-- emulating "UPDATE ... FROM" in SQLite
--- 142,149 ----
  same, since REPLACE is DELETE and INSERT, but sometimes close enough).  *< gifford hesketh::2004-
  Oct-26*
  
! _:: I've managed successfully to do this an alternative way, works in version 3.2.1 (--CAU:18-Aug
! -2005) ...
  
  		--
  		-- emulating "UPDATE ... FROM" in SQLite
***************
*** 201,207 ****
  *:More than one primary key per table, I can specify this with MySQL for example and SQLite returns me 
  an error: more than one primary key specified...
  
! _: "More than one primary key" is an oxymoron when you're talking about the relational data model.  By definition, a primary key uniquely identfies a row.  What's the real problem you're trying to solve?
  
  *:UPDATE t1, t2 SET t1.f1 = value WHERE t1.f2 = t2.fa
  
--- 208,215 ----
  *:More than one primary key per table, I can specify this with MySQL for example and SQLite returns me 
  an error: more than one primary key specified...
  
! _: "More than one primary key" is an oxymoron when you're talking about the relational data model.  By 
! definition, a primary key uniquely identfies a row.  What's the real problem you're trying to solve?
  
  *:UPDATE t1, t2 SET t1.f1 = value WHERE t1.f2 = t2.fa
  
***************
*** 239,253 ****
  the foreign key (id) generate an error, a chance to be supported in the future?
  foreign key dont supported in sqlite? or generater automaticaly or ?
  
! That's not a legal FOREIGN KEY clause; you have to specify what the foreign key references.  SQLite parses, but does not enforce, syntactically-legal FOREIGN KEY specifications; there's a PRAGMA that will retrieve foreign-key information from table definitions, allowing you to enforce such constraints with application code.
  
  ====
  FEATURES ADDED IN RECENT VERSIONS
  ====
! *: Extended POSIX regular expressions (should be easy, man 3 regcomp, or http://mirbsd.bsdadvocacy.org/man3/regcomp.htm for reference)
     SELECT * FROM table WHERE name REGEX '[a-zA-Z]+_{0,3}';
  
! The infrastructure for this syntax now exists, but you have to create a user-defined regex matching function.
  
  *: The EXISTS keyword is not supported (IN is, but IN is only a special case of EXISTS). And what about 
  corelated subqueries ?
--- 247,266 ----
  the foreign key (id) generate an error, a chance to be supported in the future?
  foreign key dont supported in sqlite? or generater automaticaly or ?
  
! That's not a legal FOREIGN KEY clause; you have to specify what the foreign key references.  SQLite 
! parses, but does not enforce, syntactically-legal FOREIGN KEY specifications; there's a PRAGMA that will 
! retrieve foreign-key information from table definitions, allowing you to enforce such constraints with 
! application code.
  
  ====
  FEATURES ADDED IN RECENT VERSIONS
  ====
! *: Extended POSIX regular expressions (should be easy, man 3 regcomp, or http://
! mirbsd.bsdadvocacy.org/man3/regcomp.htm for reference)
     SELECT * FROM table WHERE name REGEX '[a-zA-Z]+_{0,3}';
  
! The infrastructure for this syntax now exists, but you have to create a user-defined regex matching 
! function.
  
  *: The EXISTS keyword is not supported (IN is, but IN is only a special case of EXISTS). And what about 
  corelated subqueries ?
***************
*** 284,290 ****
              sequence_value bigint not null default 1
          )
  
! _:In fact, why don't you just take a look at the original module (DBIx::MySQLSequence): http://search.cpan.org/~adamk/DBIx-MySQLSequence-0.1/MySQLSequence.pm. In fact, why don't you just 
  copy that module, and rewrite using code inside the database.
  
  _:The main reason for doing this, is that if you want to insert multiple records which reference each 
--- 297,304 ----
              sequence_value bigint not null default 1
          )
  
! _:In fact, why don't you just take a look at the original module (DBIx::MySQLSequence): http://
! search.cpan.org/~adamk/DBIx-MySQLSequence-0.1/MySQLSequence.pm. In fact, why don't you just 
  copy that module, and rewrite using code inside the database.
  
  _:The main reason for doing this, is that if you want to insert multiple records which reference each 
***************
*** 323,338 ****
  -- Are you calling Oracle 'a bloated piece of software'?. LOL. I would love to see a comparison of Oracle 
  and SQLite (latest stable or bleeding edge SQLite version Vs Oracle 10g). I would love it. [This 
  comparison idea is as valid as comparing a novel to a short story.] Anyway, SQLite seems a lil' database 
! engine for lil' works. Sorry, not enough for me :). -- Why would anyone compare Oracle to sqlite other than to say "can you add support for this Oracle syntax to make migration between them easier"? -- Someone might 
  mistakenly compare Oracle
  to SQLite because they fail to comprehend that the two products solve
  very different problems.
  
  *: Up to this moment I thought that Postgree was smallest possible free DB engine (since MySQL is 
  *NOT* free), so if you are looking for something to distribute along with your application, SQLite seem 
! to win against 10g, MySQL, Postgree, or whatever (by Makc). - Just to be awkward, what about berkelydb etc? And when you say free you mean free of restrictions don't you (rather than Free software)?  -- Berkeley DB does
  not include SQL support.
  
  I wonder how useful these "remarks" are...
  
! What about Apache Derby? It uses the Apache 2.0 license and is easy to embed in Java applications (http://db.apache.org/derby/). -- See SqliteVersusDerby
--- 337,357 ----
  -- Are you calling Oracle 'a bloated piece of software'?. LOL. I would love to see a comparison of Oracle 
  and SQLite (latest stable or bleeding edge SQLite version Vs Oracle 10g). I would love it. [This 
  comparison idea is as valid as comparing a novel to a short story.] Anyway, SQLite seems a lil' database 
! engine for lil' works. Sorry, not enough for me :). -- Why would anyone compare Oracle to sqlite other 
! than to say "can you add support for this Oracle syntax to make migration between them easier"? -- 
! Someone might 
  mistakenly compare Oracle
  to SQLite because they fail to comprehend that the two products solve
  very different problems.
  
  *: Up to this moment I thought that Postgree was smallest possible free DB engine (since MySQL is 
  *NOT* free), so if you are looking for something to distribute along with your application, SQLite seem 
! to win against 10g, MySQL, Postgree, or whatever (by Makc). - Just to be awkward, what about 
! berkelydb etc? And when you say free you mean free of restrictions don't you (rather than Free 
! software)?  -- Berkeley DB does
  not include SQL support.
  
  I wonder how useful these "remarks" are...
  
! What about Apache Derby? It uses the Apache 2.0 license and is easy to embed in Java applications 
! (http://db.apache.org/derby/). -- See SqliteVersusDerby