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

Reply via email to