Database and FireDAC Enhancements in RAD Studio 10.2.3

by Mar 27, 2018

I already blogged about RAD Server changes and RTL fixes in the Delphi, C++ Builder and RAD Studio 10.2.3 update. Another area that has received attention is the database support in general, and FireDAC in particular. Below is a list with some of the most notable improvements, with the Quality Portal entry, if available.

FireDAC Improvements

FireDAC work was mostly focused at better handling of corner case scenarios, like the management of Null vs. Empty values for ftMemo fields (RSP-19938), a reduction of CPU consumption for idle applications (RSP-19881), a query OpenOrExecute method updating RowsAffected (RSP-19385), better Login Dialog scaling for HiDPI (RSP-16776).

The dev team also addressed specific database issues including an issue with Oracle queries with parameters over 1000 characters long (RSP-20057), some general issues in identifying parameters (RSP-19744), issues on DirectExecute with PostreSQL (RSP-19701), a MongoDB access from a Linux Apache Module (RSP-19908), and a MySQL "Data too large for variable" exception on certain string params.

A set of improvements relate with FireDAC's BatchMove architecture, including TFDBatchMoveSQLWriter support of NULL value (RSP-19746), OnWriteValue with text BLOBs (RSP-19733) and TFDBatchMoveDataSetWriter with the same data type (RSP-19732), but also RSP-19660 for dmAppendUpdate, reading CVS files on Android and iOS (RSP-19637)

DataSnap Fixes

Contrary to rumors, we are still actively involved in fixing issues in DataSnap and cleaning up some of the related infrastructure. This release adds the ability for a Datasnap server method on Apache to takes a TJSONObject parameter even if the method name does not start with "update", addresses memory leaks in WebModule.Response.SendResponse (RSP-20063), lack of OnError event on TDSServer (RSP-19661), C++ DataSnap wizard issues (RSP-19444), proxy server problems (RSP-18760), resolved a memory leak in TCP Datasnap server when OnCreateInstance and OnDestroyInstance event are handled and some more.

ReFind Update

This is a search replace tool helping in code migration, we fixed issues with {$IF CompilerVersion} claused (RSP-20025). The tools is available in our binaries and scripts are in the database section of the demos folder.

Conclusion

This is all for the database side of things in 10.2.3. Not a lot of feature work, but some good quality improvements, along with the feature work on RAD Server.