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
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to