Changeset: cc3c75c9311a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cc3c75c9311a Added Files: documentation/source/json.rst sql/ChangeLog.linear-hashing sql/test/VOC/VOCcreate_user.sql sql/test/VOC/VOCdrop.sql sql/test/VOC/VOCdrop_user.sql sql/test/VOC/VOCinsert.sql sql/test/VOC/VOCmanual_examples.sql sql/test/VOC/VOCquery.sql Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out debian/control documentation/source/index.rst documentation/source/manual_pages/mclient.rst documentation/source/manual_pages/monetdb.rst documentation/source/manual_pages/monetdbd.rst.in documentation/source/manual_pages/mserver5.rst.in documentation/source/manual_pages/msqldump.rst gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_align.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_cand.c gdk/gdk_delta.c gdk/gdk_delta.h gdk/gdk_group.c gdk/gdk_hash.c gdk/gdk_heap.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_orderidx.c gdk/gdk_posix.c gdk/gdk_private.h gdk/gdk_project.c gdk/gdk_sample.c gdk/gdk_select.c gdk/gdk_storage.c gdk/gdk_system.c gdk/gdk_system.h gdk/gdk_tm.c gdk/gdk_tracer.c gdk/gdk_tracer.h gdk/gdk_unique.c gdk/gdk_utils.c gdk/gdk_utils.h geom/sql/functions/Tests/ST_IsSimple.stable.out monetdb5/mal/mal.c monetdb5/mal/mal.h monetdb5/mal/mal_atom.c monetdb5/mal/mal_client.c monetdb5/mal/mal_client.h monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_exception.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_linker.c monetdb5/mal/mal_namespace.c monetdb5/mal/mal_private.h monetdb5/mal/mal_profiler.c monetdb5/mal/mal_resolve.c monetdb5/modules/atoms/Tests/json15.malC monetdb5/modules/atoms/Tests/json15.stable.out monetdb5/modules/atoms/inet.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/json.h monetdb5/modules/kernel/alarm.c monetdb5/modules/kernel/alarm.mal monetdb5/modules/kernel/mmath.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/clients.h monetdb5/modules/mal/clients.mal monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/manifold.c monetdb5/modules/mal/mdb.c monetdb5/modules/mal/oltp.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/tracer.c monetdb5/modules/mal/tracer.h monetdb5/modules/mal/tracer.mal monetdb5/modules/mal/txtsim.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_result.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statistics.c sql/backends/monet5/sql_upgrades.c sql/backends/monet5/sql_user.c sql/backends/monet5/wlr.c sql/benchmarks/nobench/Tests/nobench.sql sql/benchmarks/nobench/Tests/nobench.stable.out sql/common/sql_types.c sql/include/sql_catalog.h sql/jdbc/tests/Tests/Test_PSsomeamount.timeout sql/rel.txt sql/scripts/22_clients.sql sql/scripts/25_debug.sql sql/scripts/26_sysmon.sql sql/scripts/81_tracer.sql sql/server/rel_dump.c sql/server/rel_optimizer.c sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_sequence.c sql/server/rel_updates.c sql/server/sql_atom.c sql/server/sql_mvc.c sql/server/sql_privileges.c sql/server/sql_semantic.c sql/server/sql_symbol.c sql/server/sql_tokens.h sql/storage/bat/bat_table.c sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out.Windows sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out sql/test/BugTracker-2010/Tests/TypeException_with_missing_function.Bug-2674.stable.err sql/test/BugTracker-2012/Tests/create_function.Bug-3172.stable.err sql/test/BugTracker-2012/Tests/table_function_with_column_subselects.Bug-3172.stable.err sql/test/BugTracker-2012/Tests/table_returning_func_returns_too_many_columns.Bug-3077.stable.err sql/test/BugTracker-2013/Tests/psm_functions_and_accessrights.Bug-3300.stable.err sql/test/BugTracker-2016/Tests/invalidcolumns.Bug-3968.stable.err sql/test/BugTracker-2017/Tests/udf_crash_subquery_scalar_paramters.Bug-6399.stable.err sql/test/BugTracker-2018/Tests/crash-after-call-non-existing-loader.stable.err sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out.single sql/test/BugTracker-2019/Tests/json-text-empty-separator.Bug-6798.stable.err sql/test/BugTracker-2019/Tests/json-text-empty-separator.Bug-6798.stable.out sql/test/BugTracker/Tests/ambiguous_join.SF-1580565.stable.err sql/test/Tests/drop-function-if-exists.stable.err sql/test/Tests/ifexists-views.sql sql/test/Users/Tests/sessioncontrol.stable.err sql/test/VOC/Tests/VOC.SQL.py sql/test/VOC/Tests/VOC.stable.out sql/test/VOC/Tests/double_is_null.Bug-3116.sql sql/test/VOC/Tests/double_is_null.Bug-3116.stable.out sql/test/VOC/Tests/median.Bug-3096.sql sql/test/VOC/Tests/median.Bug-3096.stable.out sql/test/VOC/VOCschema.sql sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.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.32bit 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/json/Tests/All sql/test/json/Tests/books.stable.out sql/test/json/Tests/bulkjson.stable.out sql/test/json/Tests/bulklength.stable.out sql/test/json/Tests/bulkvalid.stable.out sql/test/json/Tests/coercions.stable.out sql/test/json/Tests/components.stable.out sql/test/json/Tests/jsonvalidity.Bug-3753.sql sql/test/json/Tests/jsonvalidity.Bug-3753.stable.out sql/test/json/Tests/load.stable.out sql/test/json/Tests/parsing.stable.err sql/test/json/Tests/pathexpr.stable.out sql/test/json/Tests/pgexample.stable.out sql/test/json/Tests/shop.stable.out sql/test/json/Tests/spaceissue.stable.out sql/test/merge-partitions/Tests/mergepart28.stable.err sql/test/miscellaneous/Tests/groupby_error.sql sql/test/miscellaneous/Tests/groupby_error.stable.err sql/test/miscellaneous/Tests/groupby_error.stable.out sql/test/miscellaneous/Tests/simple_selects.sql sql/test/miscellaneous/Tests/simple_selects.stable.err sql/test/miscellaneous/Tests/simple_selects.stable.out sql/test/subquery/Tests/subquery3.sql sql/test/subquery/Tests/subquery3.stable.err sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.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.32bit 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.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 sql/test/testdb/Tests/dump-nogeom.stable.out testing/Mtest.py.in testing/listexports.py.in tools/mserver/mserver5.1.in Branch: timezone Log Message:
Merge with default branch. diffs (truncated from 74939 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 @@ -565,9 +565,9 @@ stdout of test 'MAL-signatures` in direc [ "aggr", "variancep", "command aggr.variancep(b:bat[:any_2]):dbl ", "ALGvariancep;", "Gives the variance of all tail values" ] [ "alarm", "ctime", "unsafe command alarm.ctime():str ", "ALARMctime;", "Return the current time as a C-time string." ] [ "alarm", "epoch", "unsafe command alarm.epoch():int ", "ALARMepoch;", "Return time since Jan 1, 1970 in seconds." ] -[ "alarm", "sleep", "unsafe pattern alarm.sleep(msecs:bat[:int]):bat[:int] ", "ALARMsleep;", "Sleep a few milliseconds and return the slept value" ] -[ "alarm", "sleep", "unsafe pattern alarm.sleep(msecs:int):int ", "ALARMsleep;", "Sleep a few milliseconds and return the slept value" ] -[ "alarm", "sleep", "unsafe pattern alarm.sleep(msecs:int):void ", "ALARMsleep;", "Sleep a few milliseconds" ] +[ "alarm", "sleep", "unsafe pattern alarm.sleep(msecs:any_1):any_1 ", "ALARMsleep;", "Sleep a few milliseconds and return the slept value" ] +[ "alarm", "sleep", "unsafe pattern alarm.sleep(msecs:any_1):void ", "ALARMsleep;", "Sleep a few milliseconds" ] +[ "alarm", "sleep", "unsafe pattern alarm.sleep(msecs:bat[:any_1]):bat[:any_1] ", "ALARMsleep;", "Sleep a few milliseconds and return the slept value" ] [ "alarm", "time", "unsafe command alarm.time():int ", "ALARMtime;", "Return time since program start in milliseconds." ] [ "alarm", "usec", "unsafe command alarm.usec():lng ", "ALARMusec;", "Return time since Jan 1, 1970 in microseconds." ] [ "algebra", "antijoin", "function algebra.antijoin(l:bat[:any_1], r:bat[:any_1], sl:bat[:oid], sr:bat[:oid], nil_matches:bit, estimate:lng) (X_0:bat[:oid], X_1:bat[:oid]);", "", "" ] @@ -10466,7 +10466,7 @@ stdout of test 'MAL-signatures` in direc [ "clients", "stopsession", "pattern clients.stopsession(sid:int):void ", "CLTstopSession;", "Stop a particular session" ] [ "clients", "stopsession", "pattern clients.stopsession(sid:sht):void ", "CLTstopSession;", "" ] [ "clients", "suspend", "pattern clients.suspend(id:int):void ", "CLTsuspend;", "Put a client process to sleep for some time.\nIt will simple sleep for a second at a time, until\nthe awake bit has been set in its descriptor" ] -[ "clients", "wakeup", "command clients.wakeup(id:int):void ", "CLTwakeup;", "Wakeup a client process" ] +[ "clients", "wakeup", "pattern clients.wakeup(id:int):void ", "CLTwakeup;", "Wakeup a client process" ] [ "color", "#fromstr", "command color.#fromstr():void ", "color_fromstr;", "" ] [ "color", "#tostr", "command color.#tostr():void ", "color_tostr;", "" ] [ "color", "blue", "command color.blue(c:color):int ", "CLRblue;", "Extracts blue component from a color atom" ] @@ -10895,13 +10895,13 @@ stdout of test 'MAL-signatures` in direc [ "logging", "compinfo", "pattern logging.compinfo() (id:bat[:int], component:bat[:str], log_level:bat[:str]) ", "TRACERcomp_info;", "Returns in the form of a SQL result-set all the components along with their ID\nand the their current logging level being set" ] [ "logging", "flush", "command logging.flush():void ", "TRACERflush_buffer;", "Flush the buffer" ] [ "logging", "resetadapter", "command logging.resetadapter():void ", "TRACERreset_adapter;", "Resets the adapter back to the default" ] -[ "logging", "resetcomplevel", "command logging.resetcomplevel(comp:int):void ", "TRACERreset_component_level;", "Resets the log level for a specific component back to the default" ] +[ "logging", "resetcomplevel", "command logging.resetcomplevel(comp:str):void ", "TRACERreset_component_level;", "Resets the log level for a specific component back to the default" ] [ "logging", "resetflushlevel", "command logging.resetflushlevel():void ", "TRACERreset_flush_level;", "Resets the flush level back to the default" ] -[ "logging", "resetlayerlevel", "command logging.resetlayerlevel(layer:int):void ", "TRACERreset_layer_level;", "Resets the log level for a specific layer back to the default" ] -[ "logging", "setadapter", "command logging.setadapter(adapter:int):void ", "TRACERset_adapter;", "Sets the adapter" ] -[ "logging", "setcomplevel", "command logging.setcomplevel(comp:int, lvl:int):void ", "TRACERset_component_level;", "Sets the log level for a specific component" ] -[ "logging", "setflushlevel", "command logging.setflushlevel(lvl:int):void ", "TRACERset_flush_level;", "Sets the flush level" ] -[ "logging", "setlayerlevel", "command logging.setlayerlevel(layer:int, lvl:int):void ", "TRACERset_layer_level;", "Sets the log level for a specific layer" ] +[ "logging", "resetlayerlevel", "command logging.resetlayerlevel(layer:str):void ", "TRACERreset_layer_level;", "Resets the log level for a specific layer back to the default" ] +[ "logging", "setadapter", "command logging.setadapter(adapter:str):void ", "TRACERset_adapter;", "Sets the adapter" ] +[ "logging", "setcomplevel", "command logging.setcomplevel(comp:str, lvl:str):void ", "TRACERset_component_level;", "Sets the log level for a specific component" ] +[ "logging", "setflushlevel", "command logging.setflushlevel(lvl:str):void ", "TRACERset_flush_level;", "Sets the flush level" ] +[ "logging", "setlayerlevel", "command logging.setlayerlevel(layer:str, lvl:str):void ", "TRACERset_layer_level;", "Sets the log level for a specific layer" ] [ "mal", "manifold", "pattern mal.manifold(mod:str, fcn:str, a:any...):bat[:any] ", "MANIFOLDevaluate;", "" ] [ "mal", "multiplex", "pattern mal.multiplex(mod:str, fcn:str, a:any...):any... ", "MANIFOLDremapMultiplex;", "" ] [ "manual", "functions", "pattern manual.functions() (mod:bat[:str], fcn:bat[:str], sig:bat[:str], adr:bat[:str], com:bat[:str]) ", "MANUALcreateOverview;", "Produces a table with all MAL functions known" ] 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 @@ -674,9 +674,9 @@ stdout of test 'MAL-signatures` in direc [ "aggr", "variancep", "command aggr.variancep(b:bat[:any_2]):dbl ", "ALGvariancep;", "Gives the variance of all tail values" ] [ "alarm", "ctime", "unsafe command alarm.ctime():str ", "ALARMctime;", "Return the current time as a C-time string." ] [ "alarm", "epoch", "unsafe command alarm.epoch():int ", "ALARMepoch;", "Return time since Jan 1, 1970 in seconds." ] -[ "alarm", "sleep", "unsafe pattern alarm.sleep(msecs:bat[:int]):bat[:int] ", "ALARMsleep;", "Sleep a few milliseconds and return the slept value" ] -[ "alarm", "sleep", "unsafe pattern alarm.sleep(msecs:int):int ", "ALARMsleep;", "Sleep a few milliseconds and return the slept value" ] -[ "alarm", "sleep", "unsafe pattern alarm.sleep(msecs:int):void ", "ALARMsleep;", "Sleep a few milliseconds" ] +[ "alarm", "sleep", "unsafe pattern alarm.sleep(msecs:any_1):any_1 ", "ALARMsleep;", "Sleep a few milliseconds and return the slept value" ] +[ "alarm", "sleep", "unsafe pattern alarm.sleep(msecs:any_1):void ", "ALARMsleep;", "Sleep a few milliseconds" ] +[ "alarm", "sleep", "unsafe pattern alarm.sleep(msecs:bat[:any_1]):bat[:any_1] ", "ALARMsleep;", "Sleep a few milliseconds and return the slept value" ] [ "alarm", "time", "unsafe command alarm.time():int ", "ALARMtime;", "Return time since program start in milliseconds." ] [ "alarm", "usec", "unsafe command alarm.usec():lng ", "ALARMusec;", "Return time since Jan 1, 1970 in microseconds." ] [ "algebra", "antijoin", "function algebra.antijoin(l:bat[:any_1], r:bat[:any_1], sl:bat[:oid], sr:bat[:oid], nil_matches:bit, estimate:lng) (X_0:bat[:oid], X_1:bat[:oid]);", "", "" ] @@ -14872,7 +14872,7 @@ stdout of test 'MAL-signatures` in direc [ "clients", "stopsession", "pattern clients.stopsession(sid:int):void ", "CLTstopSession;", "Stop a particular session" ] [ "clients", "stopsession", "pattern clients.stopsession(sid:sht):void ", "CLTstopSession;", "" ] [ "clients", "suspend", "pattern clients.suspend(id:int):void ", "CLTsuspend;", "Put a client process to sleep for some time.\nIt will simple sleep for a second at a time, until\nthe awake bit has been set in its descriptor" ] -[ "clients", "wakeup", "command clients.wakeup(id:int):void ", "CLTwakeup;", "Wakeup a client process" ] +[ "clients", "wakeup", "pattern clients.wakeup(id:int):void ", "CLTwakeup;", "Wakeup a client process" ] [ "color", "#fromstr", "command color.#fromstr():void ", "color_fromstr;", "" ] [ "color", "#tostr", "command color.#tostr():void ", "color_tostr;", "" ] [ "color", "blue", "command color.blue(c:color):int ", "CLRblue;", "Extracts blue component from a color atom" ] @@ -15315,13 +15315,13 @@ stdout of test 'MAL-signatures` in direc [ "logging", "compinfo", "pattern logging.compinfo() (id:bat[:int], component:bat[:str], log_level:bat[:str]) ", "TRACERcomp_info;", "Returns in the form of a SQL result-set all the components along with their ID\nand the their current logging level being set" ] [ "logging", "flush", "command logging.flush():void ", "TRACERflush_buffer;", "Flush the buffer" ] [ "logging", "resetadapter", "command logging.resetadapter():void ", "TRACERreset_adapter;", "Resets the adapter back to the default" ] -[ "logging", "resetcomplevel", "command logging.resetcomplevel(comp:int):void ", "TRACERreset_component_level;", "Resets the log level for a specific component back to the default" ] +[ "logging", "resetcomplevel", "command logging.resetcomplevel(comp:str):void ", "TRACERreset_component_level;", "Resets the log level for a specific component back to the default" ] [ "logging", "resetflushlevel", "command logging.resetflushlevel():void ", "TRACERreset_flush_level;", "Resets the flush level back to the default" ] -[ "logging", "resetlayerlevel", "command logging.resetlayerlevel(layer:int):void ", "TRACERreset_layer_level;", "Resets the log level for a specific layer back to the default" ] -[ "logging", "setadapter", "command logging.setadapter(adapter:int):void ", "TRACERset_adapter;", "Sets the adapter" ] -[ "logging", "setcomplevel", "command logging.setcomplevel(comp:int, lvl:int):void ", "TRACERset_component_level;", "Sets the log level for a specific component" ] -[ "logging", "setflushlevel", "command logging.setflushlevel(lvl:int):void ", "TRACERset_flush_level;", "Sets the flush level" ] -[ "logging", "setlayerlevel", "command logging.setlayerlevel(layer:int, lvl:int):void ", "TRACERset_layer_level;", "Sets the log level for a specific layer" ] +[ "logging", "resetlayerlevel", "command logging.resetlayerlevel(layer:str):void ", "TRACERreset_layer_level;", "Resets the log level for a specific layer back to the default" ] +[ "logging", "setadapter", "command logging.setadapter(adapter:str):void ", "TRACERset_adapter;", "Sets the adapter" ] +[ "logging", "setcomplevel", "command logging.setcomplevel(comp:str, lvl:str):void ", "TRACERset_component_level;", "Sets the log level for a specific component" ] +[ "logging", "setflushlevel", "command logging.setflushlevel(lvl:str):void ", "TRACERset_flush_level;", "Sets the flush level" ] +[ "logging", "setlayerlevel", "command logging.setlayerlevel(layer:str, lvl:str):void ", "TRACERset_layer_level;", "Sets the log level for a specific layer" ] [ "mal", "manifold", "pattern mal.manifold(mod:str, fcn:str, a:any...):bat[:any] ", "MANIFOLDevaluate;", "" ] [ "mal", "multiplex", "pattern mal.multiplex(mod:str, fcn:str, a:any...):any... ", "MANIFOLDremapMultiplex;", "" ] [ "manual", "functions", "pattern manual.functions() (mod:bat[:str], fcn:bat[:str], sig:bat[:str], adr:bat[:str], com:bat[:str]) ", "MANUALcreateOverview;", "Produces a table with all MAL functions known" ] 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 @@ -217,6 +217,7 @@ BUN BUNfnd(BAT *b, const void *right); gdk_return BUNinplace(BAT *b, BUN p, const void *right, bool force) __attribute__((__warn_unused_result__)); BAT *COLcopy(BAT *b, int tt, bool writable, role_t role); BAT *COLnew(oid hseq, int tltype, BUN capacity, role_t role) __attribute__((__warn_unused_result__)); +const char *COMPONENT_STR[]; size_t GDK_mem_maxsize; size_t GDK_vm_maxsize; gdk_return GDKanalytical_correlation(BAT *r, BAT *b1, BAT *b2, BAT *s, BAT *e, int tpe); @@ -303,16 +304,16 @@ void GDKsyserror(_In_z_ _Printf_format_s gdk_return GDKtracer_fill_comp_info(BAT *id, BAT *component, BAT *log_level); gdk_return GDKtracer_flush_buffer(void); char *GDKtracer_get_timestamp(const char *fmt, char *buf, size_t sz); -gdk_return GDKtracer_log(LOG_LEVEL level, const char *fmt, ...) __attribute__((format(printf, 2, 3))); +gdk_return GDKtracer_log(LOG_LEVEL level, const char *fmt, ...) __attribute__((__format__(__printf__, 2, 3))); void GDKtracer_reinit_basic(int sig); gdk_return GDKtracer_reset_adapter(void); -gdk_return GDKtracer_reset_component_level(int comp); +gdk_return GDKtracer_reset_component_level(const char *comp); gdk_return GDKtracer_reset_flush_level(void); -gdk_return GDKtracer_reset_layer_level(int layer); -gdk_return GDKtracer_set_adapter(int adapter); -gdk_return GDKtracer_set_component_level(int comp, int lvl); -gdk_return GDKtracer_set_flush_level(int lvl); -gdk_return GDKtracer_set_layer_level(int layer, int lvl); +gdk_return GDKtracer_reset_layer_level(const char *layer); +gdk_return GDKtracer_set_adapter(const char *adapter); +gdk_return GDKtracer_set_component_level(const char *comp, const char *lvl); +gdk_return GDKtracer_set_flush_level(const char *lvl); +gdk_return GDKtracer_set_layer_level(const char *layer, const char *lvl); gdk_return GDKtracer_stop(void); size_t GDKuniqueid(size_t offset); gdk_return GDKupgradevarheap(BAT *b, var_t v, bool copyall, bool mayshare) __attribute__((__warn_unused_result__)); @@ -333,6 +334,7 @@ size_t HEAPmemsize(Heap *h); size_t HEAPvmsize(Heap *h); void IMPSdestroy(BAT *b); lng IMPSimprintsize(BAT *b); +const char *LEVEL_STR[]; LOG_LEVEL LVL_PER_COMPONENT[]; int MT_check_nr_cores(void); int MT_create_thread(MT_Id *t, void (*function)(void *), void *arg, enum MT_thr_detach d, const char *threadname); @@ -863,7 +865,6 @@ str AUTHgetUsername(str *ret, Client c); str AUTHgetUsers(BAT **ret1, BAT **ret2, Client c); str AUTHinitTables(const char *passwd); str AUTHremoveUser(Client c, const char *username); -void AUTHreset(void) __attribute__((__visibility__("hidden"))); str AUTHresolveUser(str *ret, oid uid); str AUTHsetPassword(Client c, const char *username, const char *passwd); str AUTHunlockVault(const char *password); @@ -1030,7 +1031,7 @@ str CLTshutdown(Client cntxt, MalBlkPtr str CLTstop(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTstopSession(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTsuspend(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); -str CLTwakeup(void *ret, int *id); +str CLTwakeup(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CMDBATimprints(void *ret, bat *bid); str CMDBATimprintsize(lng *ret, bat *bid); str CMDBATnew(Client cntxt, MalBlkPtr m, MalStkPtr s, InstrPtr p); @@ -1534,11 +1535,8 @@ str MCawakeClient(int id); void MCcloseClient(Client c); Client MCforkClient(Client father); Client MCgetClient(int id); -bool MCinit(void); Client MCinitClient(oid user, bstream *fin, stream *fout); -int MCinitClientThread(Client c); int MCpushClientInput(Client c, bstream *new_input, int listing, char *prompt); -int MCshutdowninprogress(void); void MCstopClients(Client c); str MCsuspendClient(int id); int MCvalid(Client c); @@ -1751,8 +1749,6 @@ str PCREreplace_wrap(str *res, const str str PCREreplacefirst_bat_wrap(bat *res, const bat *or, const str *pat, const str *repl, const str *flags); str PCREreplacefirst_wrap(str *res, const str *or, const str *pat, const str *repl, const str *flags); str PCREsql2pcre(str *ret, const str *pat, const str *esc); -str PROFexitClient(Client c); -str PROFinitClient(Client c); str QLOGappend(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str QLOGcall(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str QLOGcalls(BAT **r); @@ -1956,13 +1952,13 @@ str TKNZRtakeOid(Client cntxt, MalBlkPtr str TRACERcomp_info(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str TRACERflush_buffer(void *ret); str TRACERreset_adapter(void *ret); -str TRACERreset_component_level(void *ret, int *comp_id); +str TRACERreset_component_level(void *ret, str *comp_id); str TRACERreset_flush_level(void *ret); -str TRACERreset_layer_level(void *ret, int *layer_id); -str TRACERset_adapter(void *ret, int *adapter_id); -str TRACERset_component_level(void *ret, int *comp_id, int *lvl_id); -str TRACERset_flush_level(void *ret, int *lvl_id); -str TRACERset_layer_level(void *ret, int *layer_id, int *lvl_id); +str TRACERreset_layer_level(void *ret, str *layer_id); +str TRACERset_adapter(void *ret, str *adapter_id); +str TRACERset_component_level(void *ret, str *comp_id, str *lvl_id); +str TRACERset_flush_level(void *ret, str *lvl_id); +str TRACERset_layer_level(void *ret, str *layer_id, str *lvl_id); int TRACEtable(Client cntxt, BAT **r); str TRNglobal_abort(bit *ret); str TRNglobal_commit(bit *ret); @@ -2393,25 +2389,17 @@ char *malLibraryHowToEnable(str name); int malProfileMode; str malRef; void mal_atom_reset(void); -void mal_client_reset(void) __attribute__((__visibility__("hidden"))); ClientRec *mal_clients; MT_Lock mal_contextLock; MT_Lock mal_copyLock; -void mal_dataflow_reset(void) __attribute__((__visibility__("hidden"))); MT_Lock mal_delayLock; _Noreturn void mal_exit(int status); -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"))); MT_Lock mal_oltpLock; MT_Lock mal_profileLock; str mal_quote(const char *msg, size_t size); MT_Lock mal_remoteLock; -void mal_resource_reset(void) __attribute__((__visibility__("hidden"))); -void mal_runtime_reset(void) __attribute__((__visibility__("hidden"))); void mal_unquote(char *msg); stream *maleventstream; str manifoldRef; diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -252,7 +252,7 @@ Description: MonetDB5 128 bit integer (h Package: monetdb-python3 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - monetdb5-sql (= ${source:Version}) + monetdb5-sql (= ${source:Version}), python3-numpy Description: Integration of MonetDB and Python, allowing use of Python from within SQL MonetDB is a database management system that is developed from a main-memory perspective with use of a fully decomposed storage model, @@ -269,7 +269,7 @@ Description: Integration of MonetDB and Package: monetdb-r Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - monetdb5-sql (= ${source:Version}) + monetdb5-sql (= ${source:Version}), r-base-core Description: Integration of MonetDB and R, allowing use of R from within SQL MonetDB is a database management system that is developed from a main-memory perspective with use of a fully decomposed storage model, diff --git a/documentation/source/index.rst b/documentation/source/index.rst --- a/documentation/source/index.rst +++ b/documentation/source/index.rst @@ -11,6 +11,7 @@ Welcome to MonetDB's documentation! :caption: Contents: input + json clients manual_pages diff --git a/documentation/source/json.rst b/documentation/source/json.rst new file mode 100644 --- /dev/null +++ b/documentation/source/json.rst @@ -0,0 +1,27 @@ +*************************** +Support for JSON in MonetDB +*************************** + +MonetDB supports columns having the JSON type. + +Usage +===== + +The JSON type is implemented as a subtype of ``VARCHAR``, that is guarranteed to +only contain valid JSON strings. For example + +.. code:: sql + + CREATE TABLE json_example (c1 JSON NOT NULL); + INSERT INTO json_example VALUES ('{"k1": 1, "k2": "foo", "k3": [1,2,3]}'); + +MonetDB provides an implementation of `JSONpath`_ as the means to interact with +JSON data. + +.. _JSONpath: https://goessner.net/articles/JsonPath/ + +============================ ========================================================= +``json.filter(J, Pathexpr)`` Extracts the component from ``J`` that satisfied the Pathexpr +``json.filter(J, Number)`` Extracts an indexed component from ``J`` +``json.text()`` +============================ ========================================================= diff --git a/documentation/source/manual_pages/mclient.rst b/documentation/source/manual_pages/mclient.rst --- a/documentation/source/manual_pages/mclient.rst +++ b/documentation/source/manual_pages/mclient.rst @@ -1,3 +1,7 @@ +======= +MCLIENT +======= + NAME ==== @@ -32,17 +36,16 @@ the **--interactive** (**-i**) option is lines starting with **\\** (backslash) specially. See the section BACKSLASH COMMANDS below. -Before *mclient* starts parsing command line options, it reads a -*.monetdb* file. If the environment variable **DOTMONETDBFILE** is set, -it reads the file pointed to by that variable instead. When unset, -*mclient* searches for a *.monetdb* file in the current working _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list