Skip to content

Commit 8591576

Browse files
authored
update set of advertised supported time functions (#190)
Report TIMESTAMPADD and TIMESTAMPDIFF as supported, with all possible intervals.
1 parent 21486fb commit 8591576

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

driver/defs.h

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,9 @@
284284
* Timedate functions support:
285285
* - supported: DAYNAME, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, EXTRACT, HOUR,
286286
* MINUTE, MONTH, MONTHNAME, QUARTER, SECOND, WEEK, YEAR, NOW,
287-
* CURRENT_TIMESTAMP, CURRENT_DATE, CURDATE, CURRENT_TIME, CURTIME;
288-
* - not supported: TIMESTAMPADD, TIMESTAMPDIFF.
287+
* CURRENT_TIMESTAMP, CURRENT_DATE, CURDATE, CURRENT_TIME, CURTIME,
288+
* TIMESTAMPADD, TIMESTAMPDIFF;
289+
* - not supported: none.
289290
*/
290291
#define ESODBC_TIMEDATE_FUNCTIONS (0LU | \
291292
SQL_FN_TD_DAYNAME | SQL_FN_TD_DAYOFMONTH | SQL_FN_TD_DAYOFWEEK | \
@@ -294,22 +295,28 @@
294295
SQL_FN_TD_QUARTER | SQL_FN_TD_SECOND | SQL_FN_TD_WEEK | \
295296
SQL_FN_TD_YEAR | SQL_FN_TD_NOW | SQL_FN_TD_CURRENT_TIMESTAMP | \
296297
SQL_FN_TD_CURDATE | SQL_FN_TD_CURRENT_DATE | SQL_FN_TD_CURRENT_TIME | \
297-
SQL_FN_TD_CURTIME)
298+
SQL_FN_TD_CURTIME | SQL_FN_TD_TIMESTAMPADD | SQL_FN_TD_TIMESTAMPDIFF)
298299

299300
/*
300301
* TIMESTAMPDIFF timestamp intervals:
301-
* - supported: none.
302-
* - not supported: FRAC_SECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH,
303-
* QUARTER, YEAR.
302+
* - supported: FRAC_SECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH,
303+
* QUARTER, YEAR;
304+
* - not supported: none.
304305
*/
305-
#define ESODBC_TIMEDATE_DIFF_INTERVALS 0LU
306+
#define ESODBC_TIMEDATE_DIFF_INTERVALS (0LU | \
307+
SQL_FN_TSI_DAY | SQL_FN_TSI_FRAC_SECOND | SQL_FN_TSI_HOUR | \
308+
SQL_FN_TSI_MINUTE | SQL_FN_TSI_MONTH | SQL_FN_TSI_QUARTER | \
309+
SQL_FN_TSI_SECOND | SQL_FN_TSI_WEEK | SQL_FN_TSI_YEAR)
306310
/*
307311
* TIMESTAMPADD timestamp intervals:
308-
* - supported: none
309-
* - not supported: FRAC_SECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH,
310-
* QUARTER, YEAR.
312+
* - supported: FRAC_SECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH,
313+
* QUARTER, YEAR;
314+
* - not supported: none.
311315
*/
312-
#define ESODBC_TIMEDATE_ADD_INTERVALS 0LU
316+
#define ESODBC_TIMEDATE_ADD_INTERVALS (0LU | \
317+
SQL_FN_TSI_DAY | SQL_FN_TSI_FRAC_SECOND | SQL_FN_TSI_HOUR | \
318+
SQL_FN_TSI_MINUTE | SQL_FN_TSI_MONTH | SQL_FN_TSI_QUARTER | \
319+
SQL_FN_TSI_SECOND | SQL_FN_TSI_WEEK | SQL_FN_TSI_YEAR)
313320
/*
314321
* System functions:
315322
* - supported: DATABASE, IFNULL, USER.

0 commit comments

Comments
 (0)