Changeset: 5ce195f63a63 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5ce195f63a63 Modified Files: sql/server/rel_optimizer.c sql/server/rel_select.c sql/server/rel_updates.c Branch: Feb2013 Log Message:
cleanup code diffs (172 lines): 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 @@ -5857,7 +5857,7 @@ rel_apply_rewrite(int *changes, mvc *sql return rel; } if (r->op == op_project) { /* merge projections */ - if (!r->l) { // TODO check realy apply case + if (!r->l) { /* TODO check realy apply case */ (*changes)++; return l; } else { 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 @@ -646,7 +646,6 @@ rel_inplace_project(sql_allocator *sa, s rel->card = CARD_MULTI; rel->flag = 0; if (l) { -// rel->card = l->card; rel->nrcols = l->nrcols; assert (exps_card(rel->exps) <= rel->card); } @@ -1490,10 +1489,8 @@ rel_named_table_operator(mvc *sql, sql_r if (column_spec) { dnode *n = column_spec->h; - //TO be tested if (!is_project(sq->op)) { - sq = rel_project(sql->sa, sq, rel_projections(sql, sq, NULL, 1, 1)); - set_processed(sq); - //} + sq = rel_project(sql->sa, sq, rel_projections(sql, sq, NULL, 1, 1)); + set_processed(sq); for (en = sq->exps->h; n && en; n = n->next, en = en->next) exp_setname(sql->sa, en->data, tname, n->data.sval ); } @@ -4284,7 +4281,6 @@ rel_order_by(mvc *sql, sql_rel **R, symb int is_last = 0; exp_kind ek = {type_value, card_column, FALSE}; - //e = rel_column_ref(sql, &rel, col, f); e = rel_value_exp2(sql, &rel, col, f, ek, &is_last); /* do not cache this query */ @@ -4300,7 +4296,6 @@ rel_order_by(mvc *sql, sql_rel **R, symb e = exps_get_exp(rel->exps, nr); if (!e) return NULL; - //e = exp_column(sql->sa, e->rname, e->r, exp_subtype(e), rel->card, has_nil(e), is_intern(e)); e = exp_column(sql->sa, e->rname, exp_name(e), exp_subtype(e), exp_card(e), has_nil(e), is_intern(e)); } else if (e->type == e_atom) { return sql_error(sql, 02, "order not of type SQL_COLUMN\n"); @@ -4768,25 +4763,6 @@ join_on_column_name(mvc *sql, sql_rel *r } -#if 0 -static sql_rel *exp_top_relation(sql_exp *e ) -{ - switch(e->type) { - case e_atom: - return NULL; - case e_convert: - case e_cmp: - if (e->l) - return exp_top_relation(e->l); - break; - case e_column: - default: - return NULL; - } - return NULL; -} -#endif - static int exp_is_not_intern(sql_exp *e) { @@ -4955,13 +4931,12 @@ rel_select_exp(mvc *sql, sql_rel *rel, S if (!l || !(l=rel_check_type(sql, wrd, l, type_equal))) return NULL; - if ((ek.card != card_relation && sn->limit) && - (ek.card == card_value && sn->limit)) { - sql_subaggr *zero_or_one = sql_bind_aggr(sql->sa, sql->session->schema, "zero_or_one", exp_subtype(l)); - - l = exp_aggr1(sql->sa, l, zero_or_one, 0, 0, CARD_ATOM, 0); - } - /* return sql_error(sql, 01, "SELECT: LIMIT only allowed on outermost SELECT"); */ + if ((ek.card != card_relation && sn->limit) && + (ek.card == card_value && sn->limit)) { + sql_subaggr *zero_or_one = sql_bind_aggr(sql->sa, sql->session->schema, "zero_or_one", exp_subtype(l)); + + l = exp_aggr1(sql->sa, l, zero_or_one, 0, 0, CARD_ATOM, 0); + } append(exps, l); } else append(exps, NULL); diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c --- a/sql/server/rel_updates.c +++ b/sql/server/rel_updates.c @@ -813,7 +813,7 @@ update_table(mvc *sql, dlist *qname, dli } else { sql_exp *e = NULL, **updates; sql_rel *r = NULL; - list *exps = new_exp_list(sql->sa);//, *pexps; + list *exps = new_exp_list(sql->sa); dnode *n; if (t && !isTempTable(t) && STORE_READONLY(active_store_type)) @@ -842,13 +842,10 @@ update_table(mvc *sql, dlist *qname, dli r = rel_basetable(sql, t, t->base.name ); } - //pexps = rel_projections(sql, r, NULL, 1, 0); /* We simply create a relation %TID%, updates */ /* first create the project */ e = exp_column(sql->sa, rel_name(r), "%TID%", sql_bind_localtype("oid"), CARD_MULTI, 0, 1); - //r = rel_project(sql->sa, r, append(new_exp_list(sql->sa),e)); - //e = exp_column(sql->sa, rel_name(r), "%TID%", sql_bind_localtype("oid"), CARD_MULTI, 0, 1); append(exps, e); updates = table_update_array(sql, t); for (n = assignmentlist->h; n; n = n->next) { @@ -873,39 +870,20 @@ update_table(mvc *sql, dlist *qname, dli v = rel_value_exp(sql, &rel_val, a, sql_sel, ek); if (!v) { - //symbol *s = n->data.sym; sql->errstr[0] = 0; sql->session->status = status; v = rel_value_exp(sql, &r, a, sql_sel, ek); - //s->token = SQL_COLUMN; - //v = rel_column_exp(sql, &r, s, sql_sel); - - /* - if (v && r && r->op == op_project) { - sql_rel *rl = r->l; - - if (rl && rl->op == op_project) - list_merge(rl->exps, pexps, (fdup)NULL); - } - */ } if (!v || (v = rel_check_type(sql, &c->type, v, type_equal)) == NULL) { rel_destroy(r); return NULL; } if (rel_val) { - //sql_rel *nr; - //list *exps; - if (!exp_name(v)) exp_label(sql->sa, v, ++sql->label); rel_val = rel_project(sql->sa, rel_val, rel_projections(sql, rel_val, NULL, 0, 1)); rel_project_add_exp(sql, rel_val, v); - //exps = rel_projections(sql, r, NULL, 0, 1); - //nr = rel_project(sql->sa, rel_crossproduct(sql->sa, rel_dup(r->l), rel_val, op_join), exps); r = rel_crossproduct(sql->sa, r, rel_val, op_join); - //rel_destroy(r); - //r = nr; v = exp_column(sql->sa, NULL, exp_name(v), exp_subtype(v), v->card, has_nil(v), is_intern(v)); } } else { @@ -1315,7 +1293,6 @@ rel_parse_val(mvc *m, char *query, char bstream_next(m->scanner.rs); m->params = NULL; - /*m->args = NULL;*/ m->argc = 0; m->sym = NULL; m->errstr[0] = '\0'; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list