Changeset: 05e7db16c72b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=05e7db16c72b Modified Files: sql/include/sql_relation.h sql/server/rel_rel.c sql/server/rel_unnest.c Branch: Oct2020 Log Message:
Removed unused 'subquery' property diffs (91 lines): diff --git a/sql/include/sql_relation.h b/sql/include/sql_relation.h --- a/sql/include/sql_relation.h +++ b/sql/include/sql_relation.h @@ -246,9 +246,6 @@ typedef enum operator_type { #define is_processed(rel) ((rel)->processed) #define set_processed(rel) (rel)->processed = 1 #define reset_processed(rel) (rel)->processed = 0 -#define is_subquery(rel) ((rel)->subquery) -#define set_subquery(rel) (rel)->subquery = 1 -#define reset_subquery(rel) (rel)->subquery = 0 #define is_dependent(rel) ((rel)->dependent) #define set_dependent(rel) (rel)->dependent = 1 #define reset_dependent(rel) (rel)->dependent = 0 @@ -282,7 +279,6 @@ typedef struct relation { outer:1, /* used as outer (ungrouped) */ grouped:1, /* groupby processed all the group by exps */ single:1, - subquery:1, /* is this part a subquery, this is needed for proper name binding */ used:1; /* used by rewrite_fix_count at rel_unnest, so a relation is not modified twice */ void *p; /* properties for the optimizer, distribution */ } sql_rel; diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c --- a/sql/server/rel_rel.c +++ b/sql/server/rel_rel.c @@ -230,16 +230,6 @@ rel_select_copy(sql_allocator *sa, sql_r return rel; } -static int -rel_issubquery(sql_rel*r) -{ - if (!r->subquery) { - if (is_select(r->op)) - return rel_issubquery(r->l); - } - return r->subquery; -} - static sql_rel * rel_bind_column_(mvc *sql, int *exp_has_nil, sql_rel *rel, const char *cname, int no_tname) { @@ -254,17 +244,13 @@ rel_bind_column_(mvc *sql, int *exp_has_ case op_left: case op_right: case op_full: { - sql_rel *right = rel->r; - r = rel_bind_column_(sql, exp_has_nil, rel->r, cname, no_tname); - if (!r || !rel_issubquery(right)) { - sql_exp *e = r?exps_bind_column(r->exps, cname, &ambiguous, &multi, 0):NULL; + sql_exp *e = r?exps_bind_column(r->exps, cname, &ambiguous, &multi, 0):NULL; - if (!r || !e || !is_freevar(e)) { - l = rel_bind_column_(sql, exp_has_nil, rel->l, cname, no_tname); - if (l && r && !rel_issubquery(r) && !is_dependent(rel)) - return sql_error(sql, ERR_AMBIGUOUS, SQLSTATE(42000) "SELECT: identifier '%s' ambiguous", cname); - } + if (!r || !e || !is_freevar(e)) { + l = rel_bind_column_(sql, exp_has_nil, rel->l, cname, no_tname); + if (l && r && !is_dependent(rel)) + return sql_error(sql, ERR_AMBIGUOUS, SQLSTATE(42000) "SELECT: identifier '%s' ambiguous", cname); } if (sql->session->status == -ERR_AMBIGUOUS) return NULL; 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 @@ -1514,14 +1514,6 @@ static sql_rel * return rel; } -static sql_rel * -rel_reset_subquery(visitor *v, sql_rel *rel) -{ - (void)v; - rel->subquery = 0; - return rel; -} - static sql_exp * rewrite_inner(mvc *sql, sql_rel *rel, sql_rel *inner, operator_type op) { @@ -3166,8 +3158,6 @@ rel_unnest(mvc *sql, sql_rel *rel) { visitor v = { .sql = sql }; - rel = rel_visitor_topdown(&v, rel, &rel_reset_subquery); - v.changes = 0; rel = rel_exp_visitor_bottomup(&v, rel, &rewrite_simplify_exp, false); rel = rel_visitor_bottomup(&v, rel, &rewrite_simplify); rel = rel_visitor_bottomup(&v, rel, &rewrite_or_exp); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list