Changeset: 7e81fdc840d4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7e81fdc840d4
Modified Files:
sql/server/rel_select.c
Branch: default
Log Message:
Merge with Jun2023.
diffs (84 lines):
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -810,7 +810,7 @@ dump_type(Mapi mid, stream *toConsole, c
space = mnstr_printf(toConsole, "INTERVAL MONTH");
else
fprintf(stderr, "Internal error: unrecognized month
interval %s\n", c_type_digits);
- } else if (strlen(c_type) > 4 && strcmp(c_type+3, "_interval") == 0) {
+ } else if (strcmp(c_type, "day_interval") == 0 || strcmp(c_type,
"sec_interval") == 0) {
if (strcmp(c_type_digits, "4") == 0)
space = mnstr_printf(toConsole, "INTERVAL DAY");
else if (strcmp(c_type_digits, "5") == 0)
@@ -1874,7 +1874,7 @@ dump_table_data(Mapi mid, const char *sc
if (s == NULL)
mnstr_printf(toConsole, "NULL");
else if (useInserts) {
- if (strlen(tp) > 4 && strcmp(tp+3, "_interval")
== 0) {
+ if (strcmp(tp, "day_interval") == 0 ||
strcmp(tp, "sec_interval") == 0) {
const char *p = strchr(s, '.');
if (p == NULL)
p = s + strlen(s);
diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c
--- a/gdk/gdk_posix.c
+++ b/gdk/gdk_posix.c
@@ -301,22 +301,17 @@ MT_getrss(void)
/* get RSS on Linux */
int fd;
- fd = open("/proc/self/stat", O_RDONLY | O_CLOEXEC);
+ fd = open("/proc/self/statm", O_RDONLY | O_CLOEXEC);
if (fd >= 0) {
- char buf[1024], *r = buf;
- ssize_t i, sz = read(fd, buf, 1024);
+ char buf[1024];
+ ssize_t sz = read(fd, buf, sizeof(buf) - 1);
close(fd);
if (sz > 0) {
- for (i = 0; i < 23; i++) {
- while (*r && (*r == ' ' || *r == '\t'))
- r++;
- while (*r && (*r != ' ' && *r != '\t'))
- r++;
- }
- while (*r && (*r == ' ' || *r == '\t'))
- r++;
- return ((size_t) atol(r)) * MT_pagesize();
+ buf[sz] = 0;
+ long rss;
+ if (sscanf(buf, "%*d %ld", &rss) >= 1)
+ return (size_t) rss * MT_pagesize();
}
}
#endif
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -2447,6 +2447,8 @@ rel_logical_value_exp(sql_query *query,
rs = rel_value_exp(query, rel, ro, f|sql_farg, ek);
if (!rs)
return NULL;
+ if (rs->type == e_atom)
+ quantifier = 0;
if (!exp_is_rel(ls) && !exp_is_rel(rs) && ls->card < rs->card) {
sql_exp *swap = ls; /* has to swap parameters like in
the rel_logical_exp case */
diff --git a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
--- a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
+++ b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
@@ -163,5 +163,13 @@ SELECT * FROM v0 ORDER BY (SELECT -1)
statement ok
drop table v0
--- TODO: add remaining 10.sql to 40.sql tests and fix bugs
+-- 10.sql
+statement ok
+CREATE TABLE v0 (v1 INT PRIMARY KEY)
+query I
+SELECT DISTINCT (SELECT v1 WHERE (5)) >= ANY(9223372036854775807) FROM v0
+----
+
+
+-- TODO: add remaining 11.sql to 40.sql tests and fix bugs
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]