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

Reply via email to