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