Collection: Adding SQL collection engines
[ Feature description ]
Commit 65b46db7358a624d14656627e1a896a84fe5e1f6 has introduced
collection engine, to store JSON documents with CRUD capabilities.
We recommend a document-based engine like MongoDB to store them, but
we also want to avoid to force MongoDB installation, and filesystem
doesn't offer any concurrency warranty.
So we here provide collection engines for MySQL and SQLite.
They don't use any relational database capaibilities and store
directly the JSON document in a blob field, instead to create a
table by collection, with the appropriate fields.
If you wish to implement a totallly relational database storage
engine, please note we allow documents of a collection to be diffreents,
ie there is no warranty of fields consistency from one to another.
[ New abstract storage class: SqlCollection ]
It contains CRUD very basic SQL requests, compatible with every SQL
database, so you can easily add a class for your own database product.
[ New storage engine: MySQLCollection ]
Reuses the existing Database implementation.
Tailtored to work if the database engine selected is MySQL.
[ New storage engine: SQLiteCollection ]
Uses an arbitrary SQLite3 file.
[ Unit testing ]
- Full unit testing coverage for SQLiteCollection
- Full unit testing coverage for MySQLCollection