Changeset: 4d4439e02bbf for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4d4439e02bbf
Added Files:
monetdb5/mal/Tests/malids.malC
monetdb5/mal/Tests/malids.stable.err
monetdb5/mal/Tests/malids.stable.out
monetdb5/modules/kernel/Tests/select.malC
monetdb5/modules/kernel/Tests/select.stable.err
monetdb5/modules/kernel/Tests/select.stable.out
Removed Files:
monetdb5/optimizer/Tests/flowgraph.malC
monetdb5/optimizer/Tests/flowgraph.stable.err
monetdb5/optimizer/Tests/flowgraph.stable.out
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
gdk/gdk_logger.c
gdk/gdk_select.c
monetdb5/mal/Tests/All
monetdb5/mal/Tests/run
monetdb5/mal/mal.h
monetdb5/mal/mal_builder.c
monetdb5/mal/mal_builder.h
monetdb5/mal/mal_client.c
monetdb5/mal/mal_dataflow.c
monetdb5/mal/mal_debugger.c
monetdb5/mal/mal_function.c
monetdb5/mal/mal_function.h
monetdb5/mal/mal_import.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_instruction.h
monetdb5/mal/mal_parser.c
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_session.c
monetdb5/modules/kernel/Tests/All
monetdb5/modules/mal/Tests/orderidx00.malC
monetdb5/modules/mal/Tests/orderidx01.malC
monetdb5/modules/mal/Tests/orderidx02.malC
monetdb5/modules/mal/Tests/orderidx04.malC
monetdb5/modules/mal/language.mal
monetdb5/modules/mal/manifold.c
monetdb5/modules/mal/mdb.c
monetdb5/modules/mal/mdb.h
monetdb5/modules/mal/mdb.mal
monetdb5/modules/mal/oltp.mal
monetdb5/modules/mal/orderidx.c
monetdb5/optimizer/Tests/All
monetdb5/optimizer/opt_commonTerms.c
monetdb5/optimizer/opt_dataflow.c
monetdb5/optimizer/opt_deadcode.c
monetdb5/optimizer/opt_garbageCollector.c
monetdb5/optimizer/opt_macro.c
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
monetdb5/optimizer/opt_profiler.c
monetdb5/optimizer/opt_reorder.c
monetdb5/optimizer/opt_support.c
monetdb5/optimizer/opt_support.h
monetdb5/optimizer/opt_wrapper.c
monetdb5/optimizer/optimizer.mal
monetdb5/scheduler/run_adder.c
monetdb5/tools/Tests/mserver5--help.stable.err
monetdb5/tools/Tests/mserver5--help.stable.err.Windows
sql/backends/monet5/UDF/pyapi/convert_loops.h
sql/backends/monet5/generator/generator.c
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_optimizer.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sqlcatalog.mal
sql/backends/monet5/vaults/netcdf/netcdf.c
sql/common/sql_hash.c
sql/common/sql_list.c
sql/server/rel_exp.c
sql/storage/bat/bat_storage.c
sql/storage/bat/bat_utils.c
sql/storage/bat/res_table.c
sql/storage/sql_catalog.c
sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.stable.out
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
sql/test/BugTracker-2014/Tests/querylog.Bug-3607.stable.out
sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out
sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
tools/mserver/mserver5.c
Branch: data-vaults
Log Message:
Merge with default
diffs (truncated from 7041 to 300 lines):
diff --git a/clients/Tests/MAL-signatures.stable.out
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -7941,8 +7941,6 @@ Ready.
[ "mcurl", "putrequest", "command mcurl.putrequest(s:str):str ",
"CURLputRequest;", "Perform a http put request" ]
[ "mdb", "List", "pattern mdb.List(M:str, F:str):void ",
"MDBlist3Detail;", "Dump the routine M.F on standard out." ]
[ "mdb", "List", "pattern mdb.List():void ", "MDBlistDetail;",
"Dump the current routine on standard out." ]
-[ "mdb", "dot", "pattern mdb.dot(M:str, F:str, s:str):void ",
"MDBshowFlowGraph;", "Dump the data flow of the function \n\tM.F in a format
recognizable by the \n\tcommand 'dot' on the file s" ]
-[ "mdb", "dot", "pattern mdb.dot(s:str):void ", "MDBshowFlowGraph;",
"Dump the data flow of the current routine in a format recognizable by the
command 'dot' to the file s" ]
[ "mdb", "dump", "pattern mdb.dump():void ", "MDBdump;", "Dump
instruction, stacktrace, and stack" ]
[ "mdb", "getContext", "command mdb.getContext(s:str):str ",
"MDBgetExceptionContext;", "Extract the context string from the exception
message" ]
[ "mdb", "getDebug", "command mdb.getDebug():int ", "MDBgetDebug;",
"Get the kernel debugging bit-set.\nSee the MonetDB configuration file for
details" ]
@@ -8170,8 +8168,6 @@ Ready.
[ "optimizer", "datavaults", "pattern optimizer.datavaults(mod:str,
fcn:str):str ", "OPTwrapper;", "Lazy load of datavaults files" ]
[ "optimizer", "deadcode", "pattern optimizer.deadcode():str ",
"OPTwrapper;", "" ]
[ "optimizer", "deadcode", "pattern optimizer.deadcode(mod:str,
fcn:str):str ", "OPTwrapper;", "Dead code optimizer" ]
-[ "optimizer", "derivePath", "pattern optimizer.derivePath():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "derivePath", "pattern optimizer.derivePath(mod:str,
fcn:str):str ", "OPTwrapper;", "Join path constructor" ]
[ "optimizer", "emptybind", "pattern optimizer.emptybind():str ",
"OPTwrapper;", "" ]
[ "optimizer", "emptybind", "pattern optimizer.emptybind(mod:str,
fcn:str):str ", "OPTwrapper;", "Evaluate empty set expressions." ]
[ "optimizer", "evaluate", "pattern optimizer.evaluate():str ",
"OPTwrapper;", "" ]
@@ -8184,8 +8180,6 @@ Ready.
[ "optimizer", "inline", "pattern optimizer.inline(mod:str, fcn:str):str
", "OPTwrapper;", "Expand inline functions" ]
[ "optimizer", "jit", "pattern optimizer.jit():str ", "OPTwrapper;", ""
]
[ "optimizer", "jit", "pattern optimizer.jit(mod:str, fcn:str):str ",
"OPTwrapper;", "Propagate candidate lists in just-in-time optimization"
]
-[ "optimizer", "joinselect", "pattern optimizer.joinselect():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "joinselect", "pattern optimizer.joinselect(mod:str,
fcn:str):str ", "OPTwrapper;", "Replace select with join select" ]
[ "optimizer", "json", "pattern optimizer.json():str ", "OPTwrapper;",
"" ]
[ "optimizer", "json", "pattern optimizer.json(mod:str, fcn:str):str ",
"OPTwrapper;", "Unroll the mat.pack operation" ]
[ "optimizer", "macro", "pattern optimizer.macro(mod:str, fcn:str,
targetmod:str, targetfcn:str):void ", "OPTmacro;", "Inline a target
function used in a specific function." ]
@@ -8203,12 +8197,6 @@ Ready.
[ "optimizer", "optimize", "pattern optimizer.optimize(mod:str,
fcn:str):void ", "QOToptimize;", "Optimize a specific operation" ]
[ "optimizer", "orcam", "pattern optimizer.orcam(mod:str, fcn:str,
targetmod:str, targetfcn:str):void ", "OPTorcam;", "Inverse macro,
find pattern and replace with a function call." ]
[ "optimizer", "orcam", "pattern optimizer.orcam(targetmod:str,
targetfcn:str):void ", "OPTorcam;", "Inverse macro processor for current
function" ]
-[ "optimizer", "origin", "pattern optimizer.origin():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "origin", "pattern optimizer.origin(mod:str, fcn:str):str
", "OPTwrapper;", "OID origin tracker" ]
-[ "optimizer", "partitions", "pattern optimizer.partitions():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "partitions", "pattern optimizer.partitions(mod:str,
fcn:str):str ", "OPTwrapper;", "Experiment with partitioned databases" ]
-[ "optimizer", "prejoin", "pattern optimizer.prejoin():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "prejoin", "pattern optimizer.prejoin(mod:str,
fcn:str):str ", "OPTwrapper;", "Dead code optimizer" ]
[ "optimizer", "prelude", "pattern optimizer.prelude():void ",
"optimizer_prelude;", "Initialize the optimizer" ]
[ "optimizer", "profiler", "pattern optimizer.profiler():str ",
"OPTwrapper;", "" ]
[ "optimizer", "profiler", "pattern optimizer.profiler(mod:str,
fcn:str):str ", "OPTwrapper;", "Collect properties for the profiler" ]
@@ -8218,8 +8206,6 @@ Ready.
[ "optimizer", "pushselect", "pattern optimizer.pushselect(mod:str,
fcn:str):str ", "OPTwrapper;", "Push selects down projections" ]
[ "optimizer", "querylog", "pattern optimizer.querylog():str ",
"OPTwrapper;", "" ]
[ "optimizer", "querylog", "pattern optimizer.querylog(mod:str,
fcn:str):str ", "OPTwrapper;", "Collect SQL query statistics" ]
-[ "optimizer", "recycler", "pattern optimizer.recycler():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "recycler", "pattern optimizer.recycler(mod:str,
fcn:str):str ", "OPTwrapper;", "Recycler marking and code injection" ]
[ "optimizer", "reduce", "pattern optimizer.reduce():str ",
"OPTwrapper;", "" ]
[ "optimizer", "reduce", "pattern optimizer.reduce(mod:str, fcn:str):str
", "OPTwrapper;", "Reduce the stack space claims" ]
[ "optimizer", "remap", "pattern optimizer.remap():str ",
"OPTwrapper;", "" ]
@@ -8230,8 +8216,6 @@ Ready.
[ "optimizer", "reorder", "pattern optimizer.reorder(mod:str,
fcn:str):str ", "OPTwrapper;", "Reorder by dataflow dependencies" ]
[ "optimizer", "sql_append", "pattern optimizer.sql_append():str ",
"OPTsql_append;", "Avoid extra BAT copy with sql.append() whenever
possible." ]
[ "optimizer", "sql_append", "pattern optimizer.sql_append(mod:str,
fcn:str):str ", "OPTsql_append;", "Avoid extra BAT copy with
sql.append() whenever possible." ]
-[ "optimizer", "trace", "pattern optimizer.trace():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "trace", "pattern optimizer.trace(mod:str, fcn:str):str
", "OPTwrapper;", "Collect trace of a specific operation" ]
[ "optimizer", "volcano", "pattern optimizer.volcano():str ",
"OPTwrapper;", "" ]
[ "optimizer", "volcano", "pattern optimizer.volcano(mod:str,
fcn:str):str ", "OPTwrapper;", "Simulate volcano style execution" ]
[ "pcre", "imatch", "command pcre.imatch(s:str, pat:str):bit ",
"PCREimatch;", "Caseless Perl Compatible Regular Expression pattern matching
against a string" ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -10302,8 +10302,6 @@ Ready.
[ "mcurl", "putrequest", "command mcurl.putrequest(s:str):str ",
"CURLputRequest;", "Perform a http put request" ]
[ "mdb", "List", "pattern mdb.List(M:str, F:str):void ",
"MDBlist3Detail;", "Dump the routine M.F on standard out." ]
[ "mdb", "List", "pattern mdb.List():void ", "MDBlistDetail;",
"Dump the current routine on standard out." ]
-[ "mdb", "dot", "pattern mdb.dot(M:str, F:str, s:str):void ",
"MDBshowFlowGraph;", "Dump the data flow of the function \n\tM.F in a format
recognizable by the \n\tcommand 'dot' on the file s" ]
-[ "mdb", "dot", "pattern mdb.dot(s:str):void ", "MDBshowFlowGraph;",
"Dump the data flow of the current routine in a format recognizable by the
command 'dot' to the file s" ]
[ "mdb", "dump", "pattern mdb.dump():void ", "MDBdump;", "Dump
instruction, stacktrace, and stack" ]
[ "mdb", "getContext", "command mdb.getContext(s:str):str ",
"MDBgetExceptionContext;", "Extract the context string from the exception
message" ]
[ "mdb", "getDebug", "command mdb.getDebug():int ", "MDBgetDebug;",
"Get the kernel debugging bit-set.\nSee the MonetDB configuration file for
details" ]
@@ -10532,8 +10530,6 @@ Ready.
[ "optimizer", "datavaults", "pattern optimizer.datavaults(mod:str,
fcn:str):str ", "OPTwrapper;", "Lazy load of datavaults files" ]
[ "optimizer", "deadcode", "pattern optimizer.deadcode():str ",
"OPTwrapper;", "" ]
[ "optimizer", "deadcode", "pattern optimizer.deadcode(mod:str,
fcn:str):str ", "OPTwrapper;", "Dead code optimizer" ]
-[ "optimizer", "derivePath", "pattern optimizer.derivePath():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "derivePath", "pattern optimizer.derivePath(mod:str,
fcn:str):str ", "OPTwrapper;", "Join path constructor" ]
[ "optimizer", "emptybind", "pattern optimizer.emptybind():str ",
"OPTwrapper;", "" ]
[ "optimizer", "emptybind", "pattern optimizer.emptybind(mod:str,
fcn:str):str ", "OPTwrapper;", "Evaluate empty set expressions." ]
[ "optimizer", "evaluate", "pattern optimizer.evaluate():str ",
"OPTwrapper;", "" ]
@@ -10546,8 +10542,6 @@ Ready.
[ "optimizer", "inline", "pattern optimizer.inline(mod:str, fcn:str):str
", "OPTwrapper;", "Expand inline functions" ]
[ "optimizer", "jit", "pattern optimizer.jit():str ", "OPTwrapper;", ""
]
[ "optimizer", "jit", "pattern optimizer.jit(mod:str, fcn:str):str ",
"OPTwrapper;", "Propagate candidate lists in just-in-time optimization"
]
-[ "optimizer", "joinselect", "pattern optimizer.joinselect():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "joinselect", "pattern optimizer.joinselect(mod:str,
fcn:str):str ", "OPTwrapper;", "Replace select with join select" ]
[ "optimizer", "json", "pattern optimizer.json():str ", "OPTwrapper;",
"" ]
[ "optimizer", "json", "pattern optimizer.json(mod:str, fcn:str):str ",
"OPTwrapper;", "Unroll the mat.pack operation" ]
[ "optimizer", "macro", "pattern optimizer.macro(mod:str, fcn:str,
targetmod:str, targetfcn:str):void ", "OPTmacro;", "Inline a target
function used in a specific function." ]
@@ -10565,12 +10559,6 @@ Ready.
[ "optimizer", "optimize", "pattern optimizer.optimize(mod:str,
fcn:str):void ", "QOToptimize;", "Optimize a specific operation" ]
[ "optimizer", "orcam", "pattern optimizer.orcam(mod:str, fcn:str,
targetmod:str, targetfcn:str):void ", "OPTorcam;", "Inverse macro,
find pattern and replace with a function call." ]
[ "optimizer", "orcam", "pattern optimizer.orcam(targetmod:str,
targetfcn:str):void ", "OPTorcam;", "Inverse macro processor for current
function" ]
-[ "optimizer", "origin", "pattern optimizer.origin():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "origin", "pattern optimizer.origin(mod:str, fcn:str):str
", "OPTwrapper;", "OID origin tracker" ]
-[ "optimizer", "partitions", "pattern optimizer.partitions():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "partitions", "pattern optimizer.partitions(mod:str,
fcn:str):str ", "OPTwrapper;", "Experiment with partitioned databases" ]
-[ "optimizer", "prejoin", "pattern optimizer.prejoin():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "prejoin", "pattern optimizer.prejoin(mod:str,
fcn:str):str ", "OPTwrapper;", "Dead code optimizer" ]
[ "optimizer", "prelude", "pattern optimizer.prelude():void ",
"optimizer_prelude;", "Initialize the optimizer" ]
[ "optimizer", "profiler", "pattern optimizer.profiler():str ",
"OPTwrapper;", "" ]
[ "optimizer", "profiler", "pattern optimizer.profiler(mod:str,
fcn:str):str ", "OPTwrapper;", "Collect properties for the profiler" ]
@@ -10580,8 +10568,6 @@ Ready.
[ "optimizer", "pushselect", "pattern optimizer.pushselect(mod:str,
fcn:str):str ", "OPTwrapper;", "Push selects down projections" ]
[ "optimizer", "querylog", "pattern optimizer.querylog():str ",
"OPTwrapper;", "" ]
[ "optimizer", "querylog", "pattern optimizer.querylog(mod:str,
fcn:str):str ", "OPTwrapper;", "Collect SQL query statistics" ]
-[ "optimizer", "recycler", "pattern optimizer.recycler():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "recycler", "pattern optimizer.recycler(mod:str,
fcn:str):str ", "OPTwrapper;", "Recycler marking and code injection" ]
[ "optimizer", "reduce", "pattern optimizer.reduce():str ",
"OPTwrapper;", "" ]
[ "optimizer", "reduce", "pattern optimizer.reduce(mod:str, fcn:str):str
", "OPTwrapper;", "Reduce the stack space claims" ]
[ "optimizer", "remap", "pattern optimizer.remap():str ",
"OPTwrapper;", "" ]
@@ -10592,8 +10578,6 @@ Ready.
[ "optimizer", "reorder", "pattern optimizer.reorder(mod:str,
fcn:str):str ", "OPTwrapper;", "Reorder by dataflow dependencies" ]
[ "optimizer", "sql_append", "pattern optimizer.sql_append():str ",
"OPTsql_append;", "Avoid extra BAT copy with sql.append() whenever
possible." ]
[ "optimizer", "sql_append", "pattern optimizer.sql_append(mod:str,
fcn:str):str ", "OPTsql_append;", "Avoid extra BAT copy with
sql.append() whenever possible." ]
-[ "optimizer", "trace", "pattern optimizer.trace():str ",
"OPTwrapper;", "" ]
-[ "optimizer", "trace", "pattern optimizer.trace(mod:str, fcn:str):str
", "OPTwrapper;", "Collect trace of a specific operation" ]
[ "optimizer", "volcano", "pattern optimizer.volcano():str ",
"OPTwrapper;", "" ]
[ "optimizer", "volcano", "pattern optimizer.volcano(mod:str,
fcn:str):str ", "OPTwrapper;", "Simulate volcano style execution" ]
[ "pcre", "imatch", "command pcre.imatch(s:str, pat:str):bit ",
"PCREimatch;", "Caseless Perl Compatible Regular Expression pattern matching
against a string" ]
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
@@ -1376,7 +1376,6 @@ str MDBsetDebug(int *ret, int *flg);
str MDBsetDebugStr(int *ret, str *nme);
str MDBsetTrace(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
str MDBsetVarTrace(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
-str MDBshowFlowGraph(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
str MDBstart(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
str MDBstartFactory(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
str MDBstop(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
@@ -1993,12 +1992,10 @@ str commitRef;
str compileOptimizer(Client cntxt, str name);
str compileString(Symbol *fcn, Client c, str s);
str connectRef;
-str constraintsRef;
str convertConstant(malType type, ValPtr vr);
InstrPtr copyInstruction(InstrPtr p);
MalBlkPtr copyMalBlk(MalBlkPtr mb);
str copyRef;
-int copyVariable(MalBlkPtr dst, VarPtr v);
str copy_fromRef;
str countRef;
str count_no_nilRef;
@@ -2148,7 +2145,7 @@ str groupdoneRef;
int hasCommonResults(InstrPtr p, InstrPtr q);
int hasSameArguments(MalBlkPtr mb, InstrPtr p, InstrPtr q);
int hasSameSignature(MalBlkPtr mb, InstrPtr p, InstrPtr q, int stop);
-int hasSideEffects(InstrPtr p, int strict);
+int hasSideEffects(MalBlkPtr mb, InstrPtr p, int strict);
str hashRef;
int have_hge;
str hgeRef;
@@ -2167,7 +2164,6 @@ int initQlog(void);
int initTrace(void);
int inlineMALblock(MalBlkPtr mb, int pc, MalBlkPtr mc);
str inplaceRef;
-void insertInstruction(MalBlkPtr mb, InstrPtr p, int pc);
void insertSymbol(Module scope, Symbol prg);
str instruction2str(MalBlkPtr mb, MalStkPtr stl, InstrPtr p, int hidden);
str instructionCall(MalBlkPtr mb, InstrPtr p, str s, str base, size_t len);
@@ -2178,15 +2174,12 @@ str ioRef;
str io_stderr(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
str io_stdin(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
str io_stdout(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-int isAllScalar(MalBlkPtr mb, InstrPtr p);
int isBlocking(InstrPtr p);
int isDelta(InstrPtr q);
-int isDependent(InstrPtr p, InstrPtr q);
int isExceptionVariable(str nme);
int isFragmentGroup(InstrPtr q);
int isFragmentGroup2(InstrPtr q);
int isIdentifier(str s);
-int isInvariant(MalBlkPtr mb, int pcf, int pcl, int varid);
int isLikeOp(InstrPtr q);
int isLoopBarrier(MalBlkPtr mb, int pc);
int isMapOp(InstrPtr q);
@@ -2198,7 +2191,6 @@ int isNotUsedIn(InstrPtr p, int start, i
int isOptimizerEnabled(MalBlkPtr mb, str opt);
int isOptimizerPipe(str name);
int isOrderby(InstrPtr q);
-int isProcedure(MalBlkPtr mb, InstrPtr p);
int isSample(InstrPtr q);
int isSealedFunction(InstrPtr q);
int isSelect(InstrPtr q);
@@ -2248,6 +2240,7 @@ MT_Lock mal_delayLock;
void mal_exit(void);
void mal_factory_reset(void) __attribute__((__visibility__("hidden")));
int mal_init(void);
+void mal_instruction_reset(void);
void mal_linker_reset(void) __attribute__((__visibility__("hidden")));
void mal_module_reset(void) __attribute__((__visibility__("hidden")));
void mal_namespace_reset(void) __attribute__((__visibility__("hidden")));
@@ -2326,8 +2319,8 @@ InstrPtr newFcnCall(MalBlkPtr mb, char *
Symbol newFunction(str mod, str nme, int kind);
MalStkPtr newGlobalStack(int size);
InstrPtr newInstruction(MalBlkPtr mb, str modnme, str fcnnme);
-MalBlkPtr newMalBlk(int maxvars, int maxstmts);
-int newMalBlkStmt(MalBlkPtr mb, int maxstmts);
+MalBlkPtr newMalBlk(int elements);
+int newMalBlkStmt(MalBlkPtr mb, int elements);
Module newModule(Module scope, str nme);
Plant newPlant(MalBlkPtr mb);
InstrPtr newRaiseStmt(MalBlkPtr mb, str nme);
@@ -2369,7 +2362,7 @@ str plusRef;
str postludeRef;
str preludeRef;
MalStkPtr prepareMALstack(MalBlkPtr mb, int size);
-void prepareMalBlk(MalBlkPtr mb, str s);
+int prepareMalBlk(MalBlkPtr mb, str s);
void printFunction(stream *fd, MalBlkPtr mb, MalStkPtr stk, int flg);
void printInstruction(stream *fd, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int
flg);
str printRef;
@@ -2391,7 +2384,7 @@ InstrPtr pushBit(MalBlkPtr mb, InstrPtr
InstrPtr pushBte(MalBlkPtr mb, InstrPtr q, bte val);
InstrPtr pushDbl(MalBlkPtr mb, InstrPtr q, dbl val);
InstrPtr pushEmptyBAT(MalBlkPtr mb, InstrPtr q, int tpe);
-void pushEndInstruction(MalBlkPtr mb);
+InstrPtr pushEndInstruction(MalBlkPtr mb);
InstrPtr pushFlt(MalBlkPtr mb, InstrPtr q, flt val);
InstrPtr pushHge(MalBlkPtr mb, InstrPtr q, hge val);
void pushInstruction(MalBlkPtr mb, InstrPtr p);
@@ -2435,7 +2428,7 @@ str replaceRef;
str replicatorRef;
void resetMalBlk(MalBlkPtr mb, int stop);
void resetScenario(Client c);
-void resizeMalBlk(MalBlkPtr mb, int maxstmt, int maxvar);
+int resizeMalBlk(MalBlkPtr mb, int elements);
int resolveType(int dsttype, int srctype);
str resultSetRef;
str reuseRef;
@@ -2471,7 +2464,6 @@ void setHeartbeat(int delay);
void setPolymorphic(InstrPtr p, int tpe, int force);
void setReturnArgument(InstrPtr p, int varid);
str setScenario(Client c, str nme);
-void setVarType(MalBlkPtr mb, int i, int tpe);
str setVariableRef;
void setVariableScope(MalBlkPtr mb);
str setWriteModeRef;
@@ -2482,7 +2474,6 @@ void showAllScenarios(stream *f);
void showCurrentScenario(void);
void showErrors(Client cntxt);
void showException(stream *out, enum malexception, const char *, _In_z_
_Printf_format_string_ const char *, ...) __attribute__((__format__(__printf__,
4, 5)));
-void showFlowGraph(MalBlkPtr mb, MalStkPtr stk, str fname);
void showMalBlkHistory(stream *out, MalBlkPtr mb);
void showOptimizerHistory(void);
void showOptimizerStep(str fnme, int i, int flg);
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1598,6 +1598,8 @@ logger_load(int debug, const char *fn, c
logger_fatal("Logger_new: inconsistent
database, snapshots_tid does not exist", 0, 0, 0);
} else {
lg->dsnapshots = logbat_new(TYPE_oid, 1, PERSISTENT);
+ if (lg->dsnapshots == NULL)
+ logger_fatal("Logger_new: cannot create
dsnapshot bat", 0, 0, 0);
snprintf(bak, sizeof(bak), "%s_dsnapshots", fn);
if (BBPrename(lg->dsnapshots->batCacheid, bak) < 0)
logger_fatal("Logger_new: BBPrename to %s
failed", bak, 0, 0);
@@ -2513,6 +2515,9 @@ bm_commit(logger *lg)
BAT *n = logbat_new(TYPE_str, BATcount(lg->freed), TRANSIENT);
gdk_return res;
+ if (n == NULL)
+ return LOG_ERR;
+
/* subcommit the freed bats */
if (BATcount(lg->freed)) {
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -1275,14 +1275,13 @@ BATselect(BAT *b, BAT *s, const void *tl
equi = th == NULL || (lval && ATOMcmp(t, tl, th) == 0); /* point
select? */
if (equi) {
assert(lval);
- hi = li;
+ if (th == NULL)
+ hi = li;
th = tl;
hval = 1;
} else {
hval = ATOMcmp(t, th, nil) != 0;
}
- if (!equi && !lval && !hval && lnil)
- anti = !anti;
if (anti) {
if (lval != hval) {
/* one of the end points is nil and the other
@@ -1857,7 +1856,7 @@ BATthetaselect(BAT *b, BAT *s, const voi
nil = ATOMnilptr(b->ttype);
if (ATOMcmp(b->ttype, val, nil) == 0)
return newempty();
- if (op[0] == '=' && ((op[1] == '=' && op[2] == 0) || op[2] == 0)) {
+ if (op[0] == '=' && ((op[1] == '=' && op[2] == 0) || op[1] == 0)) {
/* "=" or "==" */
return BATselect(b, s, val, NULL, 1, 1, 0);
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list