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