Changeset: 817cdcb92478 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=817cdcb92478
Modified Files:
        sql/backends/monet5/sql_scenario.c
        sql/server/rel_optimizer.c
        sql/server/sql_mvc.c
        sql/server/sql_mvc.h
Branch: context
Log Message:

more cleanup of sql_mvc structure + code


diffs (59 lines):

diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -994,7 +994,8 @@ SQLparser(Client c)
                throw(SQL, "SQLparser", SQLSTATE(HY001) MAL_MALLOC_FAIL " for 
SQL allocator");
        }
        if (eb_savepoint(m->eb)) {
-               printf("Exception: we should cleanup\n");
+               sa_reset(m->sa);
+               /* what else to cleanup ?? */
        }
 
        m->emode = m_normal;
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
@@ -7245,6 +7245,12 @@ rel_simplify_predicates(int *changes, mv
                                /* remove simple select true expressions */
                                if (flag)
                                        continue;
+                               if (!flag) { /* select xxx and false -> select 
false */
+                                       if (list_length(exps))
+                                               exps = sa_list(sql->sa);
+                                       list_append(exps, e);
+                                       break;
+                               }
                        }
                        if (e->type == e_cmp && get_cmp(e) == cmp_equal) {
                                sql_exp *l = e->l;
diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -1531,15 +1531,6 @@ stack_push_var(mvc *sql, const char *nam
 }
 
 sql_var*
-stack_push_rel_var(mvc *sql, const char *name, sql_rel *var, sql_subtype *type)
-{
-       sql_var* res = stack_set(sql, sql->topvars, name, type, var, NULL, 
NULL, 0, 0);
-       if(res)
-               sql->topvars++;
-       return res;
-}
-
-sql_var*
 stack_push_table(mvc *sql, const char *name, sql_rel *var, sql_table *t)
 {
        sql_var* res = stack_set(sql, sql->topvars, name, NULL, var, t, NULL, 
0, 0);
diff --git a/sql/server/sql_mvc.h b/sql/server/sql_mvc.h
--- a/sql/server/sql_mvc.h
+++ b/sql/server/sql_mvc.h
@@ -209,7 +209,6 @@ extern int mvc_check_dependency(mvc * m,
 
 /* variable management */
 extern sql_var* stack_push_var(mvc *sql, const char *name, sql_subtype *type);
-extern sql_var* stack_push_rel_var(mvc *sql, const char *name, sql_rel *var, 
sql_subtype *type);
 extern sql_var* stack_push_table(mvc *sql, const char *name, sql_rel *var, 
sql_table *t);
 extern sql_var* stack_push_rel_view(mvc *sql, const char *name, sql_rel *view);
 extern sql_var* stack_push_window_def(mvc *sql, const char *name, dlist *sym);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to