Changeset: 7ff95319411e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7ff95319411e
Modified Files:
        sql/server/rel_distribute.c
        sql/server/rel_optimize_exps.c
        sql/server/rel_optimize_others.c
        sql/server/rel_optimize_proj.c
        sql/server/rel_optimize_sel.c
        sql/server/rel_optimizer.c
        sql/server/rel_optimizer_private.h
        sql/server/rel_planner.c
        sql/server/rel_propagate.c
        sql/server/rel_propagate.h
        sql/server/rel_rewriter.c
        sql/server/rel_rewriter.h
        sql/server/rel_unnest.c
Branch: sqloptimizer
Log Message:

Clean unused include files


diffs (293 lines):

diff --git a/sql/server/rel_distribute.c b/sql/server/rel_distribute.c
--- a/sql/server/rel_distribute.c
+++ b/sql/server/rel_distribute.c
@@ -7,11 +7,10 @@
  */
 
 #include "monetdb_config.h"
-#include "rel_rel.h"
+#include "rel_optimizer_private.h"
 #include "rel_basetable.h"
 #include "rel_exp.h"
 #include "sql_privileges.h"
-#include "rel_optimizer_private.h"
 
 static int
 has_remote_or_replica( sql_rel *rel )
diff --git a/sql/server/rel_optimize_exps.c b/sql/server/rel_optimize_exps.c
--- a/sql/server/rel_optimize_exps.c
+++ b/sql/server/rel_optimize_exps.c
@@ -7,16 +7,10 @@
  */
 
 #include "monetdb_config.h"
-#include "rel_optimizer.h"
 #include "rel_optimizer_private.h"
-#include "rel_rel.h"
-#include "rel_basetable.h"
 #include "rel_select.h"
 #include "rel_exp.h"
-#include "rel_prop.h"
-#include "rel_dump.h"
 #include "rel_rewriter.h"
-#include "sql_mvc.h"
 
 static inline int
 str_ends_with(const char *s, const char *suffix)
diff --git a/sql/server/rel_optimize_others.c b/sql/server/rel_optimize_others.c
--- a/sql/server/rel_optimize_others.c
+++ b/sql/server/rel_optimize_others.c
@@ -7,15 +7,9 @@
  */
 
 #include "monetdb_config.h"
-#include "rel_optimizer.h"
 #include "rel_optimizer_private.h"
-#include "rel_rel.h"
-#include "rel_basetable.h"
 #include "rel_exp.h"
-#include "rel_prop.h"
 #include "rel_select.h"
-#include "rel_rewriter.h"
-#include "sql_mvc.h"
 
 static void
 rel_no_rename_exps( list *exps )
@@ -232,6 +226,37 @@ exp_push_down_prj(mvc *sql, sql_exp *e, 
        return NULL;
 }
 
+atom *
+exp_flatten(mvc *sql, bool value_based_opt, sql_exp *e)
+{
+       if (e->type == e_atom) {
+               return value_based_opt ? exp_value(sql, e) : (atom *) e->l;
+       } else if (e->type == e_convert) {
+               atom *v = exp_flatten(sql, value_based_opt, e->l);
+
+               if (v)
+                       return atom_cast(sql->sa, v, exp_subtype(e));
+       } else if (e->type == e_func) {
+               sql_subfunc *f = e->f;
+               list *l = e->l;
+               sql_arg *res = (f->func->res)?(f->func->res->h->data):NULL;
+
+               /* TODO handle date + x months */
+               if (!f->func->s && strcmp(f->func->base.name, "sql_add") == 0 
&& list_length(l) == 2 && res && EC_NUMBER(res->type.type->eclass)) {
+                       atom *l1 = exp_flatten(sql, value_based_opt, 
l->h->data);
+                       atom *l2 = exp_flatten(sql, value_based_opt, 
l->h->next->data);
+                       if (l1 && l2)
+                               return atom_add(sql->sa, l1, l2);
+               } else if (!f->func->s && strcmp(f->func->base.name, "sql_sub") 
== 0 && list_length(l) == 2 && res && EC_NUMBER(res->type.type->eclass)) {
+                       atom *l1 = exp_flatten(sql, value_based_opt, 
l->h->data);
+                       atom *l2 = exp_flatten(sql, value_based_opt, 
l->h->next->data);
+                       if (l1 && l2)
+                               return atom_sub(sql->sa, l1, l2);
+               }
+       }
+       return NULL;
+}
+
 int
 exp_range_overlap(atom *min, atom *max, atom *emin, atom *emax, bool 
min_exclusive, bool max_exclusive)
 {
diff --git a/sql/server/rel_optimize_proj.c b/sql/server/rel_optimize_proj.c
--- a/sql/server/rel_optimize_proj.c
+++ b/sql/server/rel_optimize_proj.c
@@ -7,15 +7,11 @@
  */
 
 #include "monetdb_config.h"
-#include "rel_optimizer.h"
 #include "rel_optimizer_private.h"
-#include "rel_rel.h"
 #include "rel_basetable.h"
 #include "rel_exp.h"
-#include "rel_prop.h"
 #include "rel_select.h"
 #include "rel_rewriter.h"
-#include "sql_mvc.h"
 
 static int
 exp_is_rename(sql_exp *e)
diff --git a/sql/server/rel_optimize_sel.c b/sql/server/rel_optimize_sel.c
--- a/sql/server/rel_optimize_sel.c
+++ b/sql/server/rel_optimize_sel.c
@@ -7,17 +7,11 @@
  */
 
 #include "monetdb_config.h"
-#include "rel_optimizer.h"
 #include "rel_optimizer_private.h"
-#include "rel_rel.h"
-#include "rel_basetable.h"
 #include "rel_planner.h"
 #include "rel_exp.h"
-#include "rel_prop.h"
 #include "rel_select.h"
 #include "rel_rewriter.h"
-#include "sql_mvc.h"
-
 
 static void select_split_exps(mvc *sql, list *exps, sql_rel *rel);
 
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
@@ -12,13 +12,7 @@
 #include "rel_rel.h"
 #include "rel_basetable.h"
 #include "rel_exp.h"
-#include "rel_prop.h"
-#include "rel_dump.h"
-#include "rel_select.h"
-#include "rel_planner.h"
 #include "rel_propagate.h"
-#include "rel_rewriter.h"
-#include "sql_mvc.h"
 #include "sql_privileges.h"
 
 static sql_rel *
diff --git a/sql/server/rel_optimizer_private.h 
b/sql/server/rel_optimizer_private.h
--- a/sql/server/rel_optimizer_private.h
+++ b/sql/server/rel_optimizer_private.h
@@ -93,6 +93,7 @@ extern sql_exp *add_exp_too_project(mvc 
 /* these functions are used across diferent optimizers */
 extern sql_rel *rel_find_ref(sql_rel *r) 
__attribute__((__visibility__("hidden")));
 extern void rel_rename_exps(mvc *sql, list *exps1, list *exps2) 
__attribute__((__visibility__("hidden")));
+extern atom *exp_flatten(mvc *sql, bool value_based_opt, sql_exp *e) 
__attribute__((__visibility__("hidden")));
 extern atom *reduce_scale(mvc *sql, atom *a) 
__attribute__((__visibility__("hidden")));
 extern int exp_range_overlap(atom *min, atom *max, atom *emin, atom *emax, 
bool min_exclusive, bool max_exclusive) 
__attribute__((__visibility__("hidden")));
 extern int is_numeric_upcast(sql_exp *e) 
__attribute__((__visibility__("hidden")));
diff --git a/sql/server/rel_planner.c b/sql/server/rel_planner.c
--- a/sql/server/rel_planner.c
+++ b/sql/server/rel_planner.c
@@ -12,7 +12,6 @@
 #include "rel_exp.h"
 #include "rel_prop.h"
 #include "rel_rewriter.h"
-#include "rel_optimizer.h"
 
 typedef struct memoitem {
        const char *name;
diff --git a/sql/server/rel_propagate.c b/sql/server/rel_propagate.c
--- a/sql/server/rel_propagate.c
+++ b/sql/server/rel_propagate.c
@@ -8,14 +8,10 @@
 
 #include "monetdb_config.h"
 #include "rel_propagate.h"
-#include "rel_rel.h"
 #include "rel_basetable.h"
 #include "rel_exp.h"
-#include "rel_prop.h"
-#include "rel_dump.h"
 #include "rel_select.h"
 #include "rel_updates.h"
-#include "sql_mvc.h"
 #include "sql_partition.h"
 
 extern sql_rel *rel_list(sql_allocator *sa, sql_rel *l, sql_rel *r);
diff --git a/sql/server/rel_propagate.h b/sql/server/rel_propagate.h
--- a/sql/server/rel_propagate.h
+++ b/sql/server/rel_propagate.h
@@ -9,7 +9,6 @@
 #ifndef _REL_PROPAGATE_H_
 #define _REL_PROPAGATE_H_
 
-#include "sql_relation.h"
 #include "sql_symbol.h"
 #include "sql_mvc.h"
 #include "sql_query.h"
diff --git a/sql/server/rel_rewriter.c b/sql/server/rel_rewriter.c
--- a/sql/server/rel_rewriter.c
+++ b/sql/server/rel_rewriter.c
@@ -8,11 +8,8 @@
 
 #include "monetdb_config.h"
 #include "rel_rewriter.h"
-#include "rel_prop.h"
-#include "rel_rel.h"
 #include "rel_exp.h"
 #include "rel_basetable.h"
-#include "mal_errors.h" /* for SQLSTATE() */
 
 /* simplify expressions, such as not(not(x)) */
 /* exp visitor */
@@ -242,37 +239,6 @@ rewrite_reset_used(visitor *v, sql_rel *
        return rel;
 }
 
-atom *
-exp_flatten(mvc *sql, bool value_based_opt, sql_exp *e)
-{
-       if (e->type == e_atom) {
-               return value_based_opt ? exp_value(sql, e) : (atom *) e->l;
-       } else if (e->type == e_convert) {
-               atom *v = exp_flatten(sql, value_based_opt, e->l);
-
-               if (v)
-                       return atom_cast(sql->sa, v, exp_subtype(e));
-       } else if (e->type == e_func) {
-               sql_subfunc *f = e->f;
-               list *l = e->l;
-               sql_arg *res = (f->func->res)?(f->func->res->h->data):NULL;
-
-               /* TODO handle date + x months */
-               if (!f->func->s && strcmp(f->func->base.name, "sql_add") == 0 
&& list_length(l) == 2 && res && EC_NUMBER(res->type.type->eclass)) {
-                       atom *l1 = exp_flatten(sql, value_based_opt, 
l->h->data);
-                       atom *l2 = exp_flatten(sql, value_based_opt, 
l->h->next->data);
-                       if (l1 && l2)
-                               return atom_add(sql->sa, l1, l2);
-               } else if (!f->func->s && strcmp(f->func->base.name, "sql_sub") 
== 0 && list_length(l) == 2 && res && EC_NUMBER(res->type.type->eclass)) {
-                       atom *l1 = exp_flatten(sql, value_based_opt, 
l->h->data);
-                       atom *l2 = exp_flatten(sql, value_based_opt, 
l->h->next->data);
-                       if (l1 && l2)
-                               return atom_sub(sql->sa, l1, l2);
-               }
-       }
-       return NULL;
-}
-
 int
 find_member_pos(list *l, sql_table *t)
 {
diff --git a/sql/server/rel_rewriter.h b/sql/server/rel_rewriter.h
--- a/sql/server/rel_rewriter.h
+++ b/sql/server/rel_rewriter.h
@@ -10,7 +10,6 @@
 #define _REL_REWRITER_H_
 
 #include "sql_relation.h"
-#include "sql_mvc.h"
 #include "rel_rel.h"
 
 #define is_ifthenelse_func(sf) (strcmp((sf)->func->base.name, "ifthenelse") == 
0)
@@ -40,8 +39,6 @@ try_remove_empty_select(visitor *v, sql_
 
 extern sql_rel *rewrite_reset_used(visitor *v, sql_rel *rel);
 
-extern atom *exp_flatten(mvc *sql, bool value_based_opt, sql_exp *e);
-
 extern int find_member_pos(list *l, sql_table *t);
 extern sql_column *name_find_column(sql_rel *rel, const char *rname, const 
char *name, int pnr, sql_rel **bt);
 
diff --git a/sql/server/rel_unnest.c b/sql/server/rel_unnest.c
--- a/sql/server/rel_unnest.c
+++ b/sql/server/rel_unnest.c
@@ -11,15 +11,10 @@
 #include "monetdb_config.h"
 #include "sql_decimal.h"
 #include "rel_unnest.h"
-#include "rel_optimizer.h"
-#include "rel_prop.h"
-#include "rel_rel.h"
 #include "rel_basetable.h"
 #include "rel_exp.h"
 #include "rel_select.h"
 #include "rel_rewriter.h"
-#include "sql_query.h"
-#include "mal_errors.h" /* for SQLSTATE() */
 
 /* some unnesting steps use the 'used' flag to avoid further rewrites. List 
them here, so only one reset flag iteration will be used */
 #define rewrite_fix_count_used (1 << 0)
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to