1717# define SQL_ASYNC_NOTIFICATION_CAPABLE 0x00000001L
1818#endif // ODBCVER >= 0x0380
1919
20+ #ifdef UNICODE
21+ # define DRIVER_FILE_NAME " CLICKHOUSEODBCW.DLL"
22+ #else
23+ # define DRIVER_FILE_NAME " CLICKHOUSEODBC.DLL"
24+ #endif
25+
2026extern " C"
2127{
2228
@@ -38,17 +44,17 @@ SQLGetInfo(HDBC connection_handle,
3844 return doWith<Connection>(connection_handle, [&](Connection & connection)
3945 {
4046 const char * name = nullptr ;
41-
47+
4248 switch (info_type)
4349 {
4450 CASE_STRING (SQL_DRIVER_VER, " 1.0" )
4551 CASE_STRING (SQL_DRIVER_ODBC_VER, " 03.80" )
4652 CASE_STRING (SQL_DM_VER, " 03.80.0000.0000" )
47- CASE_STRING (SQL_DRIVER_NAME, " ClickHouse ODBC " )
53+ CASE_STRING (SQL_DRIVER_NAME, DRIVER_FILE_NAME )
4854 CASE_STRING (SQL_DBMS_NAME, " ClickHouse" )
4955 CASE_STRING (SQL_DBMS_VER, " 01.00.0000" )
5056 CASE_STRING (SQL_SERVER_NAME, connection.host )
51- CASE_STRING (SQL_DATA_SOURCE_NAME, " ClickHouse " )
57+ CASE_STRING (SQL_DATA_SOURCE_NAME, connection. data_source )
5258 CASE_STRING (SQL_CATALOG_TERM, " catalog" )
5359 CASE_STRING (SQL_COLLATION_SEQ, " UTF-8" )
5460 CASE_STRING (SQL_DATABASE_NAME, connection.database )
@@ -81,7 +87,7 @@ SQLGetInfo(HDBC connection_handle,
8187 CASE_FALLTHROUGH (SQL_ROW_UPDATES)
8288 CASE_STRING (SQL_DESCRIBE_PARAMETER, " N" )
8389
84- // / UINTEGER single values
90+ // / UINTEGER single values
8591 CASE_NUM (SQL_ODBC_INTERFACE_CONFORMANCE, SQLUINTEGER, SQL_OIC_CORE)
8692 CASE_NUM (SQL_ASYNC_MODE, SQLUINTEGER, SQL_AM_NONE)
8793 CASE_NUM (SQL_ASYNC_NOTIFICATION, SQLUINTEGER, SQL_ASYNC_NOTIFICATION_NOT_CAPABLE)
@@ -91,7 +97,8 @@ SQLGetInfo(HDBC connection_handle,
9197 CASE_NUM (SQL_PARAM_ARRAY_SELECTS, SQLUINTEGER, SQL_PAS_NO_SELECT)
9298 CASE_NUM (SQL_SQL_CONFORMANCE, SQLUINTEGER, SQL_SC_SQL92_ENTRY)
9399
94- // / USMALLINT single values
100+ // / USMALLINT single values
101+ CASE_NUM (SQL_ODBC_API_CONFORMANCE, SQLSMALLINT, SQL_OAC_LEVEL1);
95102 CASE_NUM (SQL_GROUP_BY, SQLUSMALLINT, SQL_GB_GROUP_BY_CONTAINS_SELECT)
96103 CASE_NUM (SQL_CATALOG_LOCATION, SQLUSMALLINT, SQL_CL_START)
97104 CASE_NUM (SQL_FILE_USAGE, SQLUSMALLINT, SQL_FILE_NOT_SUPPORTED)
@@ -106,7 +113,7 @@ SQLGetInfo(HDBC connection_handle,
106113 CASE_NUM (SQL_NULL_COLLATION, SQLUSMALLINT, SQL_NC_END)
107114 CASE_NUM (SQL_TXN_CAPABLE, SQLUSMALLINT, SQL_TC_NONE)
108115
109- // / UINTEGER non-empty bitmasks
116+ // / UINTEGER non-empty bitmasks
110117 CASE_NUM (SQL_CATALOG_USAGE, SQLUINTEGER, SQL_CU_DML_STATEMENTS | SQL_CU_TABLE_DEFINITION)
111118 CASE_NUM (SQL_AGGREGATE_FUNCTIONS, SQLUINTEGER, SQL_AF_ALL | SQL_AF_AVG | SQL_AF_COUNT | SQL_AF_DISTINCT | SQL_AF_MAX | SQL_AF_MIN | SQL_AF_SUM)
112119 CASE_NUM (SQL_ALTER_TABLE, SQLUINTEGER, SQL_AT_ADD_COLUMN_DEFAULT | SQL_AT_ADD_COLUMN_SINGLE | SQL_AT_DROP_COLUMN_DEFAULT | SQL_AT_SET_COLUMN_DEFAULT)
@@ -204,7 +211,7 @@ SQLGetInfo(HDBC connection_handle,
204211
205212 CASE_NUM (SQL_UNION, SQLUINTEGER, SQL_U_UNION | SQL_U_UNION_ALL)
206213
207- // / UINTEGER empty bitmasks
214+ // / UINTEGER empty bitmasks
208215 CASE_FALLTHROUGH (SQL_ALTER_DOMAIN)
209216 CASE_FALLTHROUGH (SQL_BATCH_ROW_COUNT)
210217 CASE_FALLTHROUGH (SQL_BATCH_SUPPORT)
@@ -237,7 +244,7 @@ SQLGetInfo(HDBC connection_handle,
237244 CASE_FALLTHROUGH (SQL_SQL92_REVOKE)
238245 CASE_NUM (SQL_DDL_INDEX, SQLUINTEGER, 0 )
239246
240- // / Limits on the maximum number, USMALLINT.
247+ // / Limits on the maximum number, USMALLINT.
241248 CASE_FALLTHROUGH (SQL_ACTIVE_ENVIRONMENTS)
242249 CASE_FALLTHROUGH (SQL_MAX_COLUMNS_IN_GROUP_BY)
243250 CASE_FALLTHROUGH (SQL_MAX_COLUMNS_IN_INDEX)
@@ -256,7 +263,7 @@ SQLGetInfo(HDBC connection_handle,
256263 CASE_FALLTHROUGH (SQL_MAX_TABLE_NAME_LEN)
257264 CASE_NUM (SQL_MAX_CATALOG_NAME_LEN, SQLUSMALLINT, 0 )
258265
259- // / Limitations on the maximum number, UINTEGER.
266+ // / Limitations on the maximum number, UINTEGER.
260267 CASE_FALLTHROUGH (SQL_MAX_ROW_SIZE)
261268 CASE_FALLTHROUGH (SQL_MAX_STATEMENT_LEN)
262269 CASE_FALLTHROUGH (SQL_MAX_BINARY_LITERAL_LEN)
0 commit comments