Changeset: e31b8726249a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e31b8726249a
Added Files:
sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.sql
sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.stable.err
sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.stable.out
sql/test/BugTracker-2017/Tests/with-alias-bug.6246.sql
sql/test/BugTracker-2017/Tests/with-alias-bug.6246.stable.err
sql/test/BugTracker-2017/Tests/with-alias-bug.6246.stable.out
Removed Files:
monetdb5/optimizer/opt_statistics.c
monetdb5/optimizer/opt_statistics.h
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
clients/mapiclient/eventparser.c
clients/mapiclient/eventparser.h
gdk/gdk.h
gdk/gdk_align.c
gdk/gdk_atoms.c
gdk/gdk_bat.c
gdk/gdk_bbp.c
gdk/gdk_hash.c
gdk/gdk_heap.c
gdk/gdk_logger.c
gdk/gdk_logger.h
gdk/gdk_private.h
gdk/gdk_storage.c
gdk/gdk_tm.c
gdk/gdk_utils.c
gdk/gdk_utils.h
geom/monetdb5/geom.c
geom/monetdb5/geomBulk.c
geom/monetdb5/geom_upgrade.c
monetdb5/extras/mal_optimizer_template/opt_sql_append.c
monetdb5/mal/mal.c
monetdb5/mal/mal_authorize.c
monetdb5/mal/mal_client.c
monetdb5/mal/mal_dataflow.c
monetdb5/mal/mal_factory.c
monetdb5/mal/mal_function.c
monetdb5/mal/mal_function.h
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_interpreter.c
monetdb5/mal/mal_listing.c
monetdb5/mal/mal_listing.h
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_resolve.c
monetdb5/mal/mal_resource.c
monetdb5/modules/atoms/color.c
monetdb5/modules/atoms/mtime.c
monetdb5/modules/atoms/str.c
monetdb5/modules/atoms/uuid.c
monetdb5/modules/kernel/aggr.c
monetdb5/modules/kernel/bat5.c
monetdb5/modules/mal/batExtensions.c
monetdb5/modules/mal/batcalc.c
monetdb5/modules/mal/bbp.c
monetdb5/modules/mal/calc.c
monetdb5/modules/mal/clients.c
monetdb5/modules/mal/groupby.c
monetdb5/modules/mal/groupby.h
monetdb5/modules/mal/inspect.c
monetdb5/modules/mal/json_util.h
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/manifold.c
monetdb5/modules/mal/mdb.c
monetdb5/modules/mal/oltp.c
monetdb5/modules/mal/orderidx.c
monetdb5/modules/mal/querylog.c
monetdb5/modules/mal/remote.c
monetdb5/modules/mal/tablet.c
monetdb5/optimizer/Makefile.ag
monetdb5/optimizer/opt_aliases.c
monetdb5/optimizer/opt_aliases.h
monetdb5/optimizer/opt_candidates.c
monetdb5/optimizer/opt_candidates.h
monetdb5/optimizer/opt_coercion.c
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.c
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_emptybind.c
monetdb5/optimizer/opt_emptybind.h
monetdb5/optimizer/opt_evaluate.c
monetdb5/optimizer/opt_evaluate.h
monetdb5/optimizer/opt_garbageCollector.c
monetdb5/optimizer/opt_garbageCollector.h
monetdb5/optimizer/opt_generator.c
monetdb5/optimizer/opt_generator.h
monetdb5/optimizer/opt_inline.c
monetdb5/optimizer/opt_inline.h
monetdb5/optimizer/opt_jit.c
monetdb5/optimizer/opt_jit.h
monetdb5/optimizer/opt_json.c
monetdb5/optimizer/opt_json.h
monetdb5/optimizer/opt_macro.c
monetdb5/optimizer/opt_macro.h
monetdb5/optimizer/opt_matpack.c
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_oltp.c
monetdb5/optimizer/opt_oltp.h
monetdb5/optimizer/opt_profiler.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.c
monetdb5/optimizer/opt_querylog.h
monetdb5/optimizer/opt_reduce.c
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.c
monetdb5/optimizer/opt_volcano.h
monetdb5/optimizer/opt_wrapper.c
monetdb5/optimizer/optimizer.mal
monetdb5/scheduler/run_memo.c
monetdb5/scheduler/run_pipeline.c
monetdb5/scheduler/srvpool.c
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_orderidx.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_statistics.c
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/vaults/shp/shp.c
sql/benchmarks/tpch/01.sql
sql/benchmarks/tpch/02.sql
sql/benchmarks/tpch/03.sql
sql/benchmarks/tpch/04.sql
sql/benchmarks/tpch/05.sql
sql/benchmarks/tpch/06.sql
sql/benchmarks/tpch/07.sql
sql/benchmarks/tpch/08.sql
sql/benchmarks/tpch/09.sql
sql/benchmarks/tpch/10.sql
sql/benchmarks/tpch/11.sql
sql/benchmarks/tpch/12.sql
sql/benchmarks/tpch/13.sql
sql/benchmarks/tpch/14.sql
sql/benchmarks/tpch/15.sql
sql/benchmarks/tpch/16.sql
sql/benchmarks/tpch/17.sql
sql/benchmarks/tpch/18.sql
sql/benchmarks/tpch/19.sql
sql/benchmarks/tpch/20.sql
sql/benchmarks/tpch/21.sql
sql/benchmarks/tpch/22.sql
sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out
sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/01.stable.out
sql/benchmarks/tpch/LOCKED/Tests/01.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/02.stable.out
sql/benchmarks/tpch/LOCKED/Tests/03.stable.out
sql/benchmarks/tpch/LOCKED/Tests/03.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/04.stable.out
sql/benchmarks/tpch/LOCKED/Tests/05.stable.out
sql/benchmarks/tpch/LOCKED/Tests/05.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/06.stable.out
sql/benchmarks/tpch/LOCKED/Tests/06.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/07.stable.out
sql/benchmarks/tpch/LOCKED/Tests/07.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/08.stable.out
sql/benchmarks/tpch/LOCKED/Tests/08.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/09.stable.out
sql/benchmarks/tpch/LOCKED/Tests/09.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/10.stable.out
sql/benchmarks/tpch/LOCKED/Tests/10.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/11.stable.out
sql/benchmarks/tpch/LOCKED/Tests/11.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/12.stable.out
sql/benchmarks/tpch/LOCKED/Tests/12.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/13.stable.out
sql/benchmarks/tpch/LOCKED/Tests/14.stable.out
sql/benchmarks/tpch/LOCKED/Tests/14.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/15.stable.out
sql/benchmarks/tpch/LOCKED/Tests/15.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/16.stable.out
sql/benchmarks/tpch/LOCKED/Tests/17.stable.out
sql/benchmarks/tpch/LOCKED/Tests/17.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/18.stable.out
sql/benchmarks/tpch/LOCKED/Tests/18.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/19.stable.out
sql/benchmarks/tpch/LOCKED/Tests/19.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/20.stable.out
sql/benchmarks/tpch/LOCKED/Tests/21.stable.out
sql/benchmarks/tpch/LOCKED/Tests/21.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/22.stable.out
sql/benchmarks/tpch/LOCKED/Tests/22.stable.out.int128
sql/benchmarks/tpch/Tests/01-22.stable.out
sql/benchmarks/tpch/Tests/01-22.stable.out.int128
sql/benchmarks/tpch/Tests/01.stable.out
sql/benchmarks/tpch/Tests/01.stable.out.int128
sql/benchmarks/tpch/Tests/02.stable.out
sql/benchmarks/tpch/Tests/03.stable.out
sql/benchmarks/tpch/Tests/03.stable.out.int128
sql/benchmarks/tpch/Tests/04.stable.out
sql/benchmarks/tpch/Tests/05.stable.out
sql/benchmarks/tpch/Tests/05.stable.out.int128
sql/benchmarks/tpch/Tests/06.stable.out
sql/benchmarks/tpch/Tests/06.stable.out.int128
sql/benchmarks/tpch/Tests/07.stable.out
sql/benchmarks/tpch/Tests/07.stable.out.int128
sql/benchmarks/tpch/Tests/08.stable.out
sql/benchmarks/tpch/Tests/08.stable.out.int128
sql/benchmarks/tpch/Tests/09.stable.out
sql/benchmarks/tpch/Tests/09.stable.out.int128
sql/benchmarks/tpch/Tests/10.stable.out
sql/benchmarks/tpch/Tests/10.stable.out.int128
sql/benchmarks/tpch/Tests/11.stable.out
sql/benchmarks/tpch/Tests/11.stable.out.int128
sql/benchmarks/tpch/Tests/12.stable.out
sql/benchmarks/tpch/Tests/12.stable.out.int128
sql/benchmarks/tpch/Tests/13.stable.out
sql/benchmarks/tpch/Tests/14.stable.out
sql/benchmarks/tpch/Tests/14.stable.out.int128
sql/benchmarks/tpch/Tests/15.stable.out
sql/benchmarks/tpch/Tests/15.stable.out.int128
sql/benchmarks/tpch/Tests/16.stable.out
sql/benchmarks/tpch/Tests/17.stable.out
sql/benchmarks/tpch/Tests/17.stable.out.int128
sql/benchmarks/tpch/Tests/18.stable.out
sql/benchmarks/tpch/Tests/18.stable.out.int128
sql/benchmarks/tpch/Tests/19.stable.out
sql/benchmarks/tpch/Tests/19.stable.out.int128
sql/benchmarks/tpch/Tests/20.stable.out
sql/benchmarks/tpch/Tests/21.stable.out
sql/benchmarks/tpch/Tests/22.stable.out
sql/benchmarks/tpch/Tests/22.stable.out.int128
sql/scripts/25_debug.sql
sql/server/rel_dump.c
sql/server/rel_optimizer.c
sql/server/rel_select.c
sql/server/sql_atom.c
sql/server/sql_atom.h
sql/storage/bat/bat_logger.c
sql/storage/bat/bat_logger.h
sql/storage/bat/bat_storage.c
sql/storage/bat/bat_storage.h
sql/storage/bat/bat_table.c
sql/storage/bat/bat_table.h
sql/storage/sql_storage.h
sql/storage/store.c
sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.stable.err
sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.stable.out
sql/test/BugTracker-2012/Tests/with_in_derived_table.Bug-3043.stable.out
sql/test/BugTracker-2017/Tests/All
sql/test/Dump/Tests/dump.stable.out
sql/test/Dump/Tests/load.sql
sql/test/Dump/Tests/load.stable.out
sql/test/Tests/systemfunctions.stable.out
sql/test/Tests/systemfunctions.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.32bit
sql/test/emptydb/Tests/check.stable.out.int128
sql/test/leaks/Tests/check0.stable.out
sql/test/leaks/Tests/check0.stable.out.int128
sql/test/leaks/Tests/check1.stable.out
sql/test/leaks/Tests/check1.stable.out.int128
sql/test/leaks/Tests/check2.stable.out
sql/test/leaks/Tests/check2.stable.out.int128
sql/test/leaks/Tests/check3.stable.out
sql/test/leaks/Tests/check3.stable.out.int128
sql/test/leaks/Tests/check4.stable.out
sql/test/leaks/Tests/check4.stable.out.int128
sql/test/leaks/Tests/check5.stable.out
sql/test/leaks/Tests/check5.stable.out.int128
sql/test/leaks/Tests/select1.stable.out.int128
sql/test/leaks/Tests/select2.stable.out.int128
sql/test/leaks/Tests/temp1.stable.out
sql/test/leaks/Tests/temp1.stable.out.int128
sql/test/leaks/Tests/temp2.stable.out
sql/test/leaks/Tests/temp2.stable.out.int128
sql/test/leaks/Tests/temp3.stable.out
sql/test/leaks/Tests/temp3.stable.out.int128
sql/test/remote/Tests/ssbm.stable.out.int128
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
tools/mserver/mserver5.c
tools/mserver/shutdowntest.c
Branch: protocol
Log Message:
Merge with default.
diffs (truncated from 15544 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
@@ -7745,8 +7745,8 @@ Ready.
[ "inspect", "getSize", "pattern inspect.getSize(mod:str, fcn:str):lng
", "INSPECTgetFunctionSize;", "Return the storage size for a
function (in bytes)." ]
[ "inspect", "getSize", "pattern inspect.getSize():lng ",
"INSPECTgetSize;", "Return the storage size for the current function (in
bytes)." ]
[ "inspect", "getSource", "pattern inspect.getSource(mod:str,
fcn:str):str ", "INSPECTgetSource;", "Return the original input for a
function." ]
-[ "inspect", "getStatistics", "command
inspect.getStatistics(nme:str):bat[:any_2] ", "QOTgetStatistics;", "Get
optimizer property statistics \nsuch as #calls, #total actions, #total time"
]
[ "inspect", "getType", "pattern inspect.getType(v:any_1):str ",
"INSPECTtypeName;", "Return the concrete type of a variable (expression)."
]
+[ "inspect", "optimizer_stats", "pattern inspect.optimizer_stats()
(X_0:bat[:str], X_1:bat[:int], X_2:bat[:lng]) ", "OPTstatistics;",
"Get optimizer use statistics, i.e. calls and total time" ]
[ "io", "export", "command io.export(b:bat[:any_2],
filepath:str):void ", "IOexport;", "Export a BAT as ASCII to a file. If the
'filepath' is not absolute, it\n is put into the $DBPATH directory. Success of
failure is indicated." ]
[ "io", "import", "command io.import(b:bat[:any_2],
filepath:str):void ", "IOimport;", "Import a BAT from an ASCII dump. The
tuples are appended to the\n first argument. Its signature must match the
dump,\n else parsing errors will occur as an exception." ]
[ "io", "print", "pattern io.print(val:any_1):void ",
"IOprint_val;", "Print a MAL value." ]
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
@@ -10101,8 +10101,8 @@ Ready.
[ "inspect", "getSize", "pattern inspect.getSize(mod:str, fcn:str):lng
", "INSPECTgetFunctionSize;", "Return the storage size for a
function (in bytes)." ]
[ "inspect", "getSize", "pattern inspect.getSize():lng ",
"INSPECTgetSize;", "Return the storage size for the current function (in
bytes)." ]
[ "inspect", "getSource", "pattern inspect.getSource(mod:str,
fcn:str):str ", "INSPECTgetSource;", "Return the original input for a
function." ]
-[ "inspect", "getStatistics", "command
inspect.getStatistics(nme:str):bat[:any_2] ", "QOTgetStatistics;", "Get
optimizer property statistics \nsuch as #calls, #total actions, #total time"
]
[ "inspect", "getType", "pattern inspect.getType(v:any_1):str ",
"INSPECTtypeName;", "Return the concrete type of a variable (expression)."
]
+[ "inspect", "optimizer_stats", "pattern inspect.optimizer_stats()
(X_0:bat[:str], X_1:bat[:int], X_2:bat[:lng]) ", "OPTstatistics;",
"Get optimizer use statistics, i.e. calls and total time" ]
[ "io", "export", "command io.export(b:bat[:any_2],
filepath:str):void ", "IOexport;", "Export a BAT as ASCII to a file. If the
'filepath' is not absolute, it\n is put into the $DBPATH directory. Success of
failure is indicated." ]
[ "io", "import", "command io.import(b:bat[:any_2],
filepath:str):void ", "IOimport;", "Import a BAT from an ASCII dump. The
tuples are appended to the\n first argument. Its signature must match the
dump,\n else parsing errors will occur as an exception." ]
[ "io", "print", "pattern io.print(val:any_1):void ",
"IOprint_val;", "Print a MAL value." ]
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
@@ -152,7 +152,6 @@ BAT *BATmergecand(BAT *a, BAT *b);
void *BATmin(BAT *b, void *aggr);
gdk_return BATmode(BAT *b, int onoff);
void BATmsync(BAT *b);
-int BATname(BAT *b, const char *nme);
int BATordered(BAT *b);
int BATordered_rev(BAT *b);
gdk_return BATorderidx(BAT *b, int stable);
@@ -220,6 +219,7 @@ size_t GDKbatcopysize(BAT *bat, str coln
size_t GDKbatread(char *src, BAT **bat, str *colname);
gdk_return GDKchangesemval(int sem_id, int number, int change, str *msg);
gdk_return GDKchangesemval_timeout(int sem_id, int number, int change, int
timeout_mseconds, bool *succeed, str *msg);
+void GDKclrerr(void);
gdk_return GDKcreatedir(const char *nme);
gdk_return GDKcreatesem(int id, int count, int *semid, str *msg);
int GDKdebug;
@@ -265,7 +265,7 @@ void GDKregister(MT_Id pid);
gdk_return GDKreleasemmap(void *ptr, size_t size, size_t id, str *msg);
gdk_return GDKreleasesem(int sem_id, str *msg);
void GDKreset(int status, int exit);
-void GDKsetenv(str name, str value);
+gdk_return GDKsetenv(const char *name, const char *value);
void GDKsetmallocsuccesscount(lng count);
ssize_t GDKstrFromStr(unsigned char *dst, const unsigned char *src, ssize_t
len);
str GDKstrdup(const char *s) __attribute__((__warn_unused_result__));
@@ -409,27 +409,27 @@ const int int_nil;
int lngFromStr(const char *src, int *len, lng **dst);
int lngToStr(str *dst, int *len, const lng *src);
const lng lng_nil;
-int log_abort(logger *lg);
-int log_bat(logger *lg, BAT *b, const char *n);
-int log_bat_clear(logger *lg, const char *n);
-int log_bat_persists(logger *lg, BAT *b, const char *n);
-int log_bat_transient(logger *lg, const char *n);
-int log_delta(logger *lg, BAT *uid, BAT *uval, const char *n);
-int log_sequence(logger *lg, int seq, lng id);
-int log_tend(logger *lg);
-int log_tstart(logger *lg);
-log_bid logger_add_bat(logger *lg, BAT *b, const char *name);
+gdk_return log_abort(logger *lg);
+gdk_return log_bat(logger *lg, BAT *b, const char *n);
+gdk_return log_bat_clear(logger *lg, const char *n);
+gdk_return log_bat_persists(logger *lg, BAT *b, const char *n);
+gdk_return log_bat_transient(logger *lg, const char *n);
+gdk_return log_delta(logger *lg, BAT *uid, BAT *uval, const char *n);
+gdk_return log_sequence(logger *lg, int seq, lng id);
+gdk_return log_tend(logger *lg);
+gdk_return log_tstart(logger *lg);
+gdk_return logger_add_bat(logger *lg, BAT *b, const char *name)
__attribute__((__warn_unused_result__));
lng logger_changes(logger *lg);
-int logger_cleanup(logger *lg, int keep_persisted_log_files);
+gdk_return logger_cleanup(logger *lg, int keep_persisted_log_files);
logger *logger_create(int debug, const char *fn, const char *logdir, int
version, preversionfix_fptr prefuncp, postversionfix_fptr postfuncp, int
keep_persisted_log_files);
logger *logger_create_shared(int debug, const char *fn, const char *logdir,
const char *slave_logdir, int version, preversionfix_fptr prefuncp,
postversionfix_fptr postfuncp);
-void logger_del_bat(logger *lg, log_bid bid);
+gdk_return logger_del_bat(logger *lg, log_bid bid)
__attribute__((__warn_unused_result__));
void logger_destroy(logger *lg);
-int logger_exit(logger *lg);
+gdk_return logger_exit(logger *lg);
log_bid logger_find_bat(logger *lg, const char *name);
lng logger_read_last_transaction_id(logger *lg, char *dir, char *logger_file,
int role);
-int logger_reload(logger *lg);
-int logger_restart(logger *lg);
+gdk_return logger_reload(logger *lg);
+gdk_return logger_restart(logger *lg);
int logger_sequence(logger *lg, int seq, lng *id);
void *mdlopen(const char *library, int mode);
int mo_add_option(opt **Set, int setlen, opt_kind kind, const char *name,
const char *value);
@@ -1560,41 +1560,42 @@ str OLTPrelease(Client cntxt, MalBlkPtr
str OLTPreset(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
str OLTPtable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
void OPTaliasRemap(InstrPtr p, int *alias);
-int OPTaliasesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
-int OPTcandidatesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
-int OPTcoercionImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
-int OPTcommonTermsImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
-int OPTconstantsImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
-int OPTcostModelImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
-int OPTdataflowImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
-int OPTdeadcodeImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
-int OPTemptybindImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
-int OPTevaluateImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
-int OPTgarbageCollectorImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr
stk, InstrPtr pci);
-int OPTgeneratorImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
-int OPTinlineImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTaliasesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTcandidatesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTcoercionImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
+str OPTcommonTermsImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
+str OPTconstantsImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTcostModelImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
+str OPTdataflowImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTdeadcodeImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
+str OPTemptybindImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTevaluateImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
+str OPTgarbageCollectorImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr
stk, InstrPtr pci);
+str OPTgeneratorImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
+str OPTinlineImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
int OPTisAlias(InstrPtr p);
-int OPTjitImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
p);
-int OPTjsonImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
+str OPTjitImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
p);
+str OPTjsonImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
str OPTmacro(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
-int OPTmacroImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
p);
-int OPTmatpackImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
-int OPTmergetableImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
-int OPTmitosisImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
-int OPTmultiplexImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
+str OPTmacroImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
p);
+str OPTmatpackImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
+str OPTmergetableImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTmitosisImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTmultiplexImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
str OPTmultiplexSimple(Client cntxt, MalBlkPtr mb);
-int OPToltpImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
+str OPToltpImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
str OPTorcam(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
-int OPTorcamImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
p);
-int OPTprofilerImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
-int OPTprojectionpathImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
-int OPTpushselectImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
-int OPTquerylogImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
-int OPTreduceImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
-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);
-int OPTvolcanoImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTorcamImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
p);
+str OPTprofilerImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTprojectionpathImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTpushselectImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
+str OPTquerylogImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
+str OPTreduceImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTremapImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
+str OPTremoteQueriesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
+str OPTreorderImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTstatistics(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
+str 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);
str PCREilike3(bit *ret, const str *s, const str *pat, const str *esc);
@@ -1630,10 +1631,7 @@ str QLOGenable(void *ret);
str QLOGenableThreshold(void *ret, int *threshold);
int QLOGisset(void);
str QLOGissetFcn(int *ret);
-str QOTgetStatistics(bat *ret, str *nme);
str QOToptimize(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-void QOTstatisticsExit(void);
-void QOTupdateStatistics(str nme, int prop, lng val);
QueryQueue QRYqueue;
str RMTbatload(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
str RMTbincopyfrom(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
@@ -2095,6 +2093,8 @@ void finishSessionProfiler(Client cntxt)
str firstnRef;
Module fixModule(Module scope, str nme);
int fndConstant(MalBlkPtr mb, const ValRecord *cst, int depth);
+void fprintFunction(FILE *fd, MalBlkPtr mb, MalStkPtr stk, int flg);
+void fprintInstruction(FILE *fd, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int
flg);
void freeException(str);
void freeInstruction(InstrPtr p);
void freeMalBlk(MalBlkPtr mb);
@@ -2363,7 +2363,6 @@ int open_block_stream(Stream *S, Stream
str open_block_streamwrap(Stream *S, Stream *is);
str operatorName(int i);
str optimizeMALBlock(Client cntxt, MalBlkPtr mb);
-str optimizerCheck(Client cntxt, MalBlkPtr mb, str name, int actions, lng
usec);
int optimizerIsApplied(MalBlkPtr mb, str name);
str optimizerRef;
str optimizer_prelude(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
diff --git a/clients/mapiclient/eventparser.c b/clients/mapiclient/eventparser.c
--- a/clients/mapiclient/eventparser.c
+++ b/clients/mapiclient/eventparser.c
@@ -27,6 +27,8 @@ extern char *strptime(const char *, cons
#include "strptime.c"
#endif
+#define DATETIME_CHAR_LENGTH 27
+
static void
clearArguments(void)
{
@@ -112,6 +114,8 @@ resetEventRecord(EventRecord *ev)
if( ev->stmt) free(ev->stmt);
if( ev->fcn) free(ev->fcn);
if( ev->numa) free(ev->numa);
+ if(ev->beauty) free(ev->beauty);
+ if(ev->prereq) free(ev->prereq);
memset( (char*) ev, 0, sizeof(EventRecord));
ev->eventnr = -1;
clearArguments();
@@ -173,9 +177,7 @@ int
keyvalueparser(char *txt, EventRecord *ev)
{
char *c, *s, *key, *val;
- struct tm stm;
-
- c= txt;
+ c = txt;
if( strstr(c,"\"argument\":") || strstr(c,"\"result\":"))
return parseArgument(txt,ev);
@@ -205,20 +207,35 @@ keyvalueparser(char *txt, EventRecord *e
} else val =c;
if( strstr(key,"clk")){
- ev->clk = atol(val);
+ ev->clk = atol(val);
return 0;
}
if( strstr(key,"ctime")){
- /* convert time to epoch in seconds*/
- ev->time= strdup(val);
- memset(&stm, 0, sizeof(struct tm));
- c = strptime(val + 1, "%H:%M:%S", &stm);
- ev->clkticks = (((lng) stm.tm_hour * 60 + stm.tm_min) * 60 +
stm.tm_sec) * 1000000;
- c= strchr(val,'.');
+ time_t sec;
+ struct tm curr_time;
+
+ c = strchr(val,'.');
+ if (c != NULL) {
+ *c = '\0';
+ c++;
+ }
+
+ sec = atol(val);
+#ifdef HAVE_LOCALTIME_R
+ (void)localtime_r(&sec, &curr_time);
+#else
+ curr_time = *localtime(&sec);
+#endif
+ ev->time = malloc(DATETIME_CHAR_LENGTH*sizeof(char));
+ snprintf(ev->time, DATETIME_CHAR_LENGTH, "%d/%02d/%02d
%02d:%02d:%02d.%s",
+ curr_time.tm_year + 1900, curr_time.tm_mon,
curr_time.tm_mday,
+ curr_time.tm_hour, curr_time.tm_min,
curr_time.tm_sec,
+ c);
+ ev->clkticks = sec * 1000000;
if (c != NULL) {
lng usec;
/* microseconds */
- usec = strtoll(c + 1, NULL, 10);
+ usec = strtoll(c, NULL, 10);
assert(usec >= 0 && usec < 1000000);
ev->clkticks += usec;
}
diff --git a/clients/mapiclient/eventparser.h b/clients/mapiclient/eventparser.h
--- a/clients/mapiclient/eventparser.h
+++ b/clients/mapiclient/eventparser.h
@@ -29,15 +29,11 @@
#include <signal.h>
#include <unistd.h>
-#ifdef TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# ifdef HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#ifdef HAVE_TIME_H
+#include <time.h>
#endif
#define TME_US 1
diff --git a/gdk/gdk.h b/gdk/gdk.h
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list