Changeset: b673a4594d56 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b673a4594d56
Modified Files:
        sql/backends/monet5/sql_execute.c
        sql/server/rel_dump.c
        
sql/test/BugTracker-2019/Tests/remote-table-non-existent-column.Bug-6750.py
Branch: Nov2019
Log Message:

We expect an error from the nested merge tables


diffs (39 lines):

diff --git a/sql/backends/monet5/sql_execute.c 
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -949,7 +949,7 @@ RAstatement2(Client cntxt, MalBlkPtr mb,
        if (rel)
                rel = rel_unnest(m, rel);
        if (rel)
-               rel = rel_optimizer(m, rel, 0);
+               rel = rel_optimizer(m, rel, 1);
        if (!rel || monet5_create_relational_function(m, *mod, *nme, rel, NULL, 
ops, 0) < 0) {
                if (strlen(m->errstr) > 6 && m->errstr[5] == '!')
                        msg = createException(SQL, "RAstatement2", "%s", 
m->errstr);
diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c
--- a/sql/server/rel_dump.c
+++ b/sql/server/rel_dump.c
@@ -1660,7 +1660,7 @@ rel_read(mvc *sql, char *r, int *pos, li
                rel = rel_setop(sql->sa, lrel, rrel, j);
                rel->exps = exps;
                if (rel_set_types(sql, rel) < 0)
-                       return sql_error(sql, -1, SQLSTATE(42000) "Setop: 
number of epxressions don't match\n");
+                       return sql_error(sql, -1, SQLSTATE(42000) "Setop: 
number of expressions don't match\n");
                set_processed(rel);
                break;
        case '[': /* projection of list of values */
diff --git 
a/sql/test/BugTracker-2019/Tests/remote-table-non-existent-column.Bug-6750.py 
b/sql/test/BugTracker-2019/Tests/remote-table-non-existent-column.Bug-6750.py
--- 
a/sql/test/BugTracker-2019/Tests/remote-table-non-existent-column.Bug-6750.py
+++ 
b/sql/test/BugTracker-2019/Tests/remote-table-non-existent-column.Bug-6750.py
@@ -61,7 +61,10 @@ try:
             cur2.execute("create remote table m1 (col1 clob) on 
'mapi:monetdb://localhost:"+str(prt1)+"/node1';")
             cur1.execute("alter table m1 add table m2;")
             cur2.execute("alter table m2 add table m1;")
-            cur2.execute("select * from m2;")
+            try:
+                cur2.execute("select * from m2;")  # Infinite loop while 
resolving the children of m2
+            except pymonetdb.OperationalError as e:
+                sys.stderr.write(str(e))
 
             cur1.close()
             conn1.close()
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to