Changeset: 7316fbd4e9d2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7316fbd4e9d2
Modified Files:
sql/server/rel_optimizer.c
sql/server/rel_select.c
sql/test/BugTracker-2011/Tests/All
sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
Branch: Apr2011
Log Message:
fix bug 2798 (use correct old project list)
fixed bug 2807 (aggr on with primary key problems). Properly find column using
an expression.
diffs (56 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
@@ -58,6 +58,8 @@
node *cn;
sql_table *t = rel->l;
+ if (rname && strcmp(t->base.name, rname) != 0)
+ return NULL;
if (rel->exps) {
sql_exp *rename = exps_bind_column(rel->exps, name,
NULL);
if (!rename ||
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
@@ -3936,11 +3936,15 @@
if (*rel) {
/* current projection list */
sql_rel *p = *rel;
- list *pre_proj = rel_projections(sql, *rel,
NULL, 1, 1);
+ list *pre_proj = (*rel)->exps;
+
if (is_project((*rel)->op) && (*rel)->l) {
+ (*rel)->exps = NULL;
p = rel_dup((*rel)->l);
rel_destroy(*rel);
*rel = NULL;
+ } else {
+ pre_proj = rel_projections(sql, *rel,
NULL, 1, 1);
}
if (*rel && is_project((*rel)->op) &&
!(*rel)->l) {
list *l = (*rel)->exps;
diff --git a/sql/test/BugTracker-2011/Tests/All
b/sql/test/BugTracker-2011/Tests/All
--- a/sql/test/BugTracker-2011/Tests/All
+++ b/sql/test/BugTracker-2011/Tests/All
@@ -7,3 +7,4 @@
nested_select.Bug-2801
ambigous_idx_name.Bug-2800
crash_on_alias.Bug-2798
+groupby_primary_key.Bug-2807
diff --git a/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
b/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
--- a/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
+++ b/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
@@ -17,12 +17,6 @@
# MonetDB/SQL module loaded
Ready.
-# SQL catalog created, loading sql scripts once
-could not find (null).e
-dbg.d
-dbg.L10
-L12.L12
-dbg.d
Over..
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list