Changeset: d3e19b7567ac for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d3e19b7567ac
Modified Files:
        sql/server/rel_select.c
Branch: Dec2016
Log Message:

add missing exists handling in logical value expression handing.


diffs (29 lines):

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
@@ -2128,6 +2128,25 @@ rel_logical_value_exp(mvc *sql, sql_rel 
                }
                return NULL;
        }
+       case SQL_EXISTS:
+       case SQL_NOT_EXISTS:
+       {
+               symbol *lo = sc->data.sym;
+               sql_exp *le = rel_value_exp(sql, rel, lo, f, ek);
+               sql_subfunc *f = NULL;
+
+               if (!le)
+                       return NULL;
+
+               if (sc->token != SQL_EXISTS)
+                       f = sql_bind_func(sql->sa, sql->session->schema, 
"sql_not_exists", exp_subtype(le), NULL, F_FUNC);
+               else
+                       f = sql_bind_func(sql->sa, sql->session->schema, 
"sql_exists", exp_subtype(le), NULL, F_FUNC);
+
+               if (!f) 
+                       return sql_error(sql, 02, "exist operator on type %s 
missing", exp_subtype(le)->type->sqlname);
+               return exp_unop(sql->sa, le, f);
+       }
        case SQL_LIKE:
        case SQL_NOT_LIKE:
        {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to