Changeset: 786d4b2235e0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/786d4b2235e0
Modified Files:
sql/backends/monet5/vaults/csv/csv.c
sql/test/emptydb/Tests/check.stable.out.32bit
Branch: default
Log Message:
Merge with Dec2025 branch.
diffs (157 lines):
diff --git a/sql/backends/monet5/vaults/csv/csv.c
b/sql/backends/monet5/vaults/csv/csv.c
--- a/sql/backends/monet5/vaults/csv/csv.c
+++ b/sql/backends/monet5/vaults/csv/csv.c
@@ -107,10 +107,19 @@ detect_delimiter(const char *buf, char q
}
if (l) {
int maxpos = -1, maxcnt = 0;
- for (int i = 0; i<DLEN; i++) {
- if (cnts[i][0] == cnts[i][1] && maxcnt < cnts[i][0]) {
- maxcnt = cnts[i][0];
- maxpos = i;
+ if (l < 2) {
+ for (int i = 0; i<DLEN; i++) {
+ if (maxcnt < cnts[i][0]) {
+ maxcnt = cnts[i][0];
+ maxpos = i;
+ }
+ }
+ } else {
+ for (int i = 0; i<DLEN; i++) {
+ if (cnts[i][0] == cnts[i][1] && maxcnt <
cnts[i][0]) {
+ maxcnt = cnts[i][0];
+ maxpos = i;
+ }
}
}
if (maxpos>=0) {
diff --git a/sql/test/emptydb/Tests/check.stable.out.32bit
b/sql/test/emptydb/Tests/check.stable.out.32bit
--- a/sql/test/emptydb/Tests/check.stable.out.32bit
+++ b/sql/test/emptydb/Tests/check.stable.out.32bit
@@ -560,7 +560,7 @@ select 'null in fkeys.delete_action', de
[ "sys._tables", "sys", "range_partitions", NULL, "TABLE",
true, "COMMIT", "WRITABLE", NULL ]
[ "sys._tables", "sys", "rejects", "create view sys.rejects as
select * from sys.rejects();", "VIEW", true, "COMMIT", "WRITABLE",
NULL ]
[ "sys._tables", "sys", "remote_user_info", NULL, "TABLE",
true, "COMMIT", "WRITABLE", NULL ]
-[ "sys._tables", "sys", "roles", "create view sys.roles as
select id, name, grantor from sys.auths a where a.name not in (select u.name
from sys.db_user_info u);", "VIEW", true, "COMMIT", "WRITABLE",
NULL ]
+[ "sys._tables", "sys", "roles", "create view sys.roles as
select id, name, grantor from sys.auths;", "VIEW", true, "COMMIT",
"WRITABLE", NULL ]
[ "sys._tables", "sys", "schemas", NULL, "TABLE", true,
"COMMIT", "WRITABLE", NULL ]
[ "sys._tables", "sys", "schemastorage", "create view
sys.\"schemastorage\" as select \"schema\", count(*) as \"storages\",
sum(columnsize) as columnsize, sum(heapsize) as heapsize, sum(hashes) as
hashsize, sum(\"imprints\") as imprintsize, sum(orderidx) as orderidxsize from
sys.\"storage\" group by \"schema\" order by \"schema\";", "VIEW", true,
"COMMIT", "WRITABLE", NULL ]
[ "sys._tables", "sys", "sequences", NULL, "TABLE", true,
"COMMIT", "WRITABLE", NULL ]
@@ -584,6 +584,7 @@ select 'null in fkeys.delete_action', de
[ "sys._tables", "sys", "var_values", "create view sys.var_values
(var_name, value) as select 'current_role', current_role union all select
'current_schema', current_schema union all select 'current_timezone',
current_timezone union all select 'current_user', current_user union all select
'debug', debug union all select 'last_id', last_id union all select
'optimizer', optimizer union all select 'pi', pi() union all select 'rowcnt',
rowcnt;", "VIEW", true, "COMMIT", "WRITABLE", NULL ]
[ "sys._tables", "tmp", "_columns", NULL, "TABLE", true,
"PRESERVE", "WRITABLE", NULL ]
[ "sys._tables", "tmp", "_tables", NULL, "TABLE", true,
"PRESERVE", "WRITABLE", NULL ]
+[ "sys._tables", "tmp", "dependencies", NULL, "TABLE", true,
"PRESERVE", "WRITABLE", NULL ]
[ "sys._tables", "tmp", "idxs", NULL, "TABLE", true,
"PRESERVE", "WRITABLE", NULL ]
[ "sys._tables", "tmp", "keys", NULL, "TABLE", true,
"PRESERVE", "WRITABLE", NULL ]
[ "sys._tables", "tmp", "objects", NULL, "TABLE", true,
"PRESERVE", "WRITABLE", NULL ]
@@ -1666,6 +1667,9 @@ select 'null in fkeys.delete_action', de
[ "sys._columns", "tmp", "_tables", "system", "boolean",
1, 0, NULL, true, 5, NULL, NULL ]
[ "sys._columns", "tmp", "_tables", "commit_action",
"smallint", 15, 0, NULL, true, 6, NULL, NULL ]
[ "sys._columns", "tmp", "_tables", "access", "smallint",
15, 0, NULL, true, 7, NULL, NULL ]
+[ "sys._columns", "tmp", "dependencies", "id", "int", 31, 0,
NULL, true, 0, NULL, NULL ]
+[ "sys._columns", "tmp", "dependencies", "depend_id", "int", 31,
0, NULL, true, 1, NULL, NULL ]
+[ "sys._columns", "tmp", "dependencies", "depend_type", "smallint",
15, 0, NULL, true, 2, NULL, NULL ]
[ "sys._columns", "tmp", "idxs", "id", "int", 31, 0, NULL,
true, 0, NULL, NULL ]
[ "sys._columns", "tmp", "idxs", "table_id", "int", 31, 0,
NULL, true, 1, NULL, NULL ]
[ "sys._columns", "tmp", "idxs", "type", "int", 31, 0, NULL,
true, 2, NULL, NULL ]
@@ -3456,7 +3460,6 @@ select 'null in fkeys.delete_action', de
[ "table used by view", "tmp", "keys", "sys", "ids", "VIEW" ]
[ "table used by view", "tmp", "triggers", "sys", "ids", "VIEW"
]
[ "table used by view", "sys", "auths", "sys", "roles",
"VIEW" ]
-[ "table used by view", "sys", "db_user_info", "sys", "roles",
"VIEW" ]
[ "table used by view", "sys", "storage", "sys",
"schemastorage", "VIEW" ]
[ "table used by view", "sys", "schemas", "sys", "statistics",
"VIEW" ]
[ "table used by view", "sys", "tables", "sys", "statistics",
"VIEW" ]
@@ -4323,7 +4326,6 @@ select 'null in fkeys.delete_action', de
[ "column used by view", "sys", "auths", "grantor", "sys",
"roles", "VIEW" ]
[ "column used by view", "sys", "auths", "id", "sys",
"roles", "VIEW" ]
[ "column used by view", "sys", "auths", "name", "sys",
"roles", "VIEW" ]
-[ "column used by view", "sys", "db_user_info", "name", "sys",
"roles", "VIEW" ]
[ "column used by view", "sys", "storage", "columnsize", "sys",
"schemastorage", "VIEW" ]
[ "column used by view", "sys", "storage", "hashes", "sys",
"schemastorage", "VIEW" ]
[ "column used by view", "sys", "storage", "heapsize", "sys",
"schemastorage", "VIEW" ]
@@ -6117,8 +6119,8 @@ select 'null in fkeys.delete_action', de
% %7, role_id, login_id, role_id # name
% varchar, int, int, int # type
% 0, 1, 1, 1 # length
-% .%7, sys.user_role, sys.user_role, sys.user_role # table_name
-% %7, role_id, login_id, role_id # name
+% .%4, sys.user_role, sys.user_role, sys.user_role # table_name
+% %4, role_id, login_id, role_id # name
% varchar, int, int, int # type
% 0, 1, 1, 1 # length
% .%4, sys.privileges, sys.privileges, sys.privileges, sys.privileges,
sys.privileges, sys.privileges # table_name
diff --git a/testing/sqllogictest.py b/testing/sqllogictest.py
--- a/testing/sqllogictest.py
+++ b/testing/sqllogictest.py
@@ -615,7 +615,12 @@ class SQLLogic:
result.append(col)
if err and expected is not None and self.out:
print('Differences:', file=self.out)
- self.out.writelines(list(difflib.ndiff([x + '\n' for x in
expected], [x + '\n' for x in ndata])))
+ print('\n'.join(difflib.context_diff(expected,
+ ndata,
+ fromfile='expected',
+ tofile='received',
+ lineterm='')),
+ file=self.out)
if resdata is not None:
result = []
ndata = []
@@ -688,7 +693,12 @@ class SQLLogic:
recv.append(col)
if self.out:
print('Differences:', file=self.out)
- self.out.writelines(list(difflib.ndiff([x + '\n' for x in
expected], [x + '\n' for x in recv])))
+ print('\n'.join(difflib.context_diff(expected,
+ recv,
+ fromfile='expected',
+ tofile='received',
+ lineterm='')),
+ file=self.out)
if resdata is not None:
result = []
for row in resdata:
@@ -701,26 +711,26 @@ class SQLLogic:
if sorting == 'rowsort':
ndata = sorted(data)
err_msg_buff = []
+ received = []
for row in ndata:
for col in row:
- if expected is not None:
- if i < len(expected) and col != expected[i]:
- err_msg_buff.append('unexpected value;\nreceived
"%s"\nexpected "%s"' % (col, expected[i]))
- #self.query_error(query, 'unexpected value;
received "%s", expected "%s"' % (col, expected[i]), data=data)
- err = True
- i += 1
+ received.append(col)
m.update(bytes(col, encoding='utf-8'))
m.update(b'\n')
result.append(col)
- if err and expected is not None:
- self.query_error(query, '\n'.join(err_msg_buff))
- recv = []
- for row in ndata:
- for col in row:
- recv.append(col + '\n')
- if self.out:
- print('Differences:', file=self.out)
- self.out.writelines(list(difflib.ndiff([x + '\n' for x in
expected], recv)))
+ if expected is not None:
+ diffs = list(difflib.context_diff(expected,
+ received,
+ fromfile='expected',
+ tofile='received',
+ lineterm=''))
+ if diffs:
+ if not err:
+ self.query_error(query, 'unexpected output')
+ err = True
+ if self.out:
+ print('Differences:', file=self.out)
+ print('\n'.join(diffs), file=self.out)
if resdata is not None:
if sorting == 'rowsort':
resdata.sort()
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]