Wow! This is quite cool. Of course, it prompts another question or two:

Instead of attaching the database to a file, is it possible to attach to a
TCP socket?

If so, then if there are two instances of SQLite running in-memory databases
(with identical schema) in two separate processes (same or different
computers), is there already a similar method to copy the databases from one
process to another (either by a pull model or a push model)? Or does one
have to set up the plumbing and the handshaking first?

If this is possible, then it may be possible to get some form of
"high-availability" with a dozen lines of SQLite code. THAT appeals to my
desire for simplicity (and perhaps to my laziness).


Curiously,   Jay Godse

----- Original Message ----- 
From: "D. Richard Hipp" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Friday, March 12, 2004 7:37 PM
Subject: Re: [sqlite] Question about in memory db's


> Keith Herold wrote:
>  > Is there a fast way to dump the in-memory db to disk, *and*
periodically
>  > reload the file into an in-memory db?
>  >
>
> The ATTACH command can be used for this.
>
> Suppose you do an sqlite_open() on the in-memory database
> and you want to transfer the complete contents of an
> in-memory table XYZ to an on-disk database named "abc.db"
> You can do something like this:
>
>     ATTACH 'abc.db' AS external;
>     BEGIN;
>     DELETE FROM external.xyz;
>     INSERT INTO external.xyz SELECT * FROM xyz;
>     COMMIT;
>     DETACH external;
>
> The same technique works in reverse to load an in-memory
> table from disk:
>
>     ATTACH 'abc.db' AS external;
>     BEGIN;
>     DELETE FROM xyz;
>     INSERT INTO xyz SELECT * FROM external.xyz;
>     COMMIT;
>     DETACH external;
>
> Use WHERE clauses creatively if you only want to transfer
> part of the data.
>
> Note that it is not necessary to ATTACH and DETACH every
> time you want to do this.  If you are always using the
> same external database file, you can just ATTACH it once
> when you open the in-memory database and it will always
> be there for you.
>
> -- 
> D. Richard Hipp -- [EMAIL PROTECTED] -- 704.948.4565
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to