adordd finished version at
https://github.com/AHFERREIRA/adordd.gitadordd is finished!
I don't have plans to add any new functionalities to it.
Its now working just like any other kind dbfcdx rdd and it allows you to port your app in minutes (time to load tables) to any SQL.
From now on Ill only post new versions to correct bugs.
All your comments, experiences, ideas and bug reports are most welcomed!
New features:
1) ADO_EXIT called internally to close all tables and connections whe exit the app.
2) Gave up the idea of persistent recordsets to open huge sets because the difference speed in opening
its completely lost closing it( saving it) instead I ve made a new set.
SET ADO CACHESIZE TO 100 ASYNC ON ASYNCNOWAIT ON
This set has huge impact on performance opening huge tables.
Playing with this set might improve significantly the opening time but then you might not have all rows available immediately.
You have to test yourself if your app works ok with the different options.
adordd main problem is opening huge tables without any where clause causing it to load all rows.
This brings problems with loading time and memory consumption.
On the other hand please remember that this would be the slowest loading time of a table no matter if you have
1 or 200 users opposite to dbfcdx kind of rdds.
This is not a standard practice in SQL but to keep backwards compatibility with our apps we need to do it
like this.
In apps where there aren't any historic files and all data is kept in the working tables the only alternative is either to pass old data to historic files or use USE ctable WHERE where clause.
If you cannot do any of these and you have huge tables adordd might not be for you and in these cases the only alternative to go to SQL is ADS as far as I know (keeping almost same app code ).
The only workaround for this limitation is to build a class accessing the SQL through C interface (HDO from Exposito for ex).
adordd can work with any other class as long as the few methods and data adordd use from MS ADO are
replicated in that class.
This class could build the sets in a local dbf files, arrays etc.