Changeset: ec1ea581d1e2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ec1ea581d1e2
Modified Files:
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_statement.h
Branch: default
Log Message:

some more code cleanup, ie no more st_unop/st_binop (just st_Nop)


diffs (truncated from 324 to 300 lines):

diff --git a/sql/backends/monet5/sql_gencode.c 
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -535,19 +535,11 @@ range_join_convertable(stmt *s, stmt **b
 
        if (tt > TYPE_lng)
                return 0;
-       /*
-       if (s->op2->type == st_binop) {
-               bl = s->op2->op1;
-               l = s->op2->op2;
-       } else */if (s->op2->type == st_Nop && 
list_length(s->op2->op1->op4.lval) == 2) {
+       if (s->op2->type == st_Nop && list_length(s->op2->op1->op4.lval) == 2) {
                bl = s->op2->op1->op4.lval->h->data;
                l = s->op2->op1->op4.lval->t->data;
        }
-/*
-       if (s->op3->type == st_binop) {
-               bh = s->op3->op1;
-               h = s->op3->op2;
-       } else */ if (s->op3->type == st_Nop && 
list_length(s->op3->op1->op4.lval) == 2) {
+       if (s->op3->type == st_Nop && list_length(s->op3->op1->op4.lval) == 2) {
                bh = s->op3->op1->op4.lval->h->data;
                h = s->op3->op1->op4.lval->t->data;
        }
@@ -1578,88 +1570,6 @@ static int
                        s->nr = getDestVar(q);
                        break;
                }
-#if 0
-               case st_unop:{
-                       char *mod, *fimp;
-                       int l = _dumpstmt(sql, mb, s->op1);
-
-                       if (backend_create_subfunc(sql, s->op4.funcval) < 0)
-                               return -1;
-                       mod = sql_func_mod(s->op4.funcval->func);
-                       fimp = sql_func_imp(s->op4.funcval->func);
-                       if (s->op1->nrcols && strcmp(fimp, "not_uniques") == 0) 
{
-                               sql_subtype *res = s->op4.funcval->res->h->data;
-                               int rtype = res->type->localtype;
-
-                               q = newStmt(mb, mod, fimp);
-                               setVarType(mb, getArg(q, 0), 
newBatType(TYPE_oid, rtype));
-                               setVarUDFtype(mb, getArg(q, 0));
-                               q = pushArgument(mb, q, l);
-                       } else if (s->op1->nrcols) {
-                               sql_subtype *res = s->op4.funcval->res->h->data;
-                               int rtype = res->type->localtype;
-
-                               q = newStmt(mb, "mal", "multiplex");
-                               setVarType(mb, getArg(q, 0), 
newBatType(TYPE_oid, rtype));
-                               setVarUDFtype(mb, getArg(q, 0));
-                               q = pushStr(mb, q, convertMultiplexMod(mod, 
fimp));
-                               q = pushStr(mb, q, convertMultiplexFcn(fimp));
-                               q = pushArgument(mb, q, l);
-                       } else {
-                               q = newStmt(mb, mod, fimp);
-                               q = pushArgument(mb, q, l);
-                       }
-                       s->nr = getDestVar(q);
-               }
-                       break;
-               case st_binop:{
-                       /* TODO use the rewriter to fix the 'round' function */
-                       sql_subtype *tpe = tail_type(s->op1);
-                       sql_subfunc *f = s->op4.funcval;
-                       int special = 0;
-                       char *mod, *fimp;
-                       int l = _dumpstmt(sql, mb, s->op1);
-                       int r = _dumpstmt(sql, mb, s->op2);
-
-                       if (backend_create_subfunc(sql, s->op4.funcval) < 0)
-                               return -1;
-                       mod = sql_func_mod(s->op4.funcval->func);
-                       fimp = sql_func_imp(s->op4.funcval->func);
-
-                       if (strcmp(fimp, "round") == 0 && tpe->type->eclass == 
EC_DEC)
-                               special = 1;
-
-                       if (s->op1->nrcols || s->op2->nrcols) {
-                               sql_subtype *res = f->res->h->data;
-                               if (!special) {
-                                       q = multiplex2(mb, mod, 
convertOperator(fimp), l, r, res->type->localtype);
-                               } else {
-                                       mod = convertMultiplexMod(mod, fimp);
-                                       fimp = convertMultiplexFcn(fimp);
-                                       q = newStmt(mb, "mal", "multiplex");
-                                       setVarType(mb, getArg(q, 0), 
newBatType(TYPE_oid, res->type->localtype));
-                                       setVarUDFtype(mb, getArg(q, 0));
-                                       q = pushStr(mb, q, mod);
-                                       q = pushStr(mb, q, fimp);
-                                       q = pushArgument(mb, q, l);
-                                       q = pushInt(mb, q, tpe->digits);
-                                       q = pushInt(mb, q, tpe->scale);
-                                       q = pushArgument(mb, q, r);
-                               }
-                               s->nr = getDestVar(q);
-                       } else {
-                               q = newStmt(mb, mod, convertOperator(fimp));
-                               q = pushArgument(mb, q, l);
-                               if (special) {
-                                       q = pushInt(mb, q, tpe->digits);
-                                       q = pushInt(mb, q, tpe->scale);
-                               }
-                               q = pushArgument(mb, q, r);
-                       }
-                       s->nr = getDestVar(q);
-               }
-                       break;
-#endif
                case st_Nop:{
                        char *mod, *fimp;
                        sql_subtype *tpe = NULL;
diff --git a/sql/backends/monet5/sql_statement.c 
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -124,10 +124,6 @@ st_type2string(st_type type)
 
                ST(unique);
                ST(convert);
-               /*
-               ST(unop);
-               ST(binop);
-               */
                ST(Nop);
                ST(func);
                ST(aggr);
@@ -398,10 +394,6 @@ stmt_deps(list *dep_list, stmt *s, int d
                                        dep_list = cond_append(dep_list, 
&s->op4.aggrval->aggr->base.id);
                                }
                                break;
-                               /*
-                       case st_unop:
-                       case st_binop:
-                       */
                        case st_Nop:
                        case st_func:
                                if (s->op1)
@@ -631,9 +623,7 @@ push_project(sql_allocator *sa, stmt *ro
                        node *n = l->op4.lval->h;
                        if (n) {
                                n->data = stmt_const_(sa, rows, n->data);
-                       } else {        /* no args, ie. change into a st_unop */
-                               //val->type = st_unop;
-                               //val->op1 = stmt_const_(sa, rows, 
stmt_atom_int(sa, 0));
+                       } else {        
                                l->op4.lval = list_append(sa_list(sa), 
stmt_const_(sa, rows, stmt_atom_int(sa, 0)));
                        }
                } else {
@@ -645,23 +635,6 @@ push_project(sql_allocator *sa, stmt *ro
                                n->data = push_project(sa, rows, n->data);
                }
                break;
-               /*
-       case st_binop:
-               if (val->op4.funcval->func->side_effect) {
-                       val->op1 = stmt_const_(sa, rows, val->op1);
-               } else {
-                       val->op1 = push_project(sa, rows, val->op1);
-                       val->op2 = push_project(sa, rows, val->op2);
-               }
-               break;
-       case st_unop:
-               if (val->op4.funcval->func->side_effect) {
-                       val->op1 = stmt_const_(sa, rows, val->op1);
-               } else {
-                       val->op1 = push_project(sa, rows, val->op1);
-               }
-               break;
-               */
        default:
                if (!val->nrcols)
                        val = stmt_const_(sa, rows, val);
@@ -689,18 +662,6 @@ has_side_effect(stmt *val)
                                se += has_side_effect(n->data);
                }
                break;
-               /*
-       case st_binop:
-               se = val->op4.funcval->func->side_effect;
-               if (!se)
-                       se = has_side_effect(val->op1) + 
has_side_effect(val->op2);
-               break;
-       case st_unop:
-               se = val->op4.funcval->func->side_effect;
-               if (!se)
-                       se = has_side_effect(val->op1);
-               break;
-               */
        default:
                return se;
        }
@@ -1203,7 +1164,7 @@ stmt_convert(sql_allocator *sa, stmt *v,
        list_append(l, to);
        s->op1 = v;
        s->op4.lval = l;
-       s->nrcols = 0;          /* function without arguments returns single 
value */
+       s->nrcols = 0;  /* function without arguments returns single value */
        s->key = v->key;
        s->nrcols = v->nrcols;
        s->aggr = v->aggr;
@@ -1216,17 +1177,6 @@ stmt_unop(sql_allocator *sa, stmt *op1, 
        list *ops = sa_list(sa);
        list_append(ops, op1);
        return stmt_Nop(sa, stmt_list(sa, ops), op);
-       /*
-       stmt *s = stmt_create(sa, st_unop);
-
-       s->op1 = op1;
-       assert(op);
-       s->op4.funcval = op;
-       s->nrcols = op1->nrcols;
-       s->key = op1->key;
-       s->aggr = op1->aggr;
-       return s;
-       */
 }
 
 stmt *
@@ -1236,27 +1186,6 @@ stmt_binop(sql_allocator *sa, stmt *op1,
        list_append(ops, op1);
        list_append(ops, op2);
        return stmt_Nop(sa, stmt_list(sa, ops), op);
-       /*
-       stmt *s = stmt_create(sa, st_binop);
-       int aggr = 0;
-
-       s->op1 = op1;
-       s->op2 = op2;
-       assert(op);
-       s->op4.funcval = op;
-       aggr = op1->aggr;
-       if (!aggr)
-               aggr = op2->aggr;
-       if (op1->nrcols > op2->nrcols) {
-               s->nrcols = op1->nrcols;
-               s->key = op1->key;
-       } else {
-               s->nrcols = op2->nrcols;
-               s->key = op2->key;
-       }
-       s->aggr = aggr;
-       return s;
-       */
 }
 
 stmt *
@@ -1411,10 +1340,6 @@ tail_type(stmt *st)
                        return res->h->data;
                
        }       break;
-                     /*
-       case st_unop:
-       case st_binop:
-       */
        case st_Nop: {
                list *res = st->op4.funcval->res; 
 
@@ -1455,14 +1380,9 @@ stmt_has_null(stmt *s)
        case st_uselect2:
        case st_atom:
                return 0;
-       //case st_unop:
        case st_reverse:
        case st_mark:
                return stmt_has_null(s->op1);
-               /*
-       case st_binop:
-               return stmt_has_null(s->op1) + stmt_has_null(s->op2);
-               */
        case st_join:
                return stmt_has_null(s->op2);
        case st_bat:
@@ -1546,11 +1466,6 @@ char *
        case st_unique:
        case st_convert:
                return column_name(sa, st->op1);
-
-               /*
-       case st_unop:
-       case st_binop:
-       */
        case st_Nop:
        {
                char *cn = column_name(sa, st->op1);
@@ -1686,10 +1601,6 @@ schema_name(sql_allocator *sa, stmt *st)
        case st_union:
        case st_unique:
        case st_convert:
-               /*
-       case st_unop:
-       case st_binop:
-       */
        case st_Nop:
        case st_aggr:
                return schema_name(sa, st->op1);
@@ -1948,12 +1859,6 @@ print_stmt(sql_allocator *sa, stmt *s)
                        sql_subtype *t = s->op4.lval->t->data;
                        printf("%s, %s", f->type->base.name, 
t->type->base.name);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to