Changeset: c9345badfff8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c9345badfff8
Modified Files:
clients/Tests/exports.stable.out
clients/Tests/malcheck.stable.out
clients/mapiclient/dump.c
common/stream/stream.c
monetdb5/extras/mal_optimizer_template/opt_sql_append.c
monetdb5/extras/mal_optimizer_template/opt_sql_append.h
monetdb5/modules/atoms/batxml.c
monetdb5/modules/kernel/algebra.c
monetdb5/modules/kernel/bat5.c
monetdb5/modules/kernel/batcolor.c
monetdb5/modules/kernel/batmmath.c
monetdb5/modules/kernel/batstr.c
monetdb5/modules/kernel/microbenchmark.c
monetdb5/modules/kernel/status.c
monetdb5/modules/mal/bbp.c
monetdb5/modules/mal/clients.c
monetdb5/modules/mal/inspect.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/mdb.c
monetdb5/modules/mal/pcre.c
monetdb5/modules/mal/zorder.c
monetdb5/optimizer/opt_aliases.h
monetdb5/optimizer/opt_candidates.h
monetdb5/optimizer/opt_coercion.h
monetdb5/optimizer/opt_commonTerms.c
monetdb5/optimizer/opt_commonTerms.h
monetdb5/optimizer/opt_constants.c
monetdb5/optimizer/opt_constants.h
monetdb5/optimizer/opt_costModel.h
monetdb5/optimizer/opt_dataflow.c
monetdb5/optimizer/opt_dataflow.h
monetdb5/optimizer/opt_deadcode.c
monetdb5/optimizer/opt_deadcode.h
monetdb5/optimizer/opt_evaluate.c
monetdb5/optimizer/opt_evaluate.h
monetdb5/optimizer/opt_factorize.h
monetdb5/optimizer/opt_garbageCollector.c
monetdb5/optimizer/opt_garbageCollector.h
monetdb5/optimizer/opt_generator.h
monetdb5/optimizer/opt_inline.c
monetdb5/optimizer/opt_inline.h
monetdb5/optimizer/opt_json.h
monetdb5/optimizer/opt_macro.h
monetdb5/optimizer/opt_matpack.h
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_mergetable.h
monetdb5/optimizer/opt_mitosis.c
monetdb5/optimizer/opt_mitosis.h
monetdb5/optimizer/opt_multiplex.c
monetdb5/optimizer/opt_multiplex.h
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_profiler.h
monetdb5/optimizer/opt_projectionpath.c
monetdb5/optimizer/opt_projectionpath.h
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_pushselect.h
monetdb5/optimizer/opt_querylog.h
monetdb5/optimizer/opt_reduce.h
monetdb5/optimizer/opt_remap.c
monetdb5/optimizer/opt_remap.h
monetdb5/optimizer/opt_remoteQueries.c
monetdb5/optimizer/opt_remoteQueries.h
monetdb5/optimizer/opt_reorder.c
monetdb5/optimizer/opt_reorder.h
monetdb5/optimizer/opt_support.c
monetdb5/optimizer/opt_support.h
monetdb5/optimizer/opt_volcano.h
sql/backends/monet5/sql.c
sql/backends/monet5/sql_cast_impl_down_from_int.h
sql/backends/monet5/sql_cast_impl_up_to_flt.h
sql/backends/monet5/sql_cast_impl_up_to_int.h
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_rank.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_user.c
sql/server/rel_psm.c
sql/server/sql_mvc.c
sql/storage/bat/bat_storage.c
sql/storage/store.c
Branch: sfcgal
Log Message:
Merge with default
diffs (truncated from 3053 to 300 lines):
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -1567,7 +1567,6 @@ int OPTreduceImplementation(Client cntxt
int OPTremapImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
int OPTremoteQueriesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
int OPTreorderImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
-str OPTsetDebugStr(void *ret, str *nme);
int OPTvolcanoImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
str OPTwrapper(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
str PCREilike2(bit *ret, const str *s, const str *pat);
@@ -2312,7 +2311,6 @@ str openRef;
int open_block_stream(Stream *S, Stream *is);
str open_block_streamwrap(Stream *S, Stream *is);
str operatorName(int i);
-lng optDebug;
str optimizeMALBlock(Client cntxt, MalBlkPtr mb);
str optimizerCheck(Client cntxt, MalBlkPtr mb, str name, int actions, lng
usec);
int optimizerIsApplied(MalBlkPtr mb, str name);
@@ -2388,7 +2386,6 @@ str refineRef;
str registerRef;
str remapRef;
str remoteRef;
-void removeDataflow(MalBlkPtr mb);
void removeInstruction(MalBlkPtr mb, InstrPtr p);
void removeInstructionBlock(MalBlkPtr mb, int pc, int cnt);
void renameVariable(MalBlkPtr mb, int i, str pattern, int newid);
diff --git a/clients/Tests/malcheck.stable.out
b/clients/Tests/malcheck.stable.out
--- a/clients/Tests/malcheck.stable.out
+++ b/clients/Tests/malcheck.stable.out
@@ -5,6 +5,7 @@ stdout of test 'malcheck` in directory '
# 15:15:51 > "./malcheck.sh" "malcheck"
# 15:15:51 >
+OPTsetDebugStr: missing for MAL command mdb.traceOptimizer in
monetdb5/optimizer/optimizer.mal
# 15:16:26 >
# 15:16:26 > "Done."
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -1557,7 +1557,7 @@ dump_database(Mapi mid, stream *toConsol
"t.id = tr.table_id"
") "
"SELECT sname, query FROM vft ORDER BY id";
- char *sname;
+ char *sname = NULL;
char *curschema = NULL;
MapiHdl hdl;
int create_hash_func = 0;
@@ -2028,7 +2028,8 @@ dump_database(Mapi mid, stream *toConsol
/* finally commit the whole transaction */
if (!describe)
mnstr_printf(toConsole, "COMMIT;\n");
-
+ if (sname)
+ free(sname);
return rc;
bailout:
@@ -2042,6 +2043,8 @@ dump_database(Mapi mid, stream *toConsol
mapi_explain(mid, stderr);
bailout2:
+ if (sname)
+ free(sname);
if (curschema)
free(curschema);
hdl = mapi_query(mid, end);
diff --git a/common/stream/stream.c b/common/stream/stream.c
--- a/common/stream/stream.c
+++ b/common/stream/stream.c
@@ -776,6 +776,14 @@ file_close(stream *s)
}
static void
+file_destroy(stream *s)
+{
+ file_close(s);
+ destroy(s);
+}
+
+
+static void
file_clrerr(stream *s)
{
FILE *fp = (FILE *) s->stream_data.p;
@@ -918,6 +926,7 @@ open_stream(const char *filename, const
s->read = file_read;
s->write = file_write;
s->close = file_close;
+ s->destroy = file_destroy;
s->clrerr = file_clrerr;
s->flush = file_flush;
s->fsync = file_fsync;
@@ -2872,6 +2881,7 @@ file_stream(const char *name)
s->read = file_read;
s->write = file_write;
s->close = file_close;
+ s->destroy = file_destroy;
s->flush = file_flush;
s->fsync = file_fsync;
s->fgetpos = file_fgetpos;
@@ -3229,12 +3239,20 @@ ic_close(stream *s)
ic_flush(s);
iconv_close(ic->cd);
mnstr_close(ic->s);
+ mnstr_destroy(ic->s);
free(s->stream_data.p);
s->stream_data.p = NULL;
}
}
static void
+ic_destroy(stream *s)
+{
+ ic_close(s);
+ destroy(s);
+}
+
+static void
ic_update_timeout(stream *s)
{
struct icstream *ic = (struct icstream *) s->stream_data.p;
@@ -3280,6 +3298,7 @@ ic_open(iconv_t cd, stream *ss, const ch
s->read = ic_read;
s->write = ic_write;
s->close = ic_close;
+ s->destroy = ic_destroy;
s->clrerr = ic_clrerr;
s->flush = ic_flush;
s->update_timeout = ic_update_timeout;
diff --git a/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
b/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
--- a/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
+++ b/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
@@ -81,6 +81,7 @@ OPTsql_appendImplementation(Client cntxt
InstrPtr *old = NULL;
int i, limit, slimit, actions = 0;
+ (void) cntxt;
(void) pci; /* Tell compilers that we know that we do not */
(void) stk; /* use these function parameters, here. */
@@ -227,9 +228,9 @@ OPTsql_appendImplementation(Client cntxt
GDKfree(old);
/* for statistics we return if/how many patches have been made */
- DEBUGoptimizers
- mnstr_printf(cntxt->fdout,"#opt_sql_append: %d statements
added\n",
- actions);
+#ifdef DEBUG_OPT_OPTIMIZERS
+ mnstr_printf(cntxt->fdout,"#opt_sql_append: %d statements
added\n", actions);
+#endif
return actions;
}
@@ -258,9 +259,12 @@ str OPTsql_append(Client cntxt, MalBlkPt
lng t,clk= GDKusec();
int actions = 0;
+ (void) cntxt;
if( p )
removeInstruction(mb, p);
- OPTDEBUGsql_append mnstr_printf(cntxt->fdout,"=APPLY OPTIMIZER
sql_append\n");
+#ifdef DEBUG_OPT_OPTIMIZERS
+ mnstr_printf(cntxt->fdout,"=APPLY OPTIMIZER sql_append\n");
+#endif
if( p && p->argc > 1 ){
if( getArgType(mb,p,1) != TYPE_str ||
getArgType(mb,p,2) != TYPE_str ||
@@ -293,12 +297,11 @@ str OPTsql_append(Client cntxt, MalBlkPt
}
actions= OPTsql_appendImplementation(cntxt, mb,stk,p);
msg= optimizerCheck(cntxt, mb, "optimizer.sql_append", actions,
t=(GDKusec() - clk));
- OPTDEBUGsql_append {
+#ifdef DEBUG_OPT_OPTIMIZERS
mnstr_printf(cntxt->fdout,"=FINISHED sql_append %d\n",actions);
printFunction(cntxt->fdout,mb,0,LIST_MAL_ALL );
- }
- DEBUGoptimizers
mnstr_printf(cntxt->fdout,"#opt_reduce: " LLFMT " ms\n",t);
+#endif
QOTupdateStatistics("sql_append",actions,t);
addtoMalBlkHistory(mb);
return msg;
diff --git a/monetdb5/extras/mal_optimizer_template/opt_sql_append.h
b/monetdb5/extras/mal_optimizer_template/opt_sql_append.h
--- a/monetdb5/extras/mal_optimizer_template/opt_sql_append.h
+++ b/monetdb5/extras/mal_optimizer_template/opt_sql_append.h
@@ -23,7 +23,4 @@
opt_sql_append_export str OPTsql_append(Client cntxt, MalBlkPtr mb, MalStkPtr
stk, InstrPtr p);
-#define DEBUG_OPT_SQL_APPEND 61
-#define OPTDEBUGsql_append if (optDebug & ((lng)1 << DEBUG_OPT_SQL_APPEND))
-
#endif /* _OPT_SQL_APPEND_ */
diff --git a/monetdb5/modules/atoms/batxml.c b/monetdb5/modules/atoms/batxml.c
--- a/monetdb5/modules/atoms/batxml.c
+++ b/monetdb5/modules/atoms/batxml.c
@@ -74,8 +74,6 @@ mal_export str AGGRsubxml(bat *retval, c
#define finalizeResult(X,Y,Z) \
do {
\
BATsetcount((Y), (Y)->batCount); \
- if (!((Y)->batDirty & 2)) \
- BATsetaccess((Y), BAT_READ); \
*(X) = (Y)->batCacheid; \
BBPkeepref(*(X));
\
BBPunfix((Z)->batCacheid); \
diff --git a/monetdb5/modules/kernel/algebra.c
b/monetdb5/modules/kernel/algebra.c
--- a/monetdb5/modules/kernel/algebra.c
+++ b/monetdb5/modules/kernel/algebra.c
@@ -202,7 +202,6 @@ ALGgroupby(bat *res, const bat *gids, co
throw(MAL, "algebra.groupby",GDK_EXCEPTION);
}
if( bn){
- if (!(bn->batDirty&2)) BATsetaccess(bn, BAT_READ);
*res = bn->batCacheid;
BBPkeepref(bn->batCacheid);
}
@@ -261,7 +260,6 @@ ALGsubselect2(bat *result, const bat *bi
BBPunfix(s->batCacheid);
if (bn == NULL)
throw(MAL, "algebra.subselect", GDK_EXCEPTION);
- if (!(bn->batDirty&2)) BATsetaccess(bn, BAT_READ);
*result = bn->batCacheid;
BBPkeepref(bn->batCacheid);
return MAL_SUCCEED;
@@ -292,7 +290,6 @@ ALGthetasubselect2(bat *result, const ba
BBPunfix(s->batCacheid);
if (bn == NULL)
throw(MAL, "algebra.subselect", GDK_EXCEPTION);
- if (!(bn->batDirty&2)) BATsetaccess(bn, BAT_READ);
*result = bn->batCacheid;
BBPkeepref(bn->batCacheid);
return MAL_SUCCEED;
@@ -323,7 +320,6 @@ ALGselectNotNil(bat *result, const bat *
}
BBPunfix(b->batCacheid);
if (bn) {
- if (!(bn->batDirty&2)) BATsetaccess(bn, BAT_READ);
*result = bn->batCacheid;
BBPkeepref(*result);
return MAL_SUCCEED;
@@ -404,13 +400,9 @@ do_join(bat *r1, bat *r2, const bat *lid
result2 = NULL;
}
*r1 = result1->batCacheid;
- if (!(result1->batDirty&2))
- BATsetaccess(result1, BAT_READ);
BBPkeepref(*r1);
if (r2) {
*r2 = result2->batCacheid;
- if (!(result2->batDirty&2))
- BATsetaccess(result2, BAT_READ);
BBPkeepref(*r2);
}
BBPunfix(left->batCacheid);
@@ -593,8 +585,6 @@ ALGunary(bat *result, const bat *bid, BA
BBPunfix(b->batCacheid);
if (bn == NULL)
throw(MAL, name, GDK_EXCEPTION);
- if (!(bn->batDirty&2))
- BATsetaccess(bn, BAT_READ);
*result = bn->batCacheid;
BBPkeepref(*result);
return MAL_SUCCEED;
@@ -617,8 +607,6 @@ ALGbinary(bat *result, const bat *lid, c
BBPunfix(right->batCacheid);
if (bn == NULL)
throw(MAL, name, GDK_EXCEPTION);
- if (!(bn->batDirty&2))
- BATsetaccess(bn, BAT_READ);
*result = bn->batCacheid;
BBPkeepref(*result);
return MAL_SUCCEED;
@@ -654,8 +642,6 @@ ALGsubunique2(bat *result, const bat *bi
BBPunfix(s->batCacheid);
if (bn == NULL)
throw(MAL, "algebra.subunique", GDK_EXCEPTION);
- if (!(bn->batDirty & 2))
- BATsetaccess(bn, BAT_READ);
*result = bn->batCacheid;
BBPkeepref(*result);
return MAL_SUCCEED;
@@ -837,7 +823,6 @@ ALGtmark(bat *result, const bat *bid, co
bn = BATdense(b->hseqbase, *base, BATcount(b));
if (bn != NULL) {
BBPunfix(b->batCacheid);
- if (!(bn->batDirty&2)) BATsetaccess(bn, BAT_READ);
*result = bn->batCacheid;
BBPkeepref(*result);
return MAL_SUCCEED;
@@ -880,7 +865,6 @@ ALGslice(bat *ret, const bat *bid, const
throw(MAL, "algebra.slice", RUNTIME_OBJECT_MISSING);
}
if (slice(&bn, b, *start, *end) == GDK_SUCCEED) {
- if (!(bn->batDirty&2)) BATsetaccess(bn, BAT_READ);
*ret = bn->batCacheid;
BBPkeepref(*ret);
BBPunfix(b->batCacheid);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list