Bug #1: FTransactions accessed from FreeIConnection() after being freed in TCustomDAConnection.Destroy().
Solution: Call to FTransactions.Free() needs to be moved after the call to FreeIConnection() in TCustomDAConnection.Destroy().
Bug #2: TCustomDADataSet.SetFetchAll() forwards the wrong (i.e. old) value to FIRecordSet.SetProp(), effectively preventing FetchAll := False to take effect.
Solution: Change last parameter in FIRecordSet.SetProp(prFetchAll, FetchAll) to FFetchAll.
Also: Property TCustomDADataSet.FetchAll is protected in UniDAC but was public in older versions of SDAC/ODAC. Would it be possible to make it public again so it can be accessed normally through TCustomDADataSet references?
Thank you.
A couple of bugs in 1.00.0.6
Thank you for the information. We have fixed these bugs. The fix will be included in the next build of UniDAC.
In UniDAC the default value of the FetchAll property depends on the provider. For Oracle and InterBase the default is False. For SQL Server and MySQL the default is True. That's why we make the FetchAll property of TCustomDADataSet protected and add the FetchAll to SpecificOptions for each provider.
In UniDAC the default value of the FetchAll property depends on the provider. For Oracle and InterBase the default is False. For SQL Server and MySQL the default is True. That's why we make the FetchAll property of TCustomDADataSet protected and add the FetchAll to SpecificOptions for each provider.
Ah, I was not aware of this. So what you are saying is I should always set FetchAll through DataSet.SpecificOptions as opposed to directly?In UniDAC the default value of the FetchAll property depends on the provider. For Oracle and InterBase the default is False. For SQL Server and MySQL the default is True.