Thread: psqlodbc - dayofweek and week functions are not supported butactually are
When calling SQLGetInfo(SQL_TIMEDATE_FUNCTIONS), psqlodbc tells that WEEKOFDAY and WEEK are not supported. But in convert.c, it converts these two functions to extrat(dow/week from $1). So if you just send dayofweek() in a query, PostgreSQL will return correct values.
So in this method of info.c:
RETCODE SQL_API
PGAPI_GetInfo(HDBC hdbc,
SQLUSMALLINT fInfoType,
PTR rgbInfoValue,
SQLSMALLINT cbInfoValueMax,
SQLSMALLINT * pcbInfoValue)
PGAPI_GetInfo(HDBC hdbc,
SQLUSMALLINT fInfoType,
PTR rgbInfoValue,
SQLSMALLINT cbInfoValueMax,
SQLSMALLINT * pcbInfoValue)
You need to append two more bits:
case SQL_TIMEDATE_FUNCTIONS: /* ODBC 1.0 */
len = 4;
value = (SQL_FN_TD_NOW | SQL_FN_TD_DAYOFWEEK | SQL_FN_TD_WEEK );
break;
len = 4;
value = (SQL_FN_TD_NOW | SQL_FN_TD_DAYOFWEEK | SQL_FN_TD_WEEK );
break;
I am using 10.03.0000.
thanks,
Song X. Gao
Re: psqlodbc - dayofweek and week functions are not supported butactually are
From
"Inoue, Hiroshi"
Date:
Hi,
I would take care of the change.
Thanks.
Hiroshi Inoue
I would take care of the change.
Thanks.
Hiroshi Inoue
On 2019/03/28 3:43, xsgao@aim.com wrote:
When calling SQLGetInfo(SQL_TIMEDATE_FUNCTIONS), psqlodbc tells that WEEKOFDAY and WEEK are not supported. But in convert.c, it converts these two functions to extrat(dow/week from $1). So if you just send dayofweek() in a query, PostgreSQL will return correct values.So in this method of info.c:RETCODE SQL_API
PGAPI_GetInfo(HDBC hdbc,
SQLUSMALLINT fInfoType,
PTR rgbInfoValue,
SQLSMALLINT cbInfoValueMax,
SQLSMALLINT * pcbInfoValue)You need to append two more bits:case SQL_TIMEDATE_FUNCTIONS: /* ODBC 1.0 */
len = 4;
value = (SQL_FN_TD_NOW | SQL_FN_TD_DAYOFWEEK | SQL_FN_TD_WEEK );
break;I am using 10.03.0000.thanks,Song X. Gao