Changeset: e703616b2ba5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e703616b2ba5
Removed Files:
sql/test/strimps/Tests/strimps_stable_counts2.test
Modified Files:
clients/Tests/MAL-signatures-hge.test
clients/Tests/MAL-signatures.test
clients/odbc/tests/ODBCmetadata.c
gdk/gdk_hash.c
monetdb5/modules/atoms/str.c
monetdb5/modules/atoms/str.h
monetdb5/modules/kernel/batstr.c
sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
Branch: default
Log Message:
Merge with Dec2023 branch.
diffs (truncated from 5202 to 300 lines):
diff --git a/clients/Tests/MAL-signatures-hge.test
b/clients/Tests/MAL-signatures-hge.test
--- a/clients/Tests/MAL-signatures-hge.test
+++ b/clients/Tests/MAL-signatures-hge.test
@@ -50695,25 +50695,25 @@ STRcontains;
Check if string chaystack contains string needle, icase flag.
str
containsjoin
-pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid]
-STRcontainsjoin1;
-The same as STRcontainsjoin, but only produce one output + icase.
-str
-containsjoin
-pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid]
-STRcontainsjoin1;
-The same as STRcontainsjoin, but only produce one output.
-str
-containsjoin
pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid],
X_9:bat[:oid])
STRcontainsjoin;
Join the string bat L with the bat R if L contains the string of R@with
optional candidate lists SL and SR@The result is two aligned bats with oids of
matching rows + icase.
str
containsjoin
+pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid]
+STRcontainsjoin;
+The same as STRcontainsjoin, but only produce one output + icase.
+str
+containsjoin
pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) (X_7:bat[:oid], X_8:bat[:oid])
STRcontainsjoin;
Join the string bat L with the bat R if L contains the string of R@with
optional candidate lists SL and SR@The result is two aligned bats with oids of
matching rows.
str
+containsjoin
+pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid]
+STRcontainsjoin;
+The same as STRcontainsjoin, but only produce one output.
+str
containsselect
pattern str.containsselect(X_0:bat[:str], X_1:bat[:oid], X_2:str,
X_3:bit):bat[:oid]
STRcontainsselect;
@@ -50735,25 +50735,25 @@ STRendswith;
Check if string ends with substring, icase flag.
str
endswithjoin
-pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid]
-STRendswithjoin1;
-The same as STRendswithjoin, but only produce one output + icase.
-str
-endswithjoin
-pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid]
-STRendswithjoin1;
-The same as STRendswithjoin, but only produce one output.
-str
-endswithjoin
pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid],
X_9:bat[:oid])
STRendswithjoin;
Join the string bat L with the suffix bat R@with optional candidate lists SL
and SR@The result is two aligned bats with oids of matching rows + icase.
str
endswithjoin
+pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid]
+STRendswithjoin;
+The same as STRendswithjoin, but only produce one output + icase.
+str
+endswithjoin
pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) (X_7:bat[:oid], X_8:bat[:oid])
STRendswithjoin;
Join the string bat L with the suffix bat R@with optional candidate lists SL
and SR@The result is two aligned bats with oids of matching rows.
str
+endswithjoin
+pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid]
+STRendswithjoin;
+The same as STRendswithjoin, but only produce one output.
+str
endswithselect
pattern str.endswithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str,
X_3:bit):bat[:oid]
STRendswithselect;
@@ -50905,25 +50905,25 @@ STRstartswith;
Check if string starts with substring, icase flag.
str
startswithjoin
-pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid]
-STRstartswithjoin1;
-The same as STRstartswithjoin, but only produce one output + icase.
-str
-startswithjoin
-pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid]
-STRstartswithjoin1;
-The same as STRstartswithjoin, but only produce one output.
-str
-startswithjoin
pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid],
X_9:bat[:oid])
STRstartswithjoin;
Join the string bat L with the prefix bat R@with optional candidate lists SL
and SR@The result is two aligned bats with oids of matching rows + icase.
str
startswithjoin
+pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid]
+STRstartswithjoin;
+The same as STRstartswithjoin, but only produce one output + icase.
+str
+startswithjoin
pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) (X_7:bat[:oid], X_8:bat[:oid])
STRstartswithjoin;
Join the string bat L with the prefix bat R@with optional candidate lists SL
and SR@The result is two aligned bats with oids of matching rows.
str
+startswithjoin
+pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid]
+STRstartswithjoin;
+The same as STRstartswithjoin, but only produce one output.
+str
startswithselect
pattern str.startswithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str,
X_3:bit):bat[:oid]
STRstartswithselect;
diff --git a/clients/Tests/MAL-signatures.test
b/clients/Tests/MAL-signatures.test
--- a/clients/Tests/MAL-signatures.test
+++ b/clients/Tests/MAL-signatures.test
@@ -39020,25 +39020,25 @@ STRcontains;
Check if string chaystack contains string needle, icase flag.
str
containsjoin
-pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid]
-STRcontainsjoin1;
-The same as STRcontainsjoin, but only produce one output + icase.
-str
-containsjoin
-pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid]
-STRcontainsjoin1;
-The same as STRcontainsjoin, but only produce one output.
-str
-containsjoin
pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid],
X_9:bat[:oid])
STRcontainsjoin;
Join the string bat L with the bat R if L contains the string of R@with
optional candidate lists SL and SR@The result is two aligned bats with oids of
matching rows + icase.
str
containsjoin
+pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid]
+STRcontainsjoin;
+The same as STRcontainsjoin, but only produce one output + icase.
+str
+containsjoin
pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) (X_7:bat[:oid], X_8:bat[:oid])
STRcontainsjoin;
Join the string bat L with the bat R if L contains the string of R@with
optional candidate lists SL and SR@The result is two aligned bats with oids of
matching rows.
str
+containsjoin
+pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid]
+STRcontainsjoin;
+The same as STRcontainsjoin, but only produce one output.
+str
containsselect
pattern str.containsselect(X_0:bat[:str], X_1:bat[:oid], X_2:str,
X_3:bit):bat[:oid]
STRcontainsselect;
@@ -39060,25 +39060,25 @@ STRendswith;
Check if string ends with substring, icase flag.
str
endswithjoin
-pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid]
-STRendswithjoin1;
-The same as STRendswithjoin, but only produce one output + icase.
-str
-endswithjoin
-pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid]
-STRendswithjoin1;
-The same as STRendswithjoin, but only produce one output.
-str
-endswithjoin
pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid],
X_9:bat[:oid])
STRendswithjoin;
Join the string bat L with the suffix bat R@with optional candidate lists SL
and SR@The result is two aligned bats with oids of matching rows + icase.
str
endswithjoin
+pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid]
+STRendswithjoin;
+The same as STRendswithjoin, but only produce one output + icase.
+str
+endswithjoin
pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) (X_7:bat[:oid], X_8:bat[:oid])
STRendswithjoin;
Join the string bat L with the suffix bat R@with optional candidate lists SL
and SR@The result is two aligned bats with oids of matching rows.
str
+endswithjoin
+pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid]
+STRendswithjoin;
+The same as STRendswithjoin, but only produce one output.
+str
endswithselect
pattern str.endswithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str,
X_3:bit):bat[:oid]
STRendswithselect;
@@ -39230,25 +39230,25 @@ STRstartswith;
Check if string starts with substring, icase flag.
str
startswithjoin
-pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid]
-STRstartswithjoin1;
-The same as STRstartswithjoin, but only produce one output + icase.
-str
-startswithjoin
-pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid]
-STRstartswithjoin1;
-The same as STRstartswithjoin, but only produce one output.
-str
-startswithjoin
pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid],
X_9:bat[:oid])
STRstartswithjoin;
Join the string bat L with the prefix bat R@with optional candidate lists SL
and SR@The result is two aligned bats with oids of matching rows + icase.
str
startswithjoin
+pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit],
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid]
+STRstartswithjoin;
+The same as STRstartswithjoin, but only produce one output + icase.
+str
+startswithjoin
pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) (X_7:bat[:oid], X_8:bat[:oid])
STRstartswithjoin;
Join the string bat L with the prefix bat R@with optional candidate lists SL
and SR@The result is two aligned bats with oids of matching rows.
str
+startswithjoin
+pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid],
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid]
+STRstartswithjoin;
+The same as STRstartswithjoin, but only produce one output.
+str
startswithselect
pattern str.startswithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str,
X_3:bit):bat[:oid]
STRstartswithselect;
diff --git a/clients/odbc/driver/SQLGetTypeInfo.c
b/clients/odbc/driver/SQLGetTypeInfo.c
--- a/clients/odbc/driver/SQLGetTypeInfo.c
+++ b/clients/odbc/driver/SQLGetTypeInfo.c
@@ -716,8 +716,8 @@ static const struct types {
.type_name = "interval year",
.data_type = SQL_INTERVAL_YEAR, /* 101 */
.column_size = 9,
- .literal_prefix = "''''",
- .literal_suffix = "''''",
+ .literal_prefix = "'interval '''",
+ .literal_suffix = "''' year'",
.create_params = "NULL",
.nullable = SQL_NULLABLE,
.case_sensitive = SQL_FALSE,
@@ -737,8 +737,8 @@ static const struct types {
.type_name = "interval month",
.data_type = SQL_INTERVAL_MONTH, /* 102 */
.column_size = 10,
- .literal_prefix = "''''",
- .literal_suffix = "''''",
+ .literal_prefix = "'interval '''",
+ .literal_suffix = "''' month'",
.create_params = "NULL",
.nullable = SQL_NULLABLE,
.case_sensitive = SQL_FALSE,
@@ -758,8 +758,8 @@ static const struct types {
.type_name = "interval day",
.data_type = SQL_INTERVAL_DAY, /* 103 */
.column_size = 5,
- .literal_prefix = "''''",
- .literal_suffix = "''''",
+ .literal_prefix = "'interval '''",
+ .literal_suffix = "''' day'",
.create_params = "NULL",
.nullable = SQL_NULLABLE,
.case_sensitive = SQL_FALSE,
@@ -779,8 +779,8 @@ static const struct types {
.type_name = "interval hour",
.data_type = SQL_INTERVAL_HOUR, /* 104 */
.column_size = 6,
- .literal_prefix = "''''",
- .literal_suffix = "''''",
+ .literal_prefix = "'interval '''",
+ .literal_suffix = "''' hour'",
.create_params = "NULL",
.nullable = SQL_NULLABLE,
.case_sensitive = SQL_FALSE,
@@ -800,8 +800,8 @@ static const struct types {
.type_name = "interval minute",
.data_type = SQL_INTERVAL_MINUTE, /* 105 */
.column_size = 8,
- .literal_prefix = "''''",
- .literal_suffix = "''''",
+ .literal_prefix = "'interval '''",
+ .literal_suffix = "''' minute'",
.create_params = "NULL",
.nullable = SQL_NULLABLE,
.case_sensitive = SQL_FALSE,
@@ -821,9 +821,9 @@ static const struct types {
.type_name = "interval second",
.data_type = SQL_INTERVAL_SECOND, /* 106 */
.column_size = 10,
- .literal_prefix = "''''",
- .literal_suffix = "''''",
- .create_params = "'precision'",
+ .literal_prefix = "'interval '''",
+ .literal_suffix = "''' second'",
+ .create_params = "'scale'",
.nullable = SQL_NULLABLE,
.case_sensitive = SQL_FALSE,
.searchable = SQL_PRED_BASIC,
@@ -842,8 +842,8 @@ static const struct types {
.type_name = "interval year to month",
.data_type = SQL_INTERVAL_YEAR_TO_MONTH, /* 107 */
.column_size = 12,
- .literal_prefix = "''''",
- .literal_suffix = "''''",
+ .literal_prefix = "'interval '''",
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]