Changeset: e5af14437c01 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e5af14437c01
Modified Files:
        monetdb5/mal/mal_client.c
        monetdb5/mal/mal_linker.c
        monetdb5/optimizer/opt_pipes.c
        sql/server/rel_dump.c
        sql/server/rel_optimizer.c
        sql/server/rel_select.c
        sql/server/sql_rel2bin.c
        sql/server/sql_statement.c
Branch: default
Log Message:

make sure we output on the proper client while parsing the optimizer pipes

clean up of old commented out code..


diffs (218 lines):

diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c
--- a/monetdb5/mal/mal_client.c
+++ b/monetdb5/mal/mal_client.c
@@ -563,8 +563,8 @@ int MCreadClient(Client c){
        if (in->pos >= in->len || in->mode) {
                ssize_t rd, sum = 0;
 
-               if (in->eof || !isa_block_stream(in->s)) {
-                       if (!isa_block_stream(c->fdout) && c->promptlength > 0)
+               if (in->eof || !isa_block_stream(c->fdout)) {
+                       if (!isa_block_stream(c->fdout) && c->promptlength > 0) 
                                mnstr_write(c->fdout, c->prompt, 
c->promptlength, 1);
                        mnstr_flush(c->fdout);
                        in->eof = 0;
diff --git a/monetdb5/mal/mal_linker.c b/monetdb5/mal/mal_linker.c
--- a/monetdb5/mal/mal_linker.c
+++ b/monetdb5/mal/mal_linker.c
@@ -115,9 +115,9 @@ getAddress(stream *out, str filename, st
 
        (void) modnme;
        if( prev >= 0){
-                       adr = (MALfcn) dlsym(filesLoaded[prev].handle, fcnname);
-                       if( adr != NULL)
-                               return adr; /* found it */
+               adr = (MALfcn) dlsym(filesLoaded[prev].handle, fcnname);
+               if( adr != NULL)
+                       return adr; /* found it */
        }
        if( filename && prev >= 0) {
                if( strcmp(filename, filesLoaded[prev].filename)==0) {
@@ -156,7 +156,7 @@ getAddress(stream *out, str filename, st
                if( adr != NULL)
                        return adr; /* found it */
        }
-       if( !silent)
+       if (!silent)
                showException(out, MAL,"MAL.getAddress", "address of '%s.%s' 
not found",
                        (modnme?modnme:"<unknown>"), fcnname);
        return NULL;
diff --git a/monetdb5/optimizer/opt_pipes.c b/monetdb5/optimizer/opt_pipes.c
--- a/monetdb5/optimizer/opt_pipes.c
+++ b/monetdb5/optimizer/opt_pipes.c
@@ -606,7 +606,6 @@ addOptimizerPipe(Client cntxt, MalBlkPtr
        InstrPtr p;
        Symbol sym;
        str msg = MAL_SUCCEED;
-       Client c;
        
        (void) cntxt;
 
@@ -617,19 +616,19 @@ addOptimizerPipe(Client cntxt, MalBlkPtr
        /* compile pipes first */
        if ( pipes[i].mb == 0){
                /* precompile the pipeline as MAL string */
-               c= MCinitClient((oid)1,0,0);
+               Client c = MCinitClient((oid)1,0,0);
                assert(c != NULL);
                c->nspace = newModule(NULL, putName("user", 4));
                c->father = cntxt;      /* to avoid conflicts on GDKin */
+               c->fdout = cntxt->fdout;
                if (setScenario(c,"mal")) 
                        throw(MAL,"optimizer.addOptimizerPipe","failed to set 
scenario");
                (void)MCinitClientThread(c);
+               for ( j =0; j < MAXOPTPIPES && pipes[j].def; j++)
+               if (pipes[j].mb == NULL) {
 
-               for ( j =0; j < MAXOPTPIPES && pipes[j].def; j++)
-               if ( pipes[j].mb == NULL) {
-                       if ( pipes[j].prerequisite &&
-                               getAddress(cntxt->fdout, NULL, optimizerRef, 
pipes[j].prerequisite, TRUE) == NULL)
-                       continue;
+                       if (pipes[j].prerequisite && getAddress(c->fdout, NULL, 
optimizerRef, pipes[j].prerequisite, TRUE) == NULL)
+                               continue;
                        MSinitClientPrg(c, "user", pipes[j].name);
                        msg = compileString(&sym, c, pipes[j].def);
                        if ( msg != MAL_SUCCEED){
@@ -639,7 +638,7 @@ addOptimizerPipe(Client cntxt, MalBlkPtr
                        pipes[j].mb = copyMalBlk(sym->def);
                }
                MCcloseClient(c); 
-               validateOptimizerPipes();
+               msg = validateOptimizerPipes();
                if ( msg != MAL_SUCCEED)
                        return msg;
        }
diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c
--- a/sql/server/rel_dump.c
+++ b/sql/server/rel_dump.c
@@ -81,17 +81,11 @@ exp_print(mvc *sql, stream *fout, sql_ex
                return;
        switch(e->type) {
        case e_convert: {
-               //list *l = e->r;
-               //sql_subtype *f = l->h->data;
                char *to_type = sql_subtype_string(&e->tpe);
-               //char *from_type = sql_subtype_string(f);
-               //mnstr_printf(fout, "convert(");
                mnstr_printf(fout, "%s[", to_type);
                exp_print(sql, fout, e->l, depth, 0, 0);
-               //mnstr_printf(fout, " from %s to %s)", from_type, to_type);
                mnstr_printf(fout, "]");
                _DELETE(to_type);
-               //_DELETE(from_type);
                break;
        }
        case e_atom: {
@@ -997,7 +991,6 @@ rel_read(mvc *sql, char *r, int *pos)
                        /* scan aliases */
                        exps = read_exps(sql, rel, NULL, r, pos, '[', 0);
                        if (exps && list_length(exps))
-                               //rel = rel_project(sql->sa, rel, exps);
                                rel->exps = exps;
                        return rel;
                } else { /* top N */
@@ -1096,7 +1089,7 @@ rel_read(mvc *sql, char *r, int *pos)
                        exps = read_exps(sql, nrel, NULL, r, pos, '[', 0);
                        rel = rel_select_copy(sql->sa, nrel, exps);
                        return rel;
-                       // semijoin or antijoin
+                       /* semijoin or antijoin */
                } else if (r[*pos+1] == 'e' || r[*pos+1] == 'n') {
                        j = op_semi;
 
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
@@ -5361,18 +5361,6 @@ rewrite(mvc *sql, sql_rel *rel, rewrite_
                rel->r = rewrite(sql, rel->r, rewriter, has_changes);
                break;
        }
-       //if (rel_is_ref(rel)) {
-               /*
-               int refs = rel->ref.refcnt;
-               sql_rel *r = rewriter(&changes, sql, rel);
-
-               if (changes && r != rel) {
-                       *rel = *r;
-                       rel->ref.refcnt = refs;
-               }
-               */
-               //return rel;
-       //}
        rel = rewriter(&changes, sql, rel);
        if (changes) {
                (*has_changes)++;
@@ -5387,7 +5375,6 @@ rewrite_topdown(mvc *sql, sql_rel *rel, 
        if (!rel)
                return rel;
 
-       //if (!rel_is_ref(rel))
        rel = rewriter(has_changes, sql, rel);
        switch (rel->op) {
        case op_basetable:
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
@@ -2755,7 +2755,6 @@ rel_add_identity(mvc *sql, sql_rel *rel,
        }
        rel = rel_project(sql->sa, rel, rel_projections(sql, rel, NULL, 1, 1));
        e = rel_unop_(sql, rel->exps->h->data, NULL, "identity", card_value);
-       //set_intern(e);
        *exp = exp_label(sql->sa, e, ++sql->label);
        rel_project_add_exp(sql, rel, e);
        return rel;
diff --git a/sql/server/sql_rel2bin.c b/sql/server/sql_rel2bin.c
--- a/sql/server/sql_rel2bin.c
+++ b/sql/server/sql_rel2bin.c
@@ -695,9 +695,6 @@ releqjoin( mvc *sql, list *l1, list *l2 
 
                cmp = stmt_uselect(sql->sa, cmp, stmt_bool(sql->sa, 1), 
cmp_equal);
 
-               //cmp = stmt_reverse(sql->sa, stmt_mark_tail(sql->sa, cmp, 0));
-               //l = stmt_project(sql->sa, cmp, l);
-               //r = stmt_project(sql->sa, cmp, r);
                /* TODO the semijoin may break the order!! */
                l = stmt_semijoin(sql->sa, l, cmp);
                r = stmt_semijoin(sql->sa, r, cmp);
diff --git a/sql/server/sql_statement.c b/sql/server/sql_statement.c
--- a/sql/server/sql_statement.c
+++ b/sql/server/sql_statement.c
@@ -1909,7 +1909,6 @@ _column_name(sql_allocator *sa, stmt *st
        case st_alias:
                return column_name(sa, st->op3 );
        case st_bat:
-               //return sa_strdup(sa, st->op4.cval->base.name);
                return st->op4.cval->base.name;
        case st_atom:
                if (st->op4.aval->data.vtype == TYPE_str)
@@ -1984,21 +1983,17 @@ _table_name(sql_allocator *sa, stmt *st)
                if (st->op2)
                        return table_name(sa, st->op2);
        case st_table_clear:
-               //return sa_strdup(sa, st->op4.tval->base.name);
                return st->op4.tval->base.name;
        case st_bat:
                return table_name(sa, st->h);
        case st_alias:
                if (st->tname)
                        return st->tname;
-               //if (st->op2)
-                       //return table_name(sa, st->op2);
                else
                        /* there are no table aliases, ie look into the base 
column */
                        return table_name(sa, st->op1);
        case st_atom:
                if (st->op4.aval->data.vtype == TYPE_str && 
st->op4.aval->data.val.sval && _strlen(st->op4.aval->data.val.sval))
-                       //return atom2string(sa, st->op4.aval);
                        return st->op4.aval->data.val.sval;
 
        case st_var:
@@ -2053,7 +2048,6 @@ schema_name(sql_allocator *sa, stmt *st)
                /* there are no schema aliases, ie look into the base column */
                return schema_name(sa, st->op1);
        case st_bat:
-               //return sa_strdup(sa, st->op4.cval->t->s->base.name);
                return st->op4.cval->t->s->base.name;
        case st_atom:
                return NULL;
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to