Recent changes in zmsql package:
ZMSQL version 0.1.8, 08 January 2012
* Since there was no visible improvement in BufDataSet regarding "Refresh bug" for a very long time, and it seems that TBufDataset is not maintained successfully any more, I have decided to base zmsql on last stable TBufDataset version that performed Refresh method correctly,which appears to be present in fpc 2.2.4.
Therefore, new zmbufdataset.pas and zmbufdatasetparser.pp units are now actually downgraded to fpc 2.2.4.
This choise will not change anymore and this is starting point for further independent development of zmbufdataset unit as direct ancestor of zmquerydataset.
However, we can always come back to TBufDataset as direct ancestor of zmquerydataset (while preserving zmbufdataset as an alternative) if following criteria is met:
1. DoFilterRecord method is virtual and protected.
2. Refresh method works correctly
Until then, zmbufdataset remains direct ancestor of zmquerydataset and will fork from TBufDataset development.
* Reconnecting of ZMConnection is added in QueryExecute and LoadFromCSV methods, each time data is loaded by query or import from csv.
This prevents peculiar inconsistences observed during query execution in some circumstances.
This odd behavior of jansql has to be throughly investigated...
* In previous versions regular filtering was broken by DoFilterRecord everriding. It is solved now by adding:"if not Acceptable then exit;" after "inherited DoFilterRecord(Acceptable);". this way normal filtering functionality with Filter and Filtered properties is preserved.
ZMSQL version 0.1.7, 01 January 2012
* FDoReferentialUpdate:Boolean field added to signalize dsEdit state in DoBeforePost, which is then used in DoAfterPost as signal to perform referential update. This solved bug that caused referential update of all records in case of insert.
* Added public read-only property OldRecord. This can be useful during run-time.
ZMSQL version 0.1.6, 28 December 2011
* Referential update logic moved from DoBeforePost to DoAfterPost procedure, in order to solve problems with multilevel referential integrity.
* UpdateFOldRecord triggering moved from DoAfterScroll and DoAfterPost to DoBeforeInsert, DoBeforeDelete and DoBeforeEdit.
* Inspecting and matching of referential conditions for referential update changed from custom filtering to iteration and inspection for referential conditions for every record of SlaveDataset.
* Bugs in PrepareQuery and DoFilterRecord, as well as few other small bugs are solved.
* ZMBufDataSet updated with recent bufdataset changes.
* ZMBufDataSetParser added to package.
* Bug in Disconnect procedure solved.
Change commit: 4 September 2011
* Added some things to JanSQL tokenizer and expression evaluator. Still needs implementation of those expressions (outer joins, select distinct etc.)
Last version can be downloaded from:
http://sourceforge.net/projects/lazarus-ccr/files/zmsql/Wiki:
http://wiki.lazarus.freepascal.org/ZMSQL