Changeset: c6c8092973ce for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c6c8092973ce
Modified Files:
        
Branch: default
Log Message:

Merge with default


diffs (36 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
@@ -1953,10 +1953,12 @@
                                        sql_exp *e = n->data, *ne;
                                        int p = list_position(u->exps, 
rel_find_exp(u, e));
                                        ne = list_fetch(lexps, p);
-                                       append(lgbe, ne=exp_column(sql->sa, 
exp_find_rel_name(ne), exp_name(ne), exp_subtype(ne), ne->card, has_nil(ne), 
is_intern(ne)));
+                                       ne = exp_column(sql->sa, 
exp_find_rel_name(ne), exp_name(ne), exp_subtype(ne), ne->card, has_nil(ne), 
is_intern(ne));
+                                       append(lgbe, ne);
                                        exp_setname(sql->sa, ne, 
e->rname?e->rname:exp_find_rel_name(e), exp_name(e));
                                        ne = list_fetch(rexps, p);
-                                       append(rgbe, ne= exp_column(sql->sa, 
exp_find_rel_name(ne), exp_name(ne), exp_subtype(ne), ne->card, has_nil(ne), 
is_intern(ne)));
+                                       ne = exp_column(sql->sa, 
exp_find_rel_name(ne), exp_name(ne), exp_subtype(ne), ne->card, has_nil(ne), 
is_intern(ne));
+                                       append(rgbe, ne);
                                        exp_setname(sql->sa, ne, 
e->rname?e->rname:exp_find_rel_name(e), exp_name(e));
                                }
                        }
@@ -1986,9 +1988,15 @@
                                         * sometimes aggr's include projection 
expressions (such as converts), these need to be added again! */
                                        int p = list_position(u->exps, 
rel_find_exp(u, oe));
                                        ne = list_fetch(lexps, p);
-                                       append(nll, exp_column(sql->sa, 
exp_find_rel_name(ne), exp_name(ne), exp_subtype(ne), ne->card, has_nil(ne), 
is_intern(ne)));
+                                       ne = exp_column(sql->sa, 
exp_find_rel_name(ne), exp_name(ne), exp_subtype(ne), ne->card, has_nil(ne), 
is_intern(ne));
+                                       if (oe->type == e_convert)
+                                               ne = exp_convert(sql->sa, ne, 
exp_fromtype(oe), exp_totype(oe));
+                                       append(nll, ne);
                                        ne = list_fetch(rexps, p);
-                                       append(nlr, exp_column(sql->sa, 
exp_find_rel_name(ne), exp_name(ne), exp_subtype(ne), ne->card, has_nil(ne), 
is_intern(ne)));
+                                       ne = exp_column(sql->sa, 
exp_find_rel_name(ne), exp_name(ne), exp_subtype(ne), ne->card, has_nil(ne), 
is_intern(ne));
+                                       if (oe->type == e_convert)
+                                               ne = exp_convert(sql->sa, ne, 
exp_fromtype(oe), exp_totype(oe));
+                                       append(nlr, ne);
                                    }
                                  }
                                  nle = exp_aggr(sql->sa, nll, e->f, 
need_distinct(e), need_no_nil(e), e->card, 0);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to