Small. Fast. Reliable.
Choose any three.
*** 1,46 ****
  This page is about using in-memory SQLite databases.
  ----
  
! 2005-03-25: :memory: doesn't seem to work if using sqlite3_open16(), rather than sqlite3_open(). I 
  assume this is a bug?
  
  ----
  
! 2005-03-25: I want to create a database first in memory and then dump it on a file. How can I do this?
! <html>2005-07-03: I've written a <a href="http://www.kordelle.de/sqlite">patch</a> for SQLite 3.2.2 to add the feature you asking for.</html>
  
  ----
  
  <html>2004-09-15: I've written an <a href="http://www.filipdewaard.com/
! 21_SQLite_inmemory_databases.html">article</a> about memory databases in combination with PHP: 
! <a href="http://www.filipdewaard.com/archives/21_SQLite_inmemory_databases.html">SQLite in-
  memory databases</a>.</html>
  
  ----
  
! 2004-08-08: SQLite would be really useful for me if it supported shared memory databases, so that 
! unlike ':memory', multiple processes could share the same in-memory database. I am currently using 
! Turck MMcache to share data among PHP scripts; if I could use SQLite instead with similar performance 
  it would be really good.
  
! 2005-11-02: If you are on Linux, perhaps you could use the shared memory filesystm (tmpfs).  It looks just like a normal filesystem, except the Linux kernel stores it all in memory.  Some distributions come out of the box with /dev/shm mounted in this way, so you can share memory just by sharing files in this directory.
  
  ----
  2003-04-15:  The in-memory database is now in the CVS tree, though it is still
  mostly untested.
  
! 2003-05-09:  In-memory databases are now a feature of the standard SQLite library. To open an in-
  memory database, use filename ":memory:".
  ----
  
! _While connections to on-disk databases should not be carried across a Unix fork(), is there any reason 
  not to do it with an in-memory database?_
  (2003-10-21 by drh:) Not that I know of.
  
! DK: Of course, when you do the fork() you are creating a new copy of the in-memory db for the child 
! process. So subsequent edits to the db in the child won't show up in the parents copy, and vice-versa.
  
! NgPS: Multiple connections to ":memory:" within a single process create a fresh database each time:
  
    * (defvar db (sql:connect '(":memory:")
                              :database-type :sqlite
--- 1,73 ----
  This page is about using in-memory SQLite databases.
  ----
  
! 2006-01-07: I want to read a database from file to memory and use it
! via :memory: - can I do that?
! 
! (The DB is distributed on CD/DVD and it is accessed many times - reading it
! into memory would speed things up considerably.)
! 
! ----
! 
! 2005-03-25: :memory: doesn't seem to work if using sqlite3_open16(), rather
! than sqlite3_open(). I
  assume this is a bug?
  
  ----
  
! 2005-03-25: I want to create a database first in memory and then dump it on a
! file. How can I do this?
! <html>2005-07-03: I've written a <a
! href="http://www.kordelle.de/sqlite">patch</a> for SQLite 3.2.2 to add the
! feature you asking for.</html>
  
  ----
  
  <html>2004-09-15: I've written an <a href="http://www.filipdewaard.com/
! 21_SQLite_inmemory_databases.html">article</a> about memory databases in
! combination with PHP:
! <a
! href="http://www.filipdewaard.com/archives/21_SQLite_inmemory_databases.html">SQLite
! in-
  memory databases</a>.</html>
  
  ----
  
! 2004-08-08: SQLite would be really useful for me if it supported shared memory
! databases, so that
! unlike ':memory', multiple processes could share the same in-memory database. I
! am currently using
! Turck MMcache to share data among PHP scripts; if I could use SQLite instead
! with similar performance
  it would be really good.
  
! 2005-11-02: If you are on Linux, perhaps you could use the shared memory
! filesystm (tmpfs).  It looks just like a normal filesystem, except the Linux
! kernel stores it all in memory.  Some distributions come out of the box
! with /dev/shm mounted in this way, so you can share memory just by sharing
! files in this directory.
  
  ----
  2003-04-15:  The in-memory database is now in the CVS tree, though it is still
  mostly untested.
  
! 2003-05-09:  In-memory databases are now a feature of the standard SQLite
! library. To open an in-
  memory database, use filename ":memory:".
  ----
  
! _While connections to on-disk databases should not be carried across a Unix
! fork(), is there any reason
  not to do it with an in-memory database?_
  (2003-10-21 by drh:) Not that I know of.
  
! DK: Of course, when you do the fork() you are creating a new copy of the
! in-memory db for the child
! process. So subsequent edits to the db in the child won't show up in the
! parents copy, and vice-versa.
  
! NgPS: Multiple connections to ":memory:" within a single process create a fresh
! database each time:
  
    * (defvar db (sql:connect '(":memory:")
                              :database-type :sqlite