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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list