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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list