30.08.2019 13:48, Alex Peshkoff via Firebird-devel wrote:
Suggested solution is use of flexible format letting each client to receive data from the server in a best fit way. To tune that format three parameters will be used - together they make it possible to have 6 different formats - 4 variants of native time with timezone, legacy format and character string.

  I like part about flexible format, but "parameters" I don't like.
Because we are talking about client-side representation of data, I see no need in SQL subtypes that are storage format. Time can be stored in the best way for server, ignoring client wishes. During delivery to client data coercion is performed anyway so it is enough to let application ask for it using more datatype constants for sqltype. This way we can let every application to choose preferred data format itself.

3. This solution is for really old clients which anyway can not work with new 
time formats - use of alternate binding to character string (like with decimal 
float values). Syntax is more or less same:
SET TIME ZONE BIND {NATIVE | LEGACY | CHAR}

Which correspond to sqltype in client XSQLVAR set to SQL_TIME_TZ, SQL_TYPE_TIME and SQL_VARYING respectively. Which sqltype value is provided by isc_dsql_prepare/describe_bind is irrelevant as long as application can override it.

--
  WBR, SD.


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

Reply via email to