*** 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