Skip to content

Commit

Permalink
Convert ODBC sql types to new big(date)time if possible
Browse files Browse the repository at this point in the history
Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
  • Loading branch information
freddy77 committed Sep 21, 2015
1 parent 87c84e2 commit 29606cb
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/odbc/odbc_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -799,12 +799,16 @@ odbc_sql_to_server_type(TDSCONNECTION * conn, int sql_type, int sql_unsigned)
case SQL_TIMESTAMP:
/* ODBC version 3 */
case SQL_TYPE_DATE:
if (IS_TDS50(conn) && tds_capability_has_req(conn, TDS_REQ_DATA_BIGDATETIME))
return SYB5BIGDATETIME;
if (IS_TDS50(conn) && tds_capability_has_req(conn, TDS_REQ_DATA_DATE))
return SYBDATE;
if (IS_TDS73_PLUS(conn))
return SYBMSDATE;
goto type_timestamp;
case SQL_TYPE_TIME:
if (IS_TDS50(conn) && tds_capability_has_req(conn, TDS_REQ_DATA_BIGTIME))
return SYB5BIGTIME;
if (IS_TDS50(conn) && tds_capability_has_req(conn, TDS_REQ_DATA_TIME))
return SYBTIME;
if (IS_TDS73_PLUS(conn))
Expand All @@ -813,14 +817,20 @@ odbc_sql_to_server_type(TDSCONNECTION * conn, int sql_type, int sql_unsigned)
case SQL_TYPE_TIMESTAMP:
if (IS_TDS73_PLUS(conn))
return SYBMSDATETIME2;
if (IS_TDS50(conn) && tds_capability_has_req(conn, TDS_REQ_DATA_BIGDATETIME))
return SYB5BIGDATETIME;
return SYBDATETIME;
case SQL_SS_TIME2:
if (IS_TDS73_PLUS(conn))
return SYBMSTIME;
if (IS_TDS50(conn) && tds_capability_has_req(conn, TDS_REQ_DATA_BIGDATETIME))
return SYB5BIGDATETIME;
return SYBDATETIME;
case SQL_SS_TIMESTAMPOFFSET:
if (IS_TDS73_PLUS(conn))
return SYBMSDATETIMEOFFSET;
if (IS_TDS50(conn) && tds_capability_has_req(conn, TDS_REQ_DATA_BIGDATETIME))
return SYB5BIGDATETIME;
return SYBDATETIME;
case SQL_BINARY:
return SYBBINARY;
Expand Down

0 comments on commit 29606cb

Please sign in to comment.