sql-backend   [plain text]


The following references and ideas may be of use to people interested
in writing an SQL back end for Subversion.

* Glenn Thompson's pluggable FS document

A new filesystem implementation has to plug into Subversion alongside
the BDB one.  Currently, we have a framework allowing complete
reimplementations of the FS API to plug into Subversion alongside each
other, but it may (or may not) be more prudent to abstract the BDB
implementation at the table level so that the same code can use
multiple database implementations.

Glenn Thompson wrote a document about FS abstraction, located at
<http://www.cdrguys.com/subversion/>.  This document predates the FSFS
implementation, so it is a bit dated, but it is still highly relevant
to the hypothetical table-level abstraction described above.

The document posits two abstraction layers, the FSAP (filesystem
abstract provider) layer which abstracts at the API level, and the FSP
(filesystem provider) layer which abstracts at the table level.  The
FSP layer would only apply to libsvn_fs_base, which implements the BDB
back end.  The document's FSAP abstraction proposal was used as a
basis (though not as gospel) for the API-level abstraction we
currently have.

* Edmund Horner's prototype MySQL implementation

http://homepages.paradise.net.nz/~ejrh/subversion/mysql/ describes a
prototype implementation of a MySQL back end, also made before the
FSFS implementation.  There is a little more about this back end in
the mail thread at
http://www.contactor.se/~dast/svn/archive-2004-02/0470.shtml.