Changeset: 01ad3c3ad5e8 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=01ad3c3ad5e8 Modified Files: sql/src/server/rel_select.mx Branch: Jun2010 Log Message:
fix bug 2599 in handling parameters in binary functions diffs (28 lines): diff -r 22b2a6eed0cb -r 01ad3c3ad5e8 sql/src/server/rel_select.mx --- a/sql/src/server/rel_select.mx Thu Jul 08 17:38:08 2010 +0200 +++ b/sql/src/server/rel_select.mx Thu Jul 08 23:40:31 2010 +0200 @@ -1722,7 +1722,7 @@ return NULL; a = sql_bind_arg(sql, exp->flag); - if (atom_cast(a, t)) { + if (a && atom_cast(a, t)) { sql_subtype *x = ZNEW(sql_subtype); convert_arg(sql, exp->flag, t); /* set new type */ @@ -3089,6 +3089,15 @@ if (!s) s = sql->session->schema; + + /* handle param's early */ + if ((!t1 || !t2) && rel_convert_types(sql, &l, &r, 1/*fix scale*/, type_equal) >= 0) { + t1 = exp_subtype(l); + t2 = exp_subtype(r); + } + if (!t1 || !t2) + return sql_error(sql, 01, "Cannot have a parameter (?) on both sides of an expression"); + f = sql_bind_func(s, fname, t1, t2); if (!f && is_commutative(fname)) { f = sql_bind_func(s, fname, t2, t1); _______________________________________________ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list