@@ -86,11 +86,11 @@ namespace {
8686int32_t GetInfoTypeForArrowConvertEntry (int32_t convert_entry) {
8787 switch (convert_entry) {
8888 case ARROW_CONVERT_BIGINT:
89- return SQL_CONVERT_BIGINT ;
89+ return SQL_CONVERT_BIGINT_ODBC ;
9090 case ARROW_CONVERT_BINARY:
91- return SQL_CONVERT_BINARY ;
91+ return SQL_CONVERT_BINARY_ODBC ;
9292 case ARROW_CONVERT_BIT:
93- return SQL_CONVERT_BIT ;
93+ return SQL_CONVERT_BIT_ODBC ;
9494 case ARROW_CONVERT_CHAR:
9595 return SQL_CONVERT_CHAR;
9696 case ARROW_CONVERT_DATE:
@@ -260,7 +260,7 @@ GetInfoCache::GetInfoCache(FlightClientOptions& client_options,
260260
261261 // Assume catalogs are not supported by default. ODBC checks if SQL_CATALOG_NAME is
262262 // "Y" or "N" to determine if catalogs are supported.
263- info_[SQL_CATALOG_TERM ] = " " ;
263+ info_[SQL_CATALOG_TERM_ODBC ] = " " ;
264264 info_[SQL_CATALOG_NAME] = " N" ;
265265 info_[SQL_CATALOG_NAME_SEPARATOR] = " " ;
266266 info_[SQL_CATALOG_LOCATION] = static_cast <uint16_t >(0 );
@@ -345,7 +345,7 @@ bool GetInfoCache::LoadInfoFromServer() {
345345 break ;
346346 }
347347 case ARROW_SQL_IDENTIFIER_QUOTE_CHAR: {
348- info_[SQL_IDENTIFIER_QUOTE_CHAR ] = std::string (
348+ info_[SQL_IDENTIFIER_QUOTE_CHAR_ODBC ] = std::string (
349349 reinterpret_cast <StringScalar*>(scalar->child_value ().get ())->view ());
350350 break ;
351351 }
@@ -355,12 +355,12 @@ bool GetInfoCache::LoadInfoFromServer() {
355355 break ;
356356 }
357357 case ARROW_SQL_SCHEMA_TERM: {
358- info_[SQL_SCHEMA_TERM ] = std::string (
358+ info_[SQL_SCHEMA_TERM_ODBC ] = std::string (
359359 reinterpret_cast <StringScalar*>(scalar->child_value ().get ())->view ());
360360 break ;
361361 }
362362 case ARROW_SQL_PROCEDURE_TERM: {
363- info_[SQL_PROCEDURE_TERM ] = std::string (
363+ info_[SQL_PROCEDURE_TERM_ODBC ] = std::string (
364364 reinterpret_cast <StringScalar*>(scalar->child_value ().get ())->view ());
365365 break ;
366366 }
@@ -376,7 +376,7 @@ bool GetInfoCache::LoadInfoFromServer() {
376376 info_[SQL_CATALOG_NAME_SEPARATOR] = " ." ;
377377 info_[SQL_CATALOG_LOCATION] = static_cast <uint16_t >(SQL_CL_START);
378378 }
379- info_[SQL_CATALOG_TERM ] = std::string (
379+ info_[SQL_CATALOG_TERM_ODBC ] = std::string (
380380 reinterpret_cast <StringScalar*>(scalar->child_value ().get ())->view ());
381381
382382 break ;
@@ -617,27 +617,27 @@ bool GetInfoCache::LoadInfoFromServer() {
617617 break ;
618618 }
619619 case ARROW_SQL_MAX_COLUMNS_IN_GROUP_BY: {
620- info_[SQL_MAX_COLUMNS_IN_GROUP_BY ] =
620+ info_[SQL_MAX_COLUMNS_IN_GROUP_BY_ODBC ] =
621621 static_cast <uint16_t >(ScalarToInt64 (scalar));
622622 break ;
623623 }
624624 case ARROW_SQL_MAX_COLUMNS_IN_INDEX: {
625- info_[SQL_MAX_COLUMNS_IN_INDEX ] =
625+ info_[SQL_MAX_COLUMNS_IN_INDEX_ODBC ] =
626626 static_cast <uint16_t >(ScalarToInt64 (scalar));
627627 break ;
628628 }
629629 case ARROW_SQL_MAX_COLUMNS_IN_ORDER_BY: {
630- info_[SQL_MAX_COLUMNS_IN_ORDER_BY ] =
630+ info_[SQL_MAX_COLUMNS_IN_ORDER_BY_ODBC ] =
631631 static_cast <uint16_t >(ScalarToInt64 (scalar));
632632 break ;
633633 }
634634 case ARROW_SQL_MAX_COLUMNS_IN_SELECT: {
635- info_[SQL_MAX_COLUMNS_IN_SELECT ] =
635+ info_[SQL_MAX_COLUMNS_IN_SELECT_ODBC ] =
636636 static_cast <uint16_t >(ScalarToInt64 (scalar));
637637 break ;
638638 }
639639 case ARROW_SQL_MAX_COLUMNS_IN_TABLE: {
640- info_[SQL_MAX_COLUMNS_IN_TABLE ] =
640+ info_[SQL_MAX_COLUMNS_IN_TABLE_ODBC ] =
641641 static_cast <uint16_t >(ScalarToInt64 (scalar));
642642 break ;
643643 }
@@ -671,7 +671,7 @@ bool GetInfoCache::LoadInfoFromServer() {
671671 break ;
672672 }
673673 case ARROW_SQL_MAX_ROW_SIZE: {
674- info_[SQL_MAX_ROW_SIZE ] = static_cast <uint32_t >(ScalarToInt64 (scalar));
674+ info_[SQL_MAX_ROW_SIZE_ODBC ] = static_cast <uint32_t >(ScalarToInt64 (scalar));
675675 break ;
676676 }
677677 case SqlInfoOptions::SQL_MAX_STATEMENT_LENGTH: {
@@ -689,7 +689,7 @@ bool GetInfoCache::LoadInfoFromServer() {
689689 break ;
690690 }
691691 case ARROW_SQL_MAX_TABLES_IN_SELECT: {
692- info_[SQL_MAX_TABLES_IN_SELECT ] =
692+ info_[SQL_MAX_TABLES_IN_SELECT_ODBC ] =
693693 static_cast <uint16_t >(ScalarToInt64 (scalar));
694694 break ;
695695 }
@@ -951,7 +951,7 @@ bool GetInfoCache::LoadInfoFromServer() {
951951 result_val);
952952 }
953953 }
954- info_[SQL_NUMERIC_FUNCTIONS ] = result_val;
954+ info_[SQL_NUMERIC_FUNCTIONS_ODBC ] = result_val;
955955 break ;
956956 }
957957
@@ -984,7 +984,7 @@ bool GetInfoCache::LoadInfoFromServer() {
984984 }
985985 }
986986 info_[SQL_CONVERT_FUNCTIONS] = convert_result;
987- info_[SQL_SYSTEM_FUNCTIONS ] = sys_result;
987+ info_[SQL_SYSTEM_FUNCTIONS_ODBC ] = sys_result;
988988 break ;
989989 }
990990 case SqlInfoOptions::SQL_DATETIME_FUNCTIONS: {
@@ -1121,15 +1121,15 @@ void GetInfoCache::LoadDefaultsForMissingEntries() {
11211121 SetDefaultIfMissing (info_, SQL_CATALOG_LOCATION, static_cast <uint16_t >(0 ));
11221122 SetDefaultIfMissing (info_, SQL_CATALOG_NAME, " N" );
11231123 SetDefaultIfMissing (info_, SQL_CATALOG_NAME_SEPARATOR, " " );
1124- SetDefaultIfMissing (info_, SQL_CATALOG_TERM , " " );
1124+ SetDefaultIfMissing (info_, SQL_CATALOG_TERM_ODBC , " " );
11251125 SetDefaultIfMissing (info_, SQL_CATALOG_USAGE, static_cast <uint32_t >(0 ));
11261126 SetDefaultIfMissing (info_, SQL_COLLATION_SEQ, " " );
11271127 SetDefaultIfMissing (info_, SQL_COLUMN_ALIAS, " Y" );
11281128 SetDefaultIfMissing (info_, SQL_CONCAT_NULL_BEHAVIOR,
11291129 static_cast <uint16_t >(SQL_CB_NULL));
1130- SetDefaultIfMissing (info_, SQL_CONVERT_BIGINT , static_cast <uint32_t >(0 ));
1131- SetDefaultIfMissing (info_, SQL_CONVERT_BINARY , static_cast <uint32_t >(0 ));
1132- SetDefaultIfMissing (info_, SQL_CONVERT_BIT , static_cast <uint32_t >(0 ));
1130+ SetDefaultIfMissing (info_, SQL_CONVERT_BIGINT_ODBC , static_cast <uint32_t >(0 ));
1131+ SetDefaultIfMissing (info_, SQL_CONVERT_BINARY_ODBC , static_cast <uint32_t >(0 ));
1132+ SetDefaultIfMissing (info_, SQL_CONVERT_BIT_ODBC , static_cast <uint32_t >(0 ));
11331133 SetDefaultIfMissing (info_, SQL_CONVERT_CHAR, static_cast <uint32_t >(0 ));
11341134 SetDefaultIfMissing (info_, SQL_CONVERT_DATE, static_cast <uint32_t >(0 ));
11351135 SetDefaultIfMissing (info_, SQL_CONVERT_DECIMAL, static_cast <uint32_t >(0 ));
@@ -1192,7 +1192,7 @@ void GetInfoCache::LoadDefaultsForMissingEntries() {
11921192 SetDefaultIfMissing (info_, SQL_GROUP_BY,
11931193 static_cast <uint16_t >(SQL_GB_GROUP_BY_CONTAINS_SELECT));
11941194 SetDefaultIfMissing (info_, SQL_IDENTIFIER_CASE_ODBC, static_cast <uint16_t >(SQL_IC_MIXED));
1195- SetDefaultIfMissing (info_, SQL_IDENTIFIER_QUOTE_CHAR , " \" " );
1195+ SetDefaultIfMissing (info_, SQL_IDENTIFIER_QUOTE_CHAR_ODBC , " \" " );
11961196 SetDefaultIfMissing (info_, SQL_INDEX_KEYWORDS, static_cast <uint32_t >(SQL_IK_NONE));
11971197 SetDefaultIfMissing (
11981198 info_, SQL_INFO_SCHEMA_VIEWS,
@@ -1209,37 +1209,37 @@ void GetInfoCache::LoadDefaultsForMissingEntries() {
12091209 SetDefaultIfMissing (info_, SQL_MAX_CATALOG_NAME_LEN, static_cast <uint16_t >(0 ));
12101210 SetDefaultIfMissing (info_, SQL_MAX_CHAR_LITERAL_LEN, static_cast <uint32_t >(0 ));
12111211 SetDefaultIfMissing (info_, SQL_MAX_COLUMN_NAME_LEN, static_cast <uint16_t >(0 ));
1212- SetDefaultIfMissing (info_, SQL_MAX_COLUMNS_IN_GROUP_BY , static_cast <uint16_t >(0 ));
1213- SetDefaultIfMissing (info_, SQL_MAX_COLUMNS_IN_INDEX , static_cast <uint16_t >(0 ));
1214- SetDefaultIfMissing (info_, SQL_MAX_COLUMNS_IN_ORDER_BY , static_cast <uint16_t >(0 ));
1215- SetDefaultIfMissing (info_, SQL_MAX_COLUMNS_IN_SELECT , static_cast <uint16_t >(0 ));
1216- SetDefaultIfMissing (info_, SQL_MAX_COLUMNS_IN_TABLE , static_cast <uint16_t >(0 ));
1212+ SetDefaultIfMissing (info_, SQL_MAX_COLUMNS_IN_GROUP_BY_ODBC , static_cast <uint16_t >(0 ));
1213+ SetDefaultIfMissing (info_, SQL_MAX_COLUMNS_IN_INDEX_ODBC , static_cast <uint16_t >(0 ));
1214+ SetDefaultIfMissing (info_, SQL_MAX_COLUMNS_IN_ORDER_BY_ODBC , static_cast <uint16_t >(0 ));
1215+ SetDefaultIfMissing (info_, SQL_MAX_COLUMNS_IN_SELECT_ODBC , static_cast <uint16_t >(0 ));
1216+ SetDefaultIfMissing (info_, SQL_MAX_COLUMNS_IN_TABLE_ODBC , static_cast <uint16_t >(0 ));
12171217 SetDefaultIfMissing (info_, SQL_MAX_CONCURRENT_ACTIVITIES, static_cast <uint16_t >(0 ));
12181218 SetDefaultIfMissing (info_, SQL_MAX_CURSOR_NAME_LEN, static_cast <uint16_t >(0 ));
12191219 SetDefaultIfMissing (info_, SQL_MAX_DRIVER_CONNECTIONS, static_cast <uint16_t >(0 ));
12201220 SetDefaultIfMissing (info_, SQL_MAX_IDENTIFIER_LEN, static_cast <uint16_t >(65535 ));
12211221 SetDefaultIfMissing (info_, SQL_MAX_INDEX_SIZE, static_cast <uint32_t >(0 ));
12221222 SetDefaultIfMissing (info_, SQL_MAX_PROCEDURE_NAME_LEN, static_cast <uint16_t >(0 ));
1223- SetDefaultIfMissing (info_, SQL_MAX_ROW_SIZE , static_cast <uint32_t >(0 ));
1223+ SetDefaultIfMissing (info_, SQL_MAX_ROW_SIZE_ODBC , static_cast <uint32_t >(0 ));
12241224 SetDefaultIfMissing (info_, SQL_MAX_ROW_SIZE_INCLUDES_LONG, " N" );
12251225 SetDefaultIfMissing (info_, SQL_MAX_SCHEMA_NAME_LEN, static_cast <uint16_t >(0 ));
12261226 SetDefaultIfMissing (info_, SQL_MAX_STATEMENT_LEN, static_cast <uint32_t >(0 ));
12271227 SetDefaultIfMissing (info_, SQL_MAX_TABLE_NAME_LEN, static_cast <uint16_t >(0 ));
1228- SetDefaultIfMissing (info_, SQL_MAX_TABLES_IN_SELECT , static_cast <uint16_t >(0 ));
1228+ SetDefaultIfMissing (info_, SQL_MAX_TABLES_IN_SELECT_ODBC , static_cast <uint16_t >(0 ));
12291229 SetDefaultIfMissing (info_, SQL_MAX_USER_NAME_LEN, static_cast <uint16_t >(0 ));
12301230 SetDefaultIfMissing (info_, SQL_NON_NULLABLE_COLUMNS,
12311231 static_cast <uint16_t >(SQL_NNC_NULL));
12321232 SetDefaultIfMissing (info_, SQL_NULL_COLLATION, static_cast <uint16_t >(SQL_NC_END));
1233- SetDefaultIfMissing (info_, SQL_NUMERIC_FUNCTIONS , static_cast <uint32_t >(0 ));
1233+ SetDefaultIfMissing (info_, SQL_NUMERIC_FUNCTIONS_ODBC , static_cast <uint32_t >(0 ));
12341234 SetDefaultIfMissing (info_, SQL_OJ_CAPABILITIES,
12351235 static_cast <uint32_t >(SQL_OJ_LEFT | SQL_OJ_RIGHT | SQL_OJ_FULL));
12361236 SetDefaultIfMissing (info_, SQL_ORDER_BY_COLUMNS_IN_SELECT, " Y" );
12371237 SetDefaultIfMissing (info_, SQL_OUTER_JOINS, " N" );
1238- SetDefaultIfMissing (info_, SQL_PROCEDURE_TERM , " " );
1238+ SetDefaultIfMissing (info_, SQL_PROCEDURE_TERM_ODBC , " " );
12391239 SetDefaultIfMissing (info_, SQL_PROCEDURES, " N" );
1240- SetDefaultIfMissing (info_, SQL_QUOTED_IDENTIFIER_CASE ,
1240+ SetDefaultIfMissing (info_, SQL_QUOTED_IDENTIFIER_CASE_ODBC ,
12411241 static_cast <uint16_t >(SQL_IC_SENSITIVE));
1242- SetDefaultIfMissing (info_, SQL_SCHEMA_TERM , " schema" );
1242+ SetDefaultIfMissing (info_, SQL_SCHEMA_TERM_ODBC , " schema" );
12431243 SetDefaultIfMissing (info_, SQL_SCHEMA_USAGE,
12441244 static_cast <uint32_t >(SQL_SU_DML_STATEMENTS));
12451245 SetDefaultIfMissing (info_, SQL_SEARCH_PATTERN_ESCAPE, " \\ " );
@@ -1286,7 +1286,7 @@ void GetInfoCache::LoadDefaultsForMissingEntries() {
12861286 info_, SQL_SUBQUERIES,
12871287 static_cast <uint32_t >(SQL_SQ_CORRELATED_SUBQUERIES | SQL_SQ_COMPARISON |
12881288 SQL_SQ_EXISTS | SQL_SQ_IN | SQL_SQ_QUANTIFIED));
1289- SetDefaultIfMissing (info_, SQL_SYSTEM_FUNCTIONS ,
1289+ SetDefaultIfMissing (info_, SQL_SYSTEM_FUNCTIONS_ODBC ,
12901290 static_cast <uint32_t >(SQL_FN_SYS_IFNULL | SQL_FN_SYS_USERNAME));
12911291 SetDefaultIfMissing (info_, SQL_TIMEDATE_ADD_INTERVALS,
12921292 static_cast <uint32_t >(
0 commit comments