#1 2014-05-09 15:32:09

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 13,368
Website

BREAKING CHANGE: TSQLRestServerStatic* renamed as TSQLRestStorage*

From the beginning, server-side storage tables which were not store in a SQLite3 database were implemented via some classes inheriting from TSQLRestServerStatic.
This TSQLRestServerStatic was inheriting from TSQLRestServer, which did not make much sense (but was made for laziness years ago, if I remember well).

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.

TSQLRestStorageHierarchy.png

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.

This is the forum thread for
http://blog.synopse.info/post/2014/05/0 … Storage%2A

For the source code commit, see http://synopse.info/fossil/info/e1e58505f3

Offline

#2 2014-05-09 17:41:11

ComingNine
Member
Registered: 2010-07-29
Posts: 293

Re: BREAKING CHANGE: TSQLRestServerStatic* renamed as TSQLRestStorage*

Great work ! big_smile

Indeed much cleaner design !

Offline

#3 2014-05-12 03:30:05

avista
Member
Registered: 2014-01-06
Posts: 63

Re: BREAKING CHANGE: TSQLRestServerStatic* renamed as TSQLRestStorage*

Thanks for the update.

Unfortunately, it looks like the Project14ServerHttp.dpr sample now builds with the following warnings:

[DCC Warning] Project14ServerHttp.dpr(40): W1020 Constructing instance of 'TSQLRestServerFullMemory' containing abstract method 'TSQLRestServer.MainEngineAdd'
[DCC Warning] Project14ServerHttp.dpr(40): W1020 Constructing instance of 'TSQLRestServerFullMemory' containing abstract method 'TSQLRestServer.MainEngineRetrieve'
[DCC Warning] Project14ServerHttp.dpr(40): W1020 Constructing instance of 'TSQLRestServerFullMemory' containing abstract method 'TSQLRestServer.MainEngineList'
[DCC Warning] Project14ServerHttp.dpr(40): W1020 Constructing instance of 'TSQLRestServerFullMemory' containing abstract method 'TSQLRestServer.MainEngineUpdate'
[DCC Warning] Project14ServerHttp.dpr(40): W1020 Constructing instance of 'TSQLRestServerFullMemory' containing abstract method 'TSQLRestServer.MainEngineDelete'
[DCC Warning] Project14ServerHttp.dpr(40): W1020 Constructing instance of 'TSQLRestServerFullMemory' containing abstract method 'TSQLRestServer.MainEngineDeleteWhere'
[DCC Warning] Project14ServerHttp.dpr(40): W1020 Constructing instance of 'TSQLRestServerFullMemory' containing abstract method 'TSQLRestServer.MainEngineRetrieveBlob'
[DCC Warning] Project14ServerHttp.dpr(40): W1020 Constructing instance of 'TSQLRestServerFullMemory' containing abstract method 'TSQLRestServer.MainEngineUpdateBlob'
[DCC Warning] Project14ServerHttp.dpr(40): W1020 Constructing instance of 'TSQLRestServerFullMemory' containing abstract method 'TSQLRestServer.MainEngineUpdateField'

Assuming I have the correct build wink:

mORMot_and_Open_Source_friends_2014-05-10_181139_0c5bad111b

Last edited by avista (2014-05-12 03:31:32)

Offline

#4 2014-05-12 07:45:42

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 13,368
Website

Re: BREAKING CHANGE: TSQLRestServerStatic* renamed as TSQLRestStorage*

It did not have any impact, but I've fixed it.
Thanks for the report.

See http://synopse.info/fossil/info/fd20a67fc6

Offline

#5 2014-05-12 23:24:25

avista
Member
Registered: 2014-01-06
Posts: 63

Re: BREAKING CHANGE: TSQLRestServerStatic* renamed as TSQLRestStorage*

I noticed everything seemed to work fine, but wasn't sure.  Thanks for fixing it anyway! smile

Offline

Board footer

Powered by FluxBB