Changeset: 0d121393411e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0d121393411e
Modified Files:
        sql/server/rel_optimizer.c
        sql/server/rel_select.c
Branch: Feb2013
Log Message:

fix 2 small problems with merge tables (select on empty merge table crashed)
select on merge table with one table give incorrect results


diffs (27 lines):

diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -5428,7 +5428,9 @@ rel_merge_table_rewrite(int *changes, mv
                                        }
                                }
                        }
-                       if (nrel)
+                       if (nrel && list_length(t->tables.set) == 1) {
+                               nrel = rel_project(sql->sa, nrel, rel->exps);
+                       } else if (nrel)
                                nrel->exps = rel->exps;
                        rel_destroy(rel);
                        return nrel;
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
@@ -1669,6 +1669,9 @@ table_ref(mvc *sql, sql_rel *rel, symbol
                        }
                        return rel;
                }
+               if ((isMergeTable(t) || isReplicaTable(t)) && 
list_empty(t->tables.set))
+                       return sql_error(sql, 02, "Unable to query empty Merge 
or Replica tables");
+
                return rel_basetable(sql, t, tname);
        } else if (tableref->token == SQL_VALUES) {
                return rel_values(sql, tableref);
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to