Skip to content

Commit 90cdf42

Browse files
committed
Handle more macro collisions
1 parent 09872fb commit 90cdf42

3 files changed

Lines changed: 297 additions & 112 deletions

File tree

cpp/src/arrow/flight/sql/odbc/odbc_impl/get_info_cache.cc

Lines changed: 73 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -86,45 +86,45 @@ namespace {
8686
int32_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:
95-
return SQL_CONVERT_CHAR;
95+
return SQL_CONVERT_CHAR_ODBC;
9696
case ARROW_CONVERT_DATE:
97-
return SQL_CONVERT_DATE;
97+
return SQL_CONVERT_DATE_ODBC;
9898
case ARROW_CONVERT_DECIMAL:
99-
return SQL_CONVERT_DECIMAL;
99+
return SQL_CONVERT_DECIMAL_ODBC;
100100
case ARROW_CONVERT_FLOAT:
101-
return SQL_CONVERT_FLOAT;
101+
return SQL_CONVERT_FLOAT_ODBC;
102102
case ARROW_CONVERT_INTEGER:
103-
return SQL_CONVERT_INTEGER;
103+
return SQL_CONVERT_INTEGER_ODBC;
104104
case ARROW_CONVERT_INTERVAL_DAY_TIME:
105-
return SQL_CONVERT_INTERVAL_DAY_TIME;
105+
return SQL_CONVERT_INTERVAL_DAY_TIME_ODBC;
106106
case ARROW_CONVERT_INTERVAL_YEAR_MONTH:
107-
return SQL_CONVERT_INTERVAL_YEAR_MONTH;
107+
return SQL_CONVERT_INTERVAL_YEAR_MONTH_ODBC;
108108
case ARROW_CONVERT_LONGVARBINARY:
109-
return SQL_CONVERT_LONGVARBINARY;
109+
return SQL_CONVERT_LONGVARBINARY_ODBC;
110110
case ARROW_CONVERT_LONGVARCHAR:
111-
return SQL_CONVERT_LONGVARCHAR;
111+
return SQL_CONVERT_LONGVARCHAR_ODBC;
112112
case ARROW_CONVERT_NUMERIC:
113-
return SQL_CONVERT_NUMERIC;
113+
return SQL_CONVERT_NUMERIC_ODBC;
114114
case ARROW_CONVERT_REAL:
115-
return SQL_CONVERT_REAL;
115+
return SQL_CONVERT_REAL_ODBC;
116116
case ARROW_CONVERT_SMALLINT:
117-
return SQL_CONVERT_SMALLINT;
117+
return SQL_CONVERT_SMALLINT_ODBC;
118118
case ARROW_CONVERT_TIME:
119-
return SQL_CONVERT_TIME;
119+
return SQL_CONVERT_TIME_ODBC;
120120
case ARROW_CONVERT_TIMESTAMP:
121-
return SQL_CONVERT_TIMESTAMP;
121+
return SQL_CONVERT_TIMESTAMP_ODBC;
122122
case ARROW_CONVERT_TINYINT:
123-
return SQL_CONVERT_TINYINT;
123+
return SQL_CONVERT_TINYINT_ODBC;
124124
case ARROW_CONVERT_VARBINARY:
125-
return SQL_CONVERT_VARBINARY;
125+
return SQL_CONVERT_VARBINARY_ODBC;
126126
case ARROW_CONVERT_VARCHAR:
127-
return SQL_CONVERT_VARCHAR;
127+
return SQL_CONVERT_VARCHAR_ODBC;
128128
}
129129
// Arbitrarily return a negative value
130130
return -1;
@@ -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;
@@ -598,7 +598,7 @@ bool GetInfoCache::LoadInfoFromServer() {
598598
value = SQL_IC_SENSITIVE;
599599
break;
600600
}
601-
info_[SQL_QUOTED_IDENTIFIER_CASE] = value;
601+
info_[SQL_QUOTED_IDENTIFIER_CASE_ODBC] = value;
602602
break;
603603
}
604604
case SqlInfoOptions::SQL_MAX_BINARY_LITERAL_LENGTH: {
@@ -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

@@ -967,7 +967,7 @@ bool GetInfoCache::LoadInfoFromServer() {
967967
result_val);
968968
}
969969
}
970-
info_[SQL_STRING_FUNCTIONS] = result_val;
970+
info_[SQL_STRING_FUNCTIONS_ODBC] = result_val;
971971
break;
972972
}
973973
case ARROW_SQL_SYSTEM_FUNCTIONS: {
@@ -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: {
@@ -1018,7 +1018,7 @@ bool GetInfoCache::LoadInfoFromServer() {
10181018
->GetString(list_index);
10191019
}
10201020
}
1021-
info_[SQL_KEYWORDS] = std::move(result_str);
1021+
info_[SQL_KEYWORDS_ODBC] = std::move(result_str);
10221022
break;
10231023
}
10241024

@@ -1121,35 +1121,35 @@ 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));
1133-
SetDefaultIfMissing(info_, SQL_CONVERT_CHAR, static_cast<uint32_t>(0));
1134-
SetDefaultIfMissing(info_, SQL_CONVERT_DATE, static_cast<uint32_t>(0));
1135-
SetDefaultIfMissing(info_, SQL_CONVERT_DECIMAL, 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));
1133+
SetDefaultIfMissing(info_, SQL_CONVERT_CHAR_ODBC, static_cast<uint32_t>(0));
1134+
SetDefaultIfMissing(info_, SQL_CONVERT_DATE_ODBC, static_cast<uint32_t>(0));
1135+
SetDefaultIfMissing(info_, SQL_CONVERT_DECIMAL_ODBC, static_cast<uint32_t>(0));
11361136
SetDefaultIfMissing(info_, SQL_CONVERT_DOUBLE, static_cast<uint32_t>(0));
1137-
SetDefaultIfMissing(info_, SQL_CONVERT_FLOAT, static_cast<uint32_t>(0));
1137+
SetDefaultIfMissing(info_, SQL_CONVERT_FLOAT_ODBC, static_cast<uint32_t>(0));
11381138
SetDefaultIfMissing(info_, SQL_CONVERT_FUNCTIONS, static_cast<uint32_t>(0));
11391139
SetDefaultIfMissing(info_, SQL_CONVERT_GUID, static_cast<uint32_t>(0));
1140-
SetDefaultIfMissing(info_, SQL_CONVERT_INTEGER, static_cast<uint32_t>(0));
1141-
SetDefaultIfMissing(info_, SQL_CONVERT_INTERVAL_YEAR_MONTH, static_cast<uint32_t>(0));
1142-
SetDefaultIfMissing(info_, SQL_CONVERT_INTERVAL_DAY_TIME, static_cast<uint32_t>(0));
1143-
SetDefaultIfMissing(info_, SQL_CONVERT_LONGVARBINARY, static_cast<uint32_t>(0));
1144-
SetDefaultIfMissing(info_, SQL_CONVERT_LONGVARCHAR, static_cast<uint32_t>(0));
1145-
SetDefaultIfMissing(info_, SQL_CONVERT_NUMERIC, static_cast<uint32_t>(0));
1146-
SetDefaultIfMissing(info_, SQL_CONVERT_REAL, static_cast<uint32_t>(0));
1147-
SetDefaultIfMissing(info_, SQL_CONVERT_SMALLINT, static_cast<uint32_t>(0));
1148-
SetDefaultIfMissing(info_, SQL_CONVERT_TIME, static_cast<uint32_t>(0));
1149-
SetDefaultIfMissing(info_, SQL_CONVERT_TIMESTAMP, static_cast<uint32_t>(0));
1150-
SetDefaultIfMissing(info_, SQL_CONVERT_TINYINT, static_cast<uint32_t>(0));
1151-
SetDefaultIfMissing(info_, SQL_CONVERT_VARBINARY, static_cast<uint32_t>(0));
1152-
SetDefaultIfMissing(info_, SQL_CONVERT_VARCHAR, static_cast<uint32_t>(0));
1140+
SetDefaultIfMissing(info_, SQL_CONVERT_INTEGER_ODBC, static_cast<uint32_t>(0));
1141+
SetDefaultIfMissing(info_, SQL_CONVERT_INTERVAL_YEAR_MONTH_ODBC, static_cast<uint32_t>(0));
1142+
SetDefaultIfMissing(info_, SQL_CONVERT_INTERVAL_DAY_TIME_ODBC, static_cast<uint32_t>(0));
1143+
SetDefaultIfMissing(info_, SQL_CONVERT_LONGVARBINARY_ODBC, static_cast<uint32_t>(0));
1144+
SetDefaultIfMissing(info_, SQL_CONVERT_LONGVARCHAR_ODBC, static_cast<uint32_t>(0));
1145+
SetDefaultIfMissing(info_, SQL_CONVERT_NUMERIC_ODBC, static_cast<uint32_t>(0));
1146+
SetDefaultIfMissing(info_, SQL_CONVERT_REAL_ODBC, static_cast<uint32_t>(0));
1147+
SetDefaultIfMissing(info_, SQL_CONVERT_SMALLINT_ODBC, static_cast<uint32_t>(0));
1148+
SetDefaultIfMissing(info_, SQL_CONVERT_TIME_ODBC, static_cast<uint32_t>(0));
1149+
SetDefaultIfMissing(info_, SQL_CONVERT_TIMESTAMP_ODBC, static_cast<uint32_t>(0));
1150+
SetDefaultIfMissing(info_, SQL_CONVERT_TINYINT_ODBC, static_cast<uint32_t>(0));
1151+
SetDefaultIfMissing(info_, SQL_CONVERT_VARBINARY_ODBC, static_cast<uint32_t>(0));
1152+
SetDefaultIfMissing(info_, SQL_CONVERT_VARCHAR_ODBC, static_cast<uint32_t>(0));
11531153
SetDefaultIfMissing(info_, SQL_CONVERT_WCHAR, static_cast<uint32_t>(0));
11541154
SetDefaultIfMissing(info_, SQL_CONVERT_WVARCHAR, static_cast<uint32_t>(0));
11551155
SetDefaultIfMissing(info_, SQL_CONVERT_WLONGVARCHAR, 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,
@@ -1201,45 +1201,45 @@ void GetInfoCache::LoadDefaultsForMissingEntries() {
12011201
static_cast<uint32_t>(SQL_IS_INSERT_LITERALS |
12021202
SQL_IS_INSERT_SEARCHED | SQL_IS_SELECT_INTO));
12031203
SetDefaultIfMissing(info_, SQL_INTEGRITY, "N");
1204-
SetDefaultIfMissing(info_, SQL_KEYWORDS, "");
1204+
SetDefaultIfMissing(info_, SQL_KEYWORDS_ODBC, "");
12051205
SetDefaultIfMissing(info_, SQL_LIKE_ESCAPE_CLAUSE, "Y");
12061206
SetDefaultIfMissing(info_, SQL_MAX_ASYNC_CONCURRENT_STATEMENTS,
12071207
static_cast<uint32_t>(0));
12081208
SetDefaultIfMissing(info_, SQL_MAX_BINARY_LITERAL_LEN, static_cast<uint32_t>(0));
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, "\\");
@@ -1278,15 +1278,15 @@ void GetInfoCache::LoadDefaultsForMissingEntries() {
12781278
SQL_SVE_COALESCE | SQL_SVE_NULLIF));
12791279
SetDefaultIfMissing(info_, SQL_STANDARD_CLI_CONFORMANCE, static_cast<uint32_t>(0));
12801280
SetDefaultIfMissing(
1281-
info_, SQL_STRING_FUNCTIONS,
1281+
info_, SQL_STRING_FUNCTIONS_ODBC,
12821282
static_cast<uint32_t>(SQL_FN_STR_CONCAT | SQL_FN_STR_LCASE | SQL_FN_STR_LENGTH |
12831283
SQL_FN_STR_LTRIM | SQL_FN_STR_RTRIM | SQL_FN_STR_SPACE |
12841284
SQL_FN_STR_SUBSTRING | SQL_FN_STR_UCASE));
12851285
SetDefaultIfMissing(
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

Comments
 (0)