This message was forwarded from developers-l...@monetdb.org. The MonetDB mailing lists have moved to monetdb.org. Please subscribe to developers-l...@monetdb.org, and unsubscribe from this list. See: http://mail.monetdb.org/mailman/listinfo/developers-list
Send developers-list mailing list submissions to developers-l...@monetdb.org To subscribe or unsubscribe via the World Wide Web, visit http://mail.monetdb.org/mailman/listinfo/developers-list or, via email, send a message with subject or body 'help' to developers-list-requ...@monetdb.org You can reach the person managing the list at developers-list-ow...@monetdb.org When replying, please edit your Subject line so it is more specific than "Re: Contents of developers-list digest..." Today's Topics: 1. Re: MonetDB: Oct2012 - fixed bug 3209, ie first crossproduct if the ... (Ying Zhang) ---------------------------------------------------------------------- Message: 1 Date: Sun, 16 Dec 2012 20:08:01 +0100 From: Ying Zhang <y.zh...@cwi.nl> To: developers-l...@monetdb.org Cc: checkin-l...@monetdb.org Subject: Re: MonetDB: Oct2012 - fixed bug 3209, ie first crossproduct if the ... Message-ID: <df5cbab6-0ebb-437d-af37-a5b5c23e8...@cwi.nl> Content-Type: text/plain; charset=windows-1252 Hai Niels, Your fix works in Feb2013, but not in Oct2012? Jennie On Dec 15, 2012, at 12:29, Niels Nes wrote: > Changeset: 8650dce52dd8 for MonetDB > URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8650dce52dd8 > Modified Files: > sql/server/rel_exp.c > sql/server/rel_exp.h > Branch: Oct2012 > Log Message: > > fixed bug 3209, ie first crossproduct if the join expression consists > of functions (these should have been pushed down, whenever possible). > > > diffs (59 lines): > > diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c > --- a/sql/server/rel_exp.c > +++ b/sql/server/rel_exp.c > @@ -1032,6 +1032,44 @@ exp_is_atom( sql_exp *e ) > } > > static int > +exps_has_func( list *exps) > +{ > + node *n; > + int has_func = 0; > + > + for(n=exps->h; n && !has_func; n=n->next) > + has_func |= exp_has_func(n->data); > + return has_func; > +} > + > +int > +exp_has_func( sql_exp *e ) > +{ > + switch (e->type) { > + case e_atom: > + return 0; > + case e_convert: > + return exp_has_func(e->l); > + case e_func: > + case e_aggr: > + return 1; > + case e_cmp: > + if (e->flag == cmp_or) { > + return (exps_has_func(e->l) || exps_has_func(e->r)); > + } else if (e->flag == cmp_in || e->flag == cmp_notin || e->flag > == cmp_filter) { > + return (exp_has_func(e->l) || exps_has_func(e->r)); > + } else { > + return (exp_has_func(e->l) || exp_has_func(e->r) || > + (e->f && exp_has_func(e->f))); > + } > + case e_column: > + case e_psm: > + return 0; > + } > + return 0; > +} > + > +static int > exp_key( sql_exp *e ) > { > if (e->name) > diff --git a/sql/server/rel_exp.h b/sql/server/rel_exp.h > --- a/sql/server/rel_exp.h > +++ b/sql/server/rel_exp.h > @@ -105,6 +105,7 @@ extern int exp_is_eqjoin(sql_exp *e); > extern int exp_is_correlation(sql_exp *e, sql_rel *r ); > extern int exp_is_join_exp(sql_exp *e); > extern int exp_is_atom(sql_exp *e); > +extern int exp_has_func(sql_exp *e); > > extern sql_exp *exps_bind_column( list *exps, char *cname, int *ambiguous); > extern sql_exp *exps_bind_column2( list *exps, char *rname, char *cname); > _______________________________________________ > checkin-list mailing list > checkin-l...@monetdb.org > http://mail.monetdb.org/mailman/listinfo/checkin-list ------------------------------ _______________________________________________ developers-list mailing list developers-l...@monetdb.org http://mail.monetdb.org/mailman/listinfo/developers-list End of developers-list Digest, Vol 4, Issue 13 ********************************************** ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers