I have been investigating how the current development snapshot works
with arrays and the new Firebird 4 data types. So far, the I have the
following results:
1. DECFLOAT(16): works fine. Able to declare an array (e.g. Float16
DecFloat(16) [0:16]), write to array elements, save the row and read
back the results.
2. DECFLOAT(32): works fine. Able to declare an array (e.g. Float34
DecFloat(34) [0:16]), write to array elements, save the row and read
back the results.
3. NUMERIC(24,6) [0:16] somewhat surprisingly results in an array of
INT128 elements. When attempting to write the array to the database, I
get the error message: "column not array or invalid dimensions (expected
0, encountered 1)". Some uncertainty over where the SDL block should
include a scale, but its absence or presence does not seem to make a
difference.
4. TIME WITH TIME ZONE [0:16]: Able to declare an array (e.g. TimeCol
TIME WITH TIME ZONE [0:16]). However, when saving to the database, the
connection drops with a send packet/send error.
5. TIMESTAMP WITH TIME ZONE [0:16]: as above.
The results are thus patchy. The lack of SDL documentation makes it
difficult to know whether the above issues are due to SDL errors on my
side or bugs in the server.
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel