BREAKING CHANGE: TSQLRestServerStatic* classes are now renamed as TSQLRestStorage*
From the beginning, server-side storage tables which were not store in
a SQLite3 database were implemented via some classes
TSQLRestServerStatic., which did not make much sense (but was
made for laziness years ago, if I remember well).
TSQLRestServerStatic was inheriting
Now, a new
TSQLRestStorage class, directly inheriting from
TSQLRest, is used for per-table storage.
This huge code refactoring results in a much cleaner design, and will enhance code maintainability.
Documentation has been updated to reflect the changes.
Note that this won't change anything when using the framework (but the new class names): it is an implementation detail, which had to be fixed.
In the mORMot units, you may also find those classes also
In the above class hierarchy, the
TSQLRestStorage[InMemory][External] classes are in fact used to
TSQLRecord tables in any non-SQL backend:
TSQLRestStorageExternalmaps tables stored in an external database (e.g. Oracle, MSSQL, PostgreSQL, FireBird, MySQL or any OleDB/ODBC provider, via our SynDB optimized classes);
TSQLRestStorageInMemorystores the data in a
TObjectList- with amazing performance;
TSQLRestStorageMongoDBwill connect to a remote MongoDB server to store the tables as a NoSQL collection of documents.
Those classes are used within a main
TSQLRestServer to host
TSQLRecord classes, either in-memory, or on external
They do not enter in account in our Client-Server architecture, but are implementation details, on the server side.
From the client side, you do not have to worry about how the data is stored, just consume it via REST.
Feedback is welcome in our forum, as usual!