Changeset: a969b886cc71 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a969b886cc71
Modified Files:
clients/odbc/driver/SQLGetInfo.c
Branch: Jan2014
Log Message:
Fix up information about available functions in SQLGetInfo.
diffs (236 lines):
diff --git a/clients/odbc/driver/SQLGetInfo.c b/clients/odbc/driver/SQLGetInfo.c
--- a/clients/odbc/driver/SQLGetInfo.c
+++ b/clients/odbc/driver/SQLGetInfo.c
@@ -183,27 +183,53 @@ SQLGetInfo_(ODBCDbc *dbc,
/* SQL_CB_NON_NULL */
len = sizeof(SQLUSMALLINT);
break;
+ case SQL_CONVERT_TINYINT:
+ case SQL_CONVERT_SMALLINT:
+ case SQL_CONVERT_INTEGER:
case SQL_CONVERT_BIGINT:
+ nValue = SQL_CVT_BIGINT |
+ SQL_CVT_BIT |
+ SQL_CVT_CHAR |
+ SQL_CVT_DECIMAL |
+ SQL_CVT_DOUBLE |
+ SQL_CVT_FLOAT |
+ SQL_CVT_INTEGER |
+ SQL_CVT_INTERVAL_DAY_TIME |
+ SQL_CVT_INTERVAL_YEAR_MONTH |
+ SQL_CVT_LONGVARCHAR |
+ SQL_CVT_NUMERIC |
+ SQL_CVT_REAL |
+ SQL_CVT_SMALLINT |
+ SQL_CVT_TINYINT |
+ SQL_CVT_VARCHAR;
+ len = sizeof(SQLUINTEGER);
+ break;
case SQL_CONVERT_BINARY:
+ case SQL_CONVERT_LONGVARBINARY:
+ case SQL_CONVERT_VARBINARY:
+ nValue = SQL_CVT_BINARY |
+ SQL_CVT_CHAR |
+ SQL_CVT_LONGVARBINARY |
+ SQL_CVT_LONGVARCHAR |
+ SQL_CVT_VARBINARY |
+ SQL_CVT_VARCHAR;
+ /* SQL_CVT_GUID */
+ len = sizeof(SQLUINTEGER);
+ break;
case SQL_CONVERT_BIT:
+ nValue = SQL_CVT_BIGINT |
+ SQL_CVT_BIT |
+ SQL_CVT_CHAR |
+ SQL_CVT_INTEGER |
+ SQL_CVT_LONGVARCHAR |
+ SQL_CVT_SMALLINT |
+ SQL_CVT_TINYINT |
+ SQL_CVT_VARCHAR;
+ len = sizeof(SQLUINTEGER);
+ break;
case SQL_CONVERT_CHAR:
- case SQL_CONVERT_DATE:
- case SQL_CONVERT_DECIMAL:
- case SQL_CONVERT_DOUBLE:
- case SQL_CONVERT_FLOAT:
- case SQL_CONVERT_INTEGER:
- case SQL_CONVERT_INTERVAL_DAY_TIME:
- case SQL_CONVERT_INTERVAL_YEAR_MONTH:
- case SQL_CONVERT_LONGVARBINARY:
+ case SQL_CONVERT_VARCHAR:
case SQL_CONVERT_LONGVARCHAR:
- case SQL_CONVERT_NUMERIC:
- case SQL_CONVERT_REAL:
- case SQL_CONVERT_SMALLINT:
- case SQL_CONVERT_TIME:
- case SQL_CONVERT_TIMESTAMP:
- case SQL_CONVERT_TINYINT:
- case SQL_CONVERT_VARBINARY:
- case SQL_CONVERT_VARCHAR:
nValue = SQL_CVT_BIGINT |
SQL_CVT_BINARY |
SQL_CVT_BIT |
@@ -228,8 +254,91 @@ SQLGetInfo_(ODBCDbc *dbc,
/* SQL_CVT_GUID */
len = sizeof(SQLUINTEGER);
break;
+ case SQL_CONVERT_DATE:
+ nValue = SQL_CVT_CHAR |
+ SQL_CVT_DATE |
+ SQL_CVT_LONGVARCHAR |
+ SQL_CVT_TIMESTAMP |
+ SQL_CVT_VARCHAR;
+ len = sizeof(SQLUINTEGER);
+ break;
+ case SQL_CONVERT_DECIMAL:
+ case SQL_CONVERT_NUMERIC:
+ nValue = SQL_CVT_BIGINT |
+ SQL_CVT_CHAR |
+ SQL_CVT_DECIMAL |
+ SQL_CVT_DOUBLE |
+ SQL_CVT_FLOAT |
+ SQL_CVT_INTEGER |
+ SQL_CVT_INTERVAL_DAY_TIME |
+ SQL_CVT_LONGVARCHAR |
+ SQL_CVT_NUMERIC |
+ SQL_CVT_REAL |
+ SQL_CVT_SMALLINT |
+ SQL_CVT_TINYINT |
+ SQL_CVT_VARCHAR;
+ len = sizeof(SQLUINTEGER);
+ break;
+ case SQL_CONVERT_DOUBLE:
+ case SQL_CONVERT_REAL:
+ case SQL_CONVERT_FLOAT:
+ nValue = SQL_CVT_BIGINT |
+ SQL_CVT_CHAR |
+ SQL_CVT_DECIMAL |
+ SQL_CVT_DOUBLE |
+ SQL_CVT_FLOAT |
+ SQL_CVT_INTEGER |
+ SQL_CVT_LONGVARCHAR |
+ SQL_CVT_NUMERIC |
+ SQL_CVT_REAL |
+ SQL_CVT_SMALLINT |
+ SQL_CVT_TINYINT |
+ SQL_CVT_VARCHAR;
+ /* SQL_CVT_GUID */
+ len = sizeof(SQLUINTEGER);
+ break;
+ case SQL_CONVERT_INTERVAL_DAY_TIME:
+ nValue = SQL_CVT_BIGINT |
+ SQL_CVT_CHAR |
+ SQL_CVT_INTEGER |
+ SQL_CVT_INTERVAL_DAY_TIME |
+ SQL_CVT_LONGVARCHAR |
+ SQL_CVT_SMALLINT |
+ SQL_CVT_TIME |
+ SQL_CVT_TINYINT |
+ SQL_CVT_VARCHAR;
+ len = sizeof(SQLUINTEGER);
+ break;
+ case SQL_CONVERT_INTERVAL_YEAR_MONTH:
+ nValue = SQL_CVT_BIGINT |
+ SQL_CVT_CHAR |
+ SQL_CVT_INTEGER |
+ SQL_CVT_INTERVAL_YEAR_MONTH |
+ SQL_CVT_LONGVARCHAR |
+ SQL_CVT_SMALLINT |
+ SQL_CVT_TINYINT |
+ SQL_CVT_VARCHAR;
+ /* SQL_CVT_GUID */
+ len = sizeof(SQLUINTEGER);
+ break;
+ case SQL_CONVERT_TIME:
+ nValue = SQL_CVT_CHAR |
+ SQL_CVT_INTERVAL_DAY_TIME |
+ SQL_CVT_LONGVARCHAR |
+ SQL_CVT_TIME |
+ SQL_CVT_VARCHAR;
+ len = sizeof(SQLUINTEGER);
+ break;
+ case SQL_CONVERT_TIMESTAMP:
+ nValue = SQL_CVT_CHAR |
+ SQL_CVT_DATE |
+ SQL_CVT_LONGVARCHAR |
+ SQL_CVT_TIME |
+ SQL_CVT_TIMESTAMP |
+ SQL_CVT_VARCHAR;
+ len = sizeof(SQLUINTEGER);
+ break;
case SQL_CONVERT_FUNCTIONS:
- /* No convert function supported */
nValue = SQL_FN_CVT_CAST | SQL_FN_CVT_CONVERT;
len = sizeof(SQLUINTEGER);
break;
@@ -519,13 +628,16 @@ SQLGetInfo_(ODBCDbc *dbc,
SQL_FN_NUM_SIGN |
SQL_FN_NUM_SIN |
SQL_FN_NUM_SQRT |
- SQL_FN_NUM_TRUNCATE |
- SQL_FN_NUM_TAN;
+ SQL_FN_NUM_TAN |
+ SQL_FN_NUM_TRUNCATE;
len = sizeof(SQLUINTEGER);
break;
case SQL_STRING_FUNCTIONS:
nValue = SQL_FN_STR_ASCII |
+ SQL_FN_STR_BIT_LENGTH |
/* SQL_FN_STR_CHAR | */
+ SQL_FN_STR_CHAR_LENGTH |
+ SQL_FN_STR_CHARACTER_LENGTH |
SQL_FN_STR_CONCAT |
SQL_FN_STR_DIFFERENCE |
SQL_FN_STR_INSERT |
@@ -535,35 +647,44 @@ SQLGetInfo_(ODBCDbc *dbc,
SQL_FN_STR_LOCATE |
SQL_FN_STR_LOCATE_2 |
SQL_FN_STR_LTRIM |
+ SQL_FN_STR_OCTET_LENGTH |
+ SQL_FN_STR_POSITION |
SQL_FN_STR_REPEAT |
SQL_FN_STR_REPLACE |
SQL_FN_STR_RIGHT |
SQL_FN_STR_RTRIM |
SQL_FN_STR_SOUNDEX |
SQL_FN_STR_SPACE |
+ SQL_FN_STR_SUBSTRING |
SQL_FN_STR_UCASE;
len = sizeof(SQLUINTEGER);
break;
case SQL_SYSTEM_FUNCTIONS:
- nValue = SQL_FN_SYS_DBNAME | SQL_FN_SYS_USERNAME |
SQL_FN_SYS_IFNULL;
+ nValue = SQL_FN_SYS_DBNAME |
+ SQL_FN_SYS_IFNULL |
+ SQL_FN_SYS_USERNAME;
len = sizeof(SQLUINTEGER);
break;
case SQL_TIMEDATE_FUNCTIONS:
- nValue = SQL_FN_TD_CURDATE |
+ nValue = SQL_FN_TD_CURRENT_DATE |
+ SQL_FN_TD_CURRENT_TIME |
+ SQL_FN_TD_CURRENT_TIMESTAMP |
+ SQL_FN_TD_CURDATE |
SQL_FN_TD_CURTIME |
- SQL_FN_TD_DAYNAME |
+ /* SQL_FN_TD_DAYNAME | */
SQL_FN_TD_DAYOFMONTH |
SQL_FN_TD_DAYOFWEEK |
SQL_FN_TD_DAYOFYEAR |
+ SQL_FN_TD_EXTRACT |
SQL_FN_TD_HOUR |
SQL_FN_TD_MINUTE |
SQL_FN_TD_MONTH |
- SQL_FN_TD_MONTHNAME |
+ /* SQL_FN_TD_MONTHNAME | */
SQL_FN_TD_NOW |
SQL_FN_TD_QUARTER |
SQL_FN_TD_SECOND |
- SQL_FN_TD_TIMESTAMPADD |
- SQL_FN_TD_TIMESTAMPDIFF |
+ /* SQL_FN_TD_TIMESTAMPADD | */
+ /* SQL_FN_TD_TIMESTAMPDIFF | */
SQL_FN_TD_WEEK |
SQL_FN_TD_YEAR;
len = sizeof(SQLUINTEGER);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list