07.03.2019 18:25, Adriano dos Santos Fernandes wrote:
But it how IB/FB always worked. Types are defined in platform specific way to have correctly sizes. As sizes are fixed they align correctly with existing platforms.
True, but we lack a guarantee. Alignment may vary even between different compilers. We're just lucky all the vendors had agreed on the same rules.
There may be some luck there, but why would ISC_TIMESTAMP_TZ (for examploe) be worse than VARCHAR which aligns on two-byte boundary?
For *_TZ types, alignment is not a problem, the size is. Or at least it may look weird - UTC+TZ together occupy 10 bytes but sqllen returns 12 bytes.
Dmitry Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel