On 2/4/21 7:29 PM, Mark Rotteveel wrote:
On 2021-02-04 15:55, Norbert Saint Georges wrote:
Mark Rotteveel a écrit :
On 2021-02-04 09:39, Norbert Saint Georges wrote:
yes, this is what I found but there is no definition RDB $ FIELD_TYPE
= 30 or 31 in rdb $ types in FB4, what is it for?

The EXTENDED TIMESTAMP WITH TIME ZONE and EXTENDED TIME WITH TIME ZONE are protocol-only data-types, where it will always include the time zone offset, so client applications without named time zone support can determine the offset. See also SET BIND in the Firebird 4 RC-1 release notes.

So if I understand correctly, I will never risk finding the values
32748 or 32750 in OO api (firebird.pas)?

No, your understanding is not correct. You will be able to see those values in the OO API

To be precise - one can meet them in XSQLDA too.

if you have a connection created with isc_dpb_set_bind, or where the SET BIND statement was used, to define a mapping to the EXTENDED time zone types (eg isc_dpb_set_bind=TIME ZONE TO EXTENDED, or SET BIND OF TIME ZONE TO EXTENDED)

Given these are protocol-only data types

"protocol-only"  is not what exactly takes place - in embedded connection extended timezone will also be present. That datatypes (and that's how SET BIND works in general) arrive when one requests IMessageMetadata from engine - i.e. asks engine to describe statement.

, they can occur in the description of data types of columns and parameters of statements only. They cannot occur in the metadata tables (the RDB$* tables).

Yes. They are never used inside engine.

But please add ticket re adding them to rdb$types - I think it's better to have them here, at least for reference




Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to