Small. Fast. Reliable.
Choose any three.
*** 5,11 ****
  
  ----
  
! *: 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 EXISTS keyword is not supported (IN is, but IN is only a special case of EXISTS). And what about 
--- 5,12 ----
  
  ----
  
! *: 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 EXISTS keyword is not supported (IN is, but IN is only a special case of EXISTS). And what about 
***************
*** 34,40 ****
  
  *: 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 
--- 35,43 ----
  
  *: 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 
***************
*** 139,145 ****
  
  _:Added as of 3.1
  
! *: INSERTing fewer values than columns does not fill the missing columns with the default values; if fewer values than columns in the table are supplied, all columns filled have to be named before the keyword values
  
  *: INSERTing one record with all VALUES to DEFAULT: INSERT INTO example () VALUES (); 
  
--- 142,150 ----
  
  _:Added as of 3.1
  
! *: INSERTing fewer values than columns does not fill the missing columns with the default values; if 
! fewer values than columns in the table are supplied, all columns filled have to be named before the 
! keyword values
  
  *: INSERTing one record with all VALUES to DEFAULT: INSERT INTO example () VALUES (); 
  
***************
*** 198,204 ****
              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 
  other, and these references are not null, you cannot insert one record until you have inserted the one to 
--- 203,211 ----
              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 
  other, and these references are not null, you cannot insert one record until you have inserted the one to 
***************
*** 228,241 ****
  
  *:SHOW TABLES and DESCRIBE [tablename] would be nice - not sure if they're standard, but they are a 
  rather nice feature of MySQL...
! -------- No, it's not standard. The standard says it should be a special database called INFORMATION_SCHEMA, wich contains info about all databases, tables, columns, index, views, stored procedures, etc.
! 
! *:SELECT ... FOR UPDATE OF ... is not supported.  This is understandable considering the mechanics of SQLite in that row locking is redundant as the entire database is locked when updating any bit of it.  However, it would be good if a future version of SQLite supports it for SQL interchageability reasons if nothing else.  The only functionality required is to ensure a "RESERVED" lock is placed on the database if not already there.
  
  *:DELETE from table ORDER BY column LIMIT x,y is not supported. I worked around
! it by using a second query and deleting, eg: SELECT timestamp from table LIMIT x,1; DELETE from table where timestamp < .....
  
! *:Named parts of natural joins. For example: SELECT a.c1 FROM T1 a NATURAL JOIN T1 b. Because sqlite reduces the number of columns kept, the name is lost.
  
  ===========
  REMARK
--- 235,259 ----
  
  *:SHOW TABLES and DESCRIBE [tablename] would be nice - not sure if they're standard, but they are a 
  rather nice feature of MySQL...
! -------- No, it's not standard. The standard says it should be a special database called 
! INFORMATION_SCHEMA, wich contains info about all databases, tables, columns, index, views, stored 
! procedures, etc.
! 
! *:SELECT ... FOR UPDATE OF ... is not supported.  This is understandable considering the mechanics of 
! SQLite in that row locking is redundant as the entire database is locked when updating any bit of it.  
! However, it would be good if a future version of SQLite supports it for SQL interchageability reasons if 
! nothing else.  The only functionality required is to ensure a "RESERVED" lock is placed on the database 
! if not already there.
  
  *:DELETE from table ORDER BY column LIMIT x,y is not supported. I worked around
! it by using a second query and deleting, eg: SELECT timestamp from table LIMIT x,1; DELETE from table 
! where timestamp < .....
! 
! *:The corollary to above, UPDATE table SET x WHERE y ORDER BY z is not supported. Haven't tried the 
! LIMIT addition to that form.
  
! *:Named parts of natural joins. For example: SELECT a.c1 FROM T1 a NATURAL JOIN T1 b. Because 
! sqlite reduces the number of columns kept, the name is lost.
  
  ===========
  REMARK
***************
*** 253,256 ****
  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 :).
  
! *: 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).
--- 271,276 ----
  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 :).
  
! *: 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).