Changeset: 2017fc360e30 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2017fc360e30
Modified Files:
        sql/backends/monet5/rel_bin.c
Branch: Oct2020
Log Message:

cleanup some commented out code

fixed issue with unique key checking, when inserting a single row.


diffs (158 lines):

diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -700,8 +700,6 @@ exp2bin_case(backend *be, sql_exp *fe, s
                                        else
                                                ncond = stmt_const(be, 
bin_first_column(be, left), ncond);
                                }
-                               // else if (!ncond->cand && rsel)
-                               //      ncond = stmt_project(be, rsel, ncond);
                                stmt *s = stmt_uselect(be, ncond, stmt_bool(be, 
1), cmp_equal, !ncond->cand?rsel:NULL, 0/*anti*/, 0);
                                if (rsel && ncond->cand)
                                        rsel = stmt_project(be, s, rsel);
@@ -1371,79 +1369,6 @@ stmt_idx( backend *be, sql_idx *i, stmt 
        return sc;
 }
 
-#if 0
-static stmt *
-check_table_types(backend *be, list *types, stmt *s, check_type tpe)
-{
-       mvc *sql = be->mvc;
-       //const char *tname;
-       stmt *tab = s;
-       int temp = 0;
-
-       if (s->type != st_table) {
-               return sql_error(
-                       sql, 03,
-                       SQLSTATE(42000) "single value and complex type are not 
equal");
-       }
-       tab = s->op1;
-       temp = s->flag;
-       if (tab->type == st_var) {
-               sql_table *tbl = NULL;//tail_type(tab)->comp_type;
-               stmt *dels = stmt_tid(be, tbl, 0);
-               node *n, *m;
-               list *l = sa_list(sql->sa);
-
-               stack_find_var(sql, tab->op1->op4.aval->data.val.sval);
-
-               for (n = types->h, m = tbl->columns.set->h;
-                       n && m; n = n->next, m = m->next)
-               {
-                       sql_subtype *ct = n->data;
-                       sql_column *dtc = m->data;
-                       stmt *dtcs = stmt_col(be, dtc, dels, dels->partition);
-                       stmt *r = check_types(be, ct, dtcs, tpe);
-                       if (!r)
-                               return NULL;
-                       //r = stmt_alias(be, r, tbl->base.name, c->base.name);
-                       list_append(l, r);
-               }
-               return stmt_table(be, stmt_list(be, l), temp);
-       } else if (tab->type == st_list) {
-               node *n, *m;
-               list *l = sa_list(sql->sa);
-               for (n = types->h, m = tab->op4.lval->h;
-                       n && m; n = n->next, m = m->next)
-               {
-                       sql_subtype *ct = n->data;
-                       stmt *r = check_types(be, ct, m->data, tpe);
-                       if (!r)
-                               return NULL;
-                       //tname = table_name(sql->sa, r);
-                       //r = stmt_alias(be, r, tname, c->base.name);
-                       list_append(l, r);
-               }
-               return stmt_table(be, stmt_list(be, l), temp);
-       } else { /* single column/value */
-               stmt *r;
-               sql_subtype *st = tail_type(tab), *ct;
-
-               if (list_length(types) != 1) {
-                       stmt *res = sql_error(
-                               sql, 03,
-                               SQLSTATE(42000) "single value of type %s and 
complex type are not equal",
-                               st->type->sqlname
-                       );
-                       return res;
-               }
-               ct = types->h->data;
-               r = check_types(be, ct, tab, tpe);
-               //tname = table_name(sql->sa, r);
-               //r = stmt_alias(be, r, tname, c->base.name);
-               return stmt_table(be, r, temp);
-       }
-}
-#endif
-
 static int
 stmt_set_type_param(mvc *sql, sql_subtype *type, stmt *param)
 {
@@ -3385,7 +3310,6 @@ rel2bin_select(backend *be, sql_rel *rel
        if (rel->l) { /* first construct the sub relation */
                sub = subrel_bin(be, rel->l, refs);
                sel = sub->cand;
-               //sub = subrel_project(be, sub, refs, rel->l);
                if (!sub)
                        return NULL;
                sub = row2cols(be, sub);
@@ -3692,7 +3616,7 @@ insert_check_ukey(backend *be, list *ins
 
                s = ins;
                /* 1st stage: find out if original contains same values */
-               if (s->key && s->nrcols == 0) {
+               if (/*s->key &&*/ s->nrcols == 0) {
                        s = NULL;
                        if (k->idx && hash_index(k->idx->type))
                                s = stmt_uselect(be, stmt_idx(be, k->idx, dels, 
dels->partition), idx_inserts, cmp_equal, s, 0, 1 /* is_semantics*/);
@@ -4217,12 +4141,6 @@ update_check_ukey(backend *be, stmt **up
 
                                if (updates && updates[c->c->colnr]) {
                                        upd = updates[c->c->colnr];
-                                       /*
-                               } else if (updates) {
-                                       //upd = updates[updcol]->op1;
-                                       //upd = stmt_project(be, upd, 
stmt_col(be, c->c, dels, dels->partition));
-                                       upd = stmt_project(be, tids, 
stmt_col(be, c->c, dels, dels->partition));
-                                       */
                                } else {
                                        upd = stmt_col(be, c->c, dels, 
dels->partition);
                                }
@@ -4397,8 +4315,6 @@ update_check_fkey(backend *be, stmt **up
                                upd = updates[c->c->colnr];
                        } else if (updates && updcol >= 0) {
                                assert(0);
-                               //upd = updates[updcol]->op1;
-                               //upd = stmt_project(be, upd, stmt_col(be, 
c->c, tids, tids->partition));
                                upd = stmt_col(be, c->c, tids, tids->partition);
                        } else { /* created idx/key using alter */
                                upd = stmt_col(be, c->c, tids, tids->partition);
@@ -4455,7 +4371,6 @@ join_updated_pkey(backend *be, sql_key *
                        upd = updates[c->c->colnr];
                } else {
                        assert(0);
-                       //upd = updates[updcol]->op1;
                        upd = stmt_project(be, tids, stmt_col(be, c->c, dels, 
dels->partition));
                }
                if (c->c->null) {       /* new nulls (MATCH SIMPLE) */
@@ -4661,9 +4576,6 @@ hash_update(backend *be, sql_idx * i, st
                        upd = updates[c->c->colnr];
                } else if (updates && updcol >= 0) {
                        assert(0);
-                       //upd = updates[updcol]->op1;
-                       //upd = rows;
-                       //upd = stmt_project(be, upd, stmt_col(be, c->c, tids, 
tids->partition));
                        upd = stmt_col(be, c->c, rows, rows->partition);
                } else { /* created idx/key using alter */
                        upd = stmt_col(be, c->c, tids, tids->partition);
@@ -4714,8 +4626,6 @@ join_idx_update(backend *be, sql_idx * i
                        upd = updates[c->c->colnr];
                } else if (updates && updcol >= 0) {
                        assert(0);
-                       //upd = updates[updcol]->op1;
-                       //upd = stmt_project(be, upd, stmt_col(be, c->c, ftids, 
ftids->partition));
                        upd = stmt_col(be, c->c, ftids, ftids->partition);
                } else { /* created idx/key using alter */
                        upd = stmt_col(be, c->c, ftids, ftids->partition);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to