Hi, I have some systems developed in Delphi, PHP, and Java. I used Firebird 2.5.9 until I've updated to the Firebird 3.0.6 without any change in my SQL's.
I am now testing Firebird 4.0 from your daily builds and have a problem. The feature implemented in the issue http://tracker.firebirdsql.org/browse/CORE-694 introduced a change in the CURRENT_TIME and CURRENT_TIMESTAMP functions that returns a new SQL data type. This new data type is necessary to use the new improvement, but the enforced change of the return type in these two functions causes a rupture in existing compiled and legacy systems that became impossible to update them to FB 4.0. I've listed some samples, like old Jaybird drivers, the current Delphi Community Edition data access components (FireDAC), the current implementation of IBObjects, and the PHP driver that I've looked at the GitHub repository but don't found the new data types implementation. I'm changing the calls to CURRENT_TIMESTAMP to CAST(CURRENT_TIMESTAMP AS TIMESTAMP) in the case of my systems and all is running fine for now. My question, in this case, is not about my problem but about the compatibility questions that can cause slow adoption of the new version on behalf of a new feature that will not be used by all users. I propose to add a configuration or a way to check that the client implementation does not support the new data type and then return a legacy TIMESTAMP data. At this link are possible to see some tests screenshots: https://drive.google.com/drive/folders/1U1Y0zcUwZjiY3HNBnABwN6XtMAyR8WYz -- Eliezer Riani
Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel