Hi,

On 6/6/07, Stefan Guggisberg <[EMAIL PROTECTED]> wrote:
something that just crossed my mind: i know a number of people
want to store everything (config, meta data, binaries and content)
in the same db in order to allow easy backup/restore of an entire
repository. currently they can do so by using DatabaseFileSystem
and the externalBLOBs=false option of DatabasePersistenceManager.

do you plan to support db persistence for the binary store as well?

Yes. The DataStore interface should be very database friendly so there
shouldn't be any issues in implementing DB persistence for binaries. A
schema like this should do the trick:

   CREATE TABLE datastore ( id SERIAL, sha1 CHAR(40), data BLOB );

The getRecord() method would essentially be:

   SELECT data FROM datastore WHERE sha1=?

The addRecord() method would essentially be:

   INSERT INTO datastore (data) VALUES (?) -- calculate sh1 while inserting
   IF (SELECT 1 FROM datastore WHERE sha1=?) THEN
       DELETE FROM datastore WHERE id=?
   ELSE
       UPDATE datastore SET sha1=? WHERE id=?
   END IF
   COMMIT
   RETURN sha1

BR,

Jukka Zitting

Reply via email to