Changeset: 400cb105fa55 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=400cb105fa55
Added Files:
sql/test/BugTracker-2019/Tests/All
sql/test/BugTracker-2019/Tests/copy-into-from-stdin-empty-line.Bug-6669.sql
sql/test/BugTracker-2019/Tests/copy-into-from-stdin-empty-line.Bug-6669.stable.err
sql/test/BugTracker-2019/Tests/copy-into-from-stdin-empty-line.Bug-6669.stable.out
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err
sql/test/BugTracker-2019/Tests/subselect-contradiction.Bug-6683.sql
sql/test/BugTracker-2019/Tests/subselect-contradiction.Bug-6683.stable.err
sql/test/BugTracker-2019/Tests/subselect-contradiction.Bug-6683.stable.out
sql/test/in-value-list/Tests/All
sql/test/in-value-list/Tests/various-in-value-list-queries.sql
sql/test/in-value-list/Tests/various-in-value-list-queries.stable.err
sql/test/in-value-list/Tests/various-in-value-list-queries.stable.out
Removed Files:
sql/backends/monet5/prog.c
Modified Files:
ChangeLog
MonetDB.spec
NT/rules.msc
buildtools/selinux/monetdb.te
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
clients/mapiclient/ReadlineTools.c
clients/mapiclient/dotmonetdb.c
clients/mapiclient/dump.c
clients/mapiclient/mclient.1
clients/mapiclient/mclient.c
clients/mapiclient/mhelp.c
clients/mapiclient/msqldump.c
clients/mapiclient/msqldump.h
clients/mapilib/mapi.c
clients/odbc/driver/ODBCUtil.h
clients/odbc/driver/SQLColumnPrivileges.c
clients/odbc/driver/SQLColumns.c
clients/odbc/driver/SQLConnect.c
clients/odbc/driver/SQLForeignKeys.c
clients/odbc/driver/SQLPrimaryKeys.c
clients/odbc/driver/SQLProcedureColumns.c
clients/odbc/driver/SQLProcedures.c
clients/odbc/driver/SQLSpecialColumns.c
clients/odbc/driver/SQLStatistics.c
clients/odbc/driver/SQLTablePrivileges.c
clients/odbc/driver/SQLTables.c
common/options/monet_options.c
common/stream/stream.c
common/utils/Makefile.ag
common/utils/mcrypt.c
configure.ag
gdk/ChangeLog
gdk/ChangeLog.Apr2019
gdk/Makefile.ag
gdk/gdk.h
gdk/gdk_aggr.c
gdk/gdk_align.c
gdk/gdk_atomic.h
gdk/gdk_atoms.c
gdk/gdk_atoms.h
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_bbp.c
gdk/gdk_bbp.h
gdk/gdk_calc.c
gdk/gdk_calc_private.h
gdk/gdk_delta.c
gdk/gdk_firstn.c
gdk/gdk_group.c
gdk/gdk_hash.c
gdk/gdk_hash.h
gdk/gdk_heap.c
gdk/gdk_imprints.c
gdk/gdk_join.c
gdk/gdk_logger.c
gdk/gdk_logger.h
gdk/gdk_orderidx.c
gdk/gdk_posix.c
gdk/gdk_private.h
gdk/gdk_qsort.c
gdk/gdk_qsort_impl.h
gdk/gdk_select.c
gdk/gdk_storage.c
gdk/gdk_system.c
gdk/gdk_system.h
gdk/gdk_system_private.h
gdk/gdk_tm.c
gdk/gdk_utils.c
gdk/gdk_utils.h
gdk/gdk_value.c
geom/monetdb5/geom.c
geom/monetdb5/geom.h
monetdb5/ChangeLog.Apr2019
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
monetdb5/extras/rapi/converters.c.h
monetdb5/extras/rapi/rapi.c
monetdb5/mal/mal.c
monetdb5/mal/mal.h
monetdb5/mal/mal_atom.c
monetdb5/mal/mal_authorize.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_import.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_instruction.h
monetdb5/mal/mal_interpreter.c
monetdb5/mal/mal_linker.c
monetdb5/mal/mal_listing.c
monetdb5/mal/mal_namespace.c
monetdb5/mal/mal_parser.c
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_session.c
monetdb5/modules/atoms/Makefile.ag
monetdb5/modules/atoms/batxml.c
monetdb5/modules/atoms/blob.c
monetdb5/modules/atoms/blob.h
monetdb5/modules/atoms/color.c
monetdb5/modules/atoms/color.h
monetdb5/modules/atoms/identifier.c
monetdb5/modules/atoms/inet.c
monetdb5/modules/atoms/json.c
monetdb5/modules/atoms/json.h
monetdb5/modules/atoms/mtime.c
monetdb5/modules/atoms/mtime.h
monetdb5/modules/atoms/url.c
monetdb5/modules/atoms/url.h
monetdb5/modules/atoms/uuid.c
monetdb5/modules/atoms/xml.c
monetdb5/modules/atoms/xml.h
monetdb5/modules/kernel/Tests/status.malC
monetdb5/modules/kernel/aggr.c
monetdb5/modules/kernel/alarm.c
monetdb5/modules/kernel/alarm.mal
monetdb5/modules/kernel/algebra.c
monetdb5/modules/kernel/algebra.mal
monetdb5/modules/kernel/bat5.c
monetdb5/modules/kernel/batstr.c
monetdb5/modules/kernel/status.c
monetdb5/modules/kernel/status.mal
monetdb5/modules/mal/batcalc.c
monetdb5/modules/mal/bbp.c
monetdb5/modules/mal/clients.c
monetdb5/modules/mal/inspect.c
monetdb5/modules/mal/mal_io.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/mat.c
monetdb5/modules/mal/mdb.c
monetdb5/modules/mal/mkey.c
monetdb5/modules/mal/pcre.c
monetdb5/modules/mal/querylog.c
monetdb5/modules/mal/remote.c
monetdb5/modules/mal/remote.mal
monetdb5/modules/mal/tablet.c
monetdb5/modules/mal/tokenizer.c
monetdb5/modules/mal/wlc.c
monetdb5/modules/mal/wlc.mal
monetdb5/optimizer/opt_garbageCollector.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
monetdb5/optimizer/opt_querylog.c
monetdb5/optimizer/opt_support.c
monetdb5/optimizer/optimizer.mal
monetdb5/tools/Makefile.ag
monetdb5/tools/Tests/mserver5--help.stable.err
monetdb5/tools/Tests/mserver5--help.stable.err.Windows
rpm.mk.in
sql/ChangeLog
sql/ChangeLog.Apr2019
sql/backends/monet5/Tests/rapi17.stable.out
sql/backends/monet5/UDF/capi/capi.c
sql/backends/monet5/UDF/pyapi/conversion.c
sql/backends/monet5/UDF/pyapi/convert_loops.h
sql/backends/monet5/UDF/pyapi/pyapi.c
sql/backends/monet5/UDF/pyapi/type_conversion.c
sql/backends/monet5/UDF/udf/udf.c
sql/backends/monet5/rel_bin.c
sql/backends/monet5/rel_bin.h
sql/backends/monet5/sql.c
sql/backends/monet5/sql.h
sql/backends/monet5/sql_bat2time.c
sql/backends/monet5/sql_cast.c
sql/backends/monet5/sql_cast_impl_down_from_flt.h
sql/backends/monet5/sql_cast_impl_int.h
sql/backends/monet5/sql_cast_impl_up_to_flt.h
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_cat.h
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_gencode.h
sql/backends/monet5/sql_rank.c
sql/backends/monet5/sql_rank.h
sql/backends/monet5/sql_rank.mal
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_round_impl.h
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_statement.h
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/sql_user.c
sql/backends/monet5/sqlcatalog.mal
sql/backends/monet5/vaults/bam/Tests/query2.2.stable.out
sql/backends/monet5/vaults/bam/Tests/query2.2.stable.out.int128
sql/backends/monet5/vaults/bam/bam_db_interface.c
sql/backends/monet5/vaults/bam/bam_export.c
sql/backends/monet5/vaults/bam/bam_lib.c
sql/backends/monet5/vaults/bam/bam_loader.c
sql/backends/monet5/wlr.c
sql/backends/monet5/wlr.mal
sql/common/sql_list.c
sql/common/sql_string.c
sql/common/sql_types.c
sql/include/sql_catalog.h
sql/include/sql_relation.h
sql/jdbc/tests/Tests/BugResultSetMetaData_Bug_6183.stable.out
sql/scripts/75_storagemodel.sql
sql/server/rel_dump.c
sql/server/rel_optimizer.c
sql/server/rel_psm.c
sql/server/rel_schema.c
sql/server/rel_select.c
sql/server/rel_semantic.c
sql/server/rel_sequence.c
sql/server/rel_updates.c
sql/server/sql_atom.c
sql/server/sql_mvc.c
sql/server/sql_mvc.h
sql/server/sql_parser.h
sql/server/sql_parser.y
sql/server/sql_partition.c
sql/server/sql_privileges.c
sql/server/sql_scan.c
sql/storage/bat/bat_logger.c
sql/storage/bat/bat_storage.c
sql/storage/bat/bat_table.c
sql/storage/sql_catalog.c
sql/storage/sql_storage.h
sql/storage/store.c
sql/test/BugDay_2005-10-06_2.9.3/Tests/UNION_JOIN_vs_plain_set_UNION-2.SF-920585.sql
sql/test/BugDay_2005-10-06_2.9.3/Tests/foreign_key_in_frontend_crashes_backend.SF-935578.sql
sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.err
sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out.Windows
sql/test/BugTracker-2010/Tests/multiple-common-table-expressions.Bug-2664.sql
sql/test/BugTracker-2012/Tests/strange_escaping_in_csv.Bug-2133.sql
sql/test/BugTracker-2012/Tests/strange_escaping_in_csv.Bug-2133.stable.out
sql/test/BugTracker-2013/Tests/aggregates-typing-issues.Bug-3277.sql
sql/test/BugTracker-2013/Tests/median-null.Bug-3280.sql
sql/test/BugTracker-2014/Tests/null_in_string.Bug-2014.sql
sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out
sql/test/BugTracker-2015/Tests/is_null_limit.Bug-3684.sql
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
sql/test/BugTracker-2016/Tests/storagemodel.stable.out
sql/test/BugTracker-2016/Tests/trigger_bulk.Bug-4045.stable.err
sql/test/BugTracker-2017/Tests/All
sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
sql/test/BugTracker-2017/Tests/semijoinunion.Bug-6150.sql
sql/test/BugTracker-2018/Tests/All
sql/test/BugTracker-2018/Tests/count_from_commented_function_signatures.Bug-6542.stable.out
sql/test/BugTracker-2018/Tests/groupby_having_orderby_count.Bug-6624.stable.out
sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.sql
sql/test/BugTracker-2018/Tests/in-subquery-having-Bug-6651.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-coalesce-error-message.Bug-6608.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-coalesce-error-message.Bug-6608.stable.out
sql/test/Dependencies/Tests/Dependencies.stable.out
sql/test/Dependencies/Tests/Dependencies.stable.out.int128
sql/test/Dependencies/Tests/dependency_loop.stable.out
sql/test/Dependencies/Tests/dependency_loop.stable.out.int128
sql/test/Dump/Tests/dump.stable.out
sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out
sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out.int128
sql/test/Skyserver/Skyserver_import.sql
sql/test/Tests/rank.stable.out
sql/test/Tests/systemfunctions.stable.out
sql/test/Tests/systemfunctions.stable.out.int128
sql/test/bugs/Tests/innerjoin_multiple-bug-sf-943661.stable.out
sql/test/copy/Tests/int_parse.sql
sql/test/copy/Tests/int_parse.stable.err
sql/test/copy/Tests/int_parse_best.sql
sql/test/copy/Tests/key_copy.sql
sql/test/copy/Tests/key_copy.stable.err
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-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/group-concat/Tests/groupconcat05.stable.out
sql/test/json/Tests/jsonvalidity.Bug-3753.stable.out
sql/test/mergetables/Tests/sqlsmith-apply-outer-join-or.sql
sql/test/orderidx/Tests/imprints_all_types.stable.out
sql/test/orderidx/Tests/oidx_all_types.stable.out
sql/test/pg_regress/Tests/point.stable.out
sql/test/rank.sql
sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.sql
sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out
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/dump.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/dump.stable.out
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/All
testing/Mtest.py.in
testing/malcheck.py
testing/process.py
tools/merovingian/client/monetdb.c
tools/merovingian/daemon/argvcmds.c
tools/merovingian/daemon/config/monetdbd.service.in
tools/merovingian/daemon/controlrunner.c
tools/merovingian/daemon/merovingian.c
tools/mserver/monet_version.c.in
tools/mserver/mserver5.1.in
tools/mserver/mserver5.c
tools/mserver/shutdowntest.c
Branch: ipv6
Log Message:
Merge with default.
diffs (truncated from 142569 to 300 lines):
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,2 +1,3 @@
# ChangeLog file for devel
# This file is updated with Maddlog
+
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -895,7 +895,10 @@ automatic index management, extensibilit
accelerators. It also has an SQL frontend.
This package contains the SELinux policy for running MonetDB under
-control of systemd.
+control of systemd. There is one tunable parameter, mserver5_can_read_home,
+which can be set using "setsebool -P mserver5_can_read_home=true" to allow
+an mserver5 process started by monetdbd under the control of systemd to
+read files in users' home directories.
%post selinux
for selinuxvariant in %{selinux_variants}
diff --git a/buildtools/selinux/monetdb.te b/buildtools/selinux/monetdb.te
--- a/buildtools/selinux/monetdb.te
+++ b/buildtools/selinux/monetdb.te
@@ -1,4 +1,4 @@
-policy_module(monetdb, 0.3)
+policy_module(monetdb, 0.4)
# The above line declares that this file is a SELinux policy file. Its
# name is monetdb, so the file should be saved as monetdb.te
@@ -7,6 +7,7 @@ require {
type proc_net_t;
type tmp_t;
type var_t;
+ type user_home_t;
class dir { read };
class fd { use };
class fifo_file { getattr read write };
@@ -119,4 +120,9 @@ manage_sock_files_pattern(mserver5_t, ms
allow mserver5_t monetdbd_t:fifo_file { read write getattr };
allow mserver5_t monetdbd_t:unix_stream_socket { read write getopt shutdown };
allow mserver5_t var_t:dir { read };
+gen_tunable(mserver5_can_read_home, false)
+tunable_policy(`mserver5_can_read_home', `
+ userdom_search_user_home_dirs(mserver5_t)
+ allow mserver5_t user_home_t:file read_file_perms;
+')
allow monetdbd_t mserver5_t:unix_stream_socket { connectto };
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
@@ -513,9 +513,7 @@ Ready.
[ "aggr", "variancep", "command aggr.variancep(b:bat[:sht],
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRvariancep3_dbl;", "Grouped
tail variance (population/biased) on sht" ]
[ "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", "epilogue", "command alarm.epilogue():void ",
"ALARMepilogue;", "Finalize alarm module." ]
[ "alarm", "epoch", "unsafe command alarm.epoch():int ",
"ALARMepoch;", "Return the current time as UNIX epoch." ]
-[ "alarm", "prelude", "command alarm.prelude():void ",
"ALARMprelude;", "Initialize alarm module." ]
[ "alarm", "sleep", "unsafe command alarm.sleep(secs:int):void ",
"ALARMsleep;", "Sleep a few seconds" ]
[ "alarm", "time", "unsafe command alarm.time():int ", "ALARMtime;",
"Return time in milliseconds." ]
[ "alarm", "usec", "unsafe command alarm.usec():lng ", "ALARMusec;",
"Return time in microseconds." ]
@@ -11892,9 +11890,9 @@ Ready.
[ "sqlcatalog", "revoke_function", "pattern
sqlcatalog.revoke_function(sname:str, fcnid:int, grantee:str, privs:int,
grant:int, grantor:int):void ", "SQLrevoke_function;", "Catalog
operation revoke_function" ]
[ "sqlcatalog", "revoke_roles", "pattern
sqlcatalog.revoke_roles(sname:str, auth:str, grantor:int, admin:int):void ",
"SQLrevoke_roles;", "Catalog operation revoke_roles" ]
[ "status", "batStatistics", "command status.batStatistics()
(X_0:bat[:str], X_1:bat[:str]) ", "SYSgdkEnv;", "Show distribution of
bats by kind" ]
-[ "status", "cpuStatistics", "command status.cpuStatistics()
(X_0:bat[:str], X_1:bat[:int]) ", "SYScpuStatistics;", "Global cpu
usage information" ]
+[ "status", "cpuStatistics", "command status.cpuStatistics()
(X_0:bat[:str], X_1:bat[:lng]) ", "SYScpuStatistics;", "Global cpu
usage information" ]
[ "status", "getThreads", "command status.getThreads() (X_0:bat[:int],
X_1:bat[:str]) ", "SYSgdkThread;", "Produce overview of active threads"
]
-[ "status", "ioStatistics", "command status.ioStatistics() (X_0:bat[:str],
X_1:bat[:int]) ", "SYSioStatistics;", "Global IO activity
information" ]
+[ "status", "ioStatistics", "command status.ioStatistics() (X_0:bat[:str],
X_1:bat[:lng]) ", "SYSioStatistics;", "Global IO activity
information" ]
[ "status", "memStatistics", "command status.memStatistics()
(X_0:bat[:str], X_1:bat[:lng]) ", "SYSmemStatistics;", "Global memory
usage information" ]
[ "status", "memUsage", "command status.memUsage(minsize:lng)
(X_0:bat[:str], X_1:bat[:lng]) ", "SYSmem_usage;", "Get a split-up of
how much memory blocks are in use" ]
[ "status", "mem_cursize", "command status.mem_cursize():lng ",
"SYSgetmem_cursize;", "The amount of physical swapspace in KB that is
currently in use" ]
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
@@ -617,9 +617,7 @@ Ready.
[ "aggr", "variancep", "command aggr.variancep(b:bat[:sht],
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRvariancep3_dbl;", "Grouped
tail variance (population/biased) on sht" ]
[ "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", "epilogue", "command alarm.epilogue():void ",
"ALARMepilogue;", "Finalize alarm module." ]
[ "alarm", "epoch", "unsafe command alarm.epoch():int ",
"ALARMepoch;", "Return the current time as UNIX epoch." ]
-[ "alarm", "prelude", "command alarm.prelude():void ",
"ALARMprelude;", "Initialize alarm module." ]
[ "alarm", "sleep", "unsafe command alarm.sleep(secs:int):void ",
"ALARMsleep;", "Sleep a few seconds" ]
[ "alarm", "time", "unsafe command alarm.time():int ", "ALARMtime;",
"Return time in milliseconds." ]
[ "alarm", "usec", "unsafe command alarm.usec():lng ", "ALARMusec;",
"Return time in microseconds." ]
@@ -16319,9 +16317,9 @@ Ready.
[ "sqlcatalog", "revoke_function", "pattern
sqlcatalog.revoke_function(sname:str, fcnid:int, grantee:str, privs:int,
grant:int, grantor:int):void ", "SQLrevoke_function;", "Catalog
operation revoke_function" ]
[ "sqlcatalog", "revoke_roles", "pattern
sqlcatalog.revoke_roles(sname:str, auth:str, grantor:int, admin:int):void ",
"SQLrevoke_roles;", "Catalog operation revoke_roles" ]
[ "status", "batStatistics", "command status.batStatistics()
(X_0:bat[:str], X_1:bat[:str]) ", "SYSgdkEnv;", "Show distribution of
bats by kind" ]
-[ "status", "cpuStatistics", "command status.cpuStatistics()
(X_0:bat[:str], X_1:bat[:int]) ", "SYScpuStatistics;", "Global cpu
usage information" ]
+[ "status", "cpuStatistics", "command status.cpuStatistics()
(X_0:bat[:str], X_1:bat[:lng]) ", "SYScpuStatistics;", "Global cpu
usage information" ]
[ "status", "getThreads", "command status.getThreads() (X_0:bat[:int],
X_1:bat[:str]) ", "SYSgdkThread;", "Produce overview of active threads"
]
-[ "status", "ioStatistics", "command status.ioStatistics() (X_0:bat[:str],
X_1:bat[:int]) ", "SYSioStatistics;", "Global IO activity
information" ]
+[ "status", "ioStatistics", "command status.ioStatistics() (X_0:bat[:str],
X_1:bat[:lng]) ", "SYSioStatistics;", "Global IO activity
information" ]
[ "status", "memStatistics", "command status.memStatistics()
(X_0:bat[:str], X_1:bat[:lng]) ", "SYSmemStatistics;", "Global memory
usage information" ]
[ "status", "memUsage", "command status.memUsage(minsize:lng)
(X_0:bat[:str], X_1:bat[:lng]) ", "SYSmem_usage;", "Get a split-up of
how much memory blocks are in use" ]
[ "status", "mem_cursize", "command status.mem_cursize():lng ",
"SYSgetmem_cursize;", "The amount of physical swapspace in KB that is
currently in use" ]
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
@@ -182,16 +182,14 @@ void BATtseqbase(BAT *b, oid o);
void BATundo(BAT *b);
BAT *BATunique(BAT *b, BAT *s);
BBPrec *BBP[N_BBPINIT];
-void BBPaddfarm(const char *dirname, int rolemask);
+gdk_return BBPaddfarm(const char *dirname, int rolemask);
void BBPclear(bat bid);
BAT *BBPdescriptor(bat b);
int BBPfix(bat b);
-int BBPin;
bat BBPindex(const char *nme);
void BBPkeepref(bat i);
bat BBPlimit;
void BBPlock(void);
-int BBPout;
BAT *BBPquickdesc(bat b, bool delaccess);
int BBPreclaim(BAT *b);
int BBPrelease(bat b);
@@ -211,7 +209,6 @@ BAT *COLcopy(BAT *b, int tt, bool writab
BAT *COLnew(oid hseq, int tltype, BUN capacity, role_t role)
__attribute__((__warn_unused_result__));
size_t GDK_mem_maxsize;
size_t GDK_vm_maxsize;
-int GDK_vm_trim;
gdk_return GDKanalyticalavg(BAT *r, BAT *b, BAT *s, BAT *e, int tpe);
gdk_return GDKanalyticalcount(BAT *r, BAT *b, BAT *s, BAT *e, const bit
*restrict ignore_nils, int tpe);
gdk_return GDKanalyticaldiff(BAT *r, BAT *b, BAT *p, int tpe);
@@ -233,6 +230,7 @@ size_t GDKbatread(char *src, BAT **bat,
gdk_return GDKchangesemval(int sem_id, int number, int change);
gdk_return GDKchangesemval_timeout(int sem_id, int number, int change, int
timeout_mseconds, bool *succeed);
void GDKclrerr(void);
+gdk_return GDKcopyenv(BAT **key, BAT **val, bool writable);
gdk_return GDKcreatedir(const char *nme);
gdk_return GDKcreatesem(int id, int count, int *semid);
int GDKdebug;
@@ -248,16 +246,15 @@ bit GDKfataljumpenable;
str GDKfatalmsg;
char *GDKfilepath(int farmid, const char *dir, const char *nme, const char
*ext);
void GDKfree(void *blk);
-char *GDKgetenv(const char *name);
+const char *GDKgetenv(const char *name);
int GDKgetenv_int(const char *name, int def);
bool GDKgetenv_istext(const char *name, const char *text);
bool GDKgetenv_istrue(const char *name);
bool GDKgetenv_isyes(const char *name);
gdk_return GDKgetsem(int sem_id, int count, int *semid);
gdk_return GDKgetsemval(int sem_id, int number, int *semval);
-bool GDKinit(opt *set, int setlen);
+gdk_return GDKinit(opt *set, int setlen);
void *GDKinitmmap(size_t id, size_t size, size_t *return_size);
-BAT *GDKkey;
ATOMIC_TYPE volatile GDKlockcnt;
ATOMIC_TYPE volatile GDKlockcontentioncnt;
MT_Lock *volatile GDKlocklist;
@@ -277,9 +274,11 @@ void *GDKrealloc(void *pold, size_t size
void GDKregister(MT_Id pid);
gdk_return GDKreleasemmap(void *ptr, size_t size, size_t id);
gdk_return GDKreleasesem(int sem_id);
-void GDKreset(int status, int exit);
+void GDKreset(int status);
+void GDKsetdebug(int debug);
gdk_return GDKsetenv(const char *name, const char *value);
void GDKsetmallocsuccesscount(lng count);
+void GDKsetverbose(int verbosity);
ssize_t GDKstrFromStr(unsigned char *restrict dst, const unsigned char
*restrict src, ssize_t len);
str GDKstrdup(const char *s) __attribute__((__warn_unused_result__));
str GDKstrndup(const char *s, size_t n)
__attribute__((__warn_unused_result__));
@@ -287,7 +286,7 @@ void GDKsyserror(_In_z_ _Printf_format_s
size_t GDKuniqueid(size_t offset);
gdk_return GDKupgradevarheap(BAT *b, var_t v, bool copyall, bool mayshare)
__attribute__((__warn_unused_result__));
lng GDKusec(void);
-BAT *GDKval;
+int GDKverbose;
const char *GDKversion(void);
size_t GDKvm_cursize(void);
void *GDKzalloc(size_t size) __attribute__((__malloc__))
__attribute__((__alloc_size__(1))) __attribute__((__warn_unused_result__));
@@ -303,7 +302,7 @@ size_t HEAPvmsize(Heap *h);
void IMPSdestroy(BAT *b);
lng IMPSimprintsize(BAT *b);
int MT_check_nr_cores(void);
-int MT_create_thread(MT_Id *t, void (*function)(void *), void *arg, enum
MT_thr_detach d);
+int MT_create_thread(MT_Id *t, void (*function)(void *), void *arg, enum
MT_thr_detach d, const char *threadname);
void MT_exiting_thread(void);
MT_Id MT_getpid(void);
size_t MT_getrss(void);
@@ -314,6 +313,11 @@ void *MT_mmap(const char *path, int mode
int MT_munmap(void *p, size_t len);
bool MT_path_absolute(const char *path);
void MT_sleep_ms(unsigned int ms);
+void *MT_thread_getdata(void);
+const char *MT_thread_getname(void);
+bool MT_thread_init(void);
+void MT_thread_setdata(void *data);
+void MT_thread_setname(const char *name);
void OIDXdestroy(BAT *b);
ssize_t OIDfromStr(const char *src, size_t *len, oid **dst, bool external);
ssize_t OIDtoStr(str *dst, size_t *len, const oid *src, bool external);
@@ -324,6 +328,7 @@ void PROPdestroy(BAT *b);
BUN SORTfnd(BAT *b, const void *v);
BUN SORTfndfirst(BAT *b, const void *v);
BUN SORTfndlast(BAT *b, const void *v);
+MT_Id THRcreate(void (*f)(void *), void *arg, enum MT_thr_detach d, const char
*name);
void *THRdata[THREADDATA];
void THRdel(Thread t);
Thread THRget(int tid);
@@ -697,13 +702,9 @@ str AGGRsum3_sht(bat *retval, const bat
str AGGRvariance3_dbl(bat *retval, const bat *bid, const bat *gid, const bat
*eid);
str AGGRvariancep3_dbl(bat *retval, const bat *bid, const bat *gid, const bat
*eid);
str ALARMctime(str *res);
-str ALARMepilogue(void *ret);
str ALARMepoch(int *res);
-str ALARMprelude(void *ret);
-str ALARMsetalarm(void *res, int *secs, str *action);
str ALARMsleep(void *res, int *secs);
str ALARMtime(int *res);
-str ALARMtimers(bat *res, bat *actions);
str ALARMusec(lng *ret);
str ALGbandjoin(bat *r1, bat *r2, const bat *lid, const bat *rid, const bat
*slid, const bat *srid, const void *low, const void *high, const bit *li, const
bit *hi, const lng *estimate);
str ALGcard(lng *result, const bat *bid);
@@ -2188,6 +2189,7 @@ str expandRef;
str exportOperationRef;
str export_tableRef;
str fcnDefinition(MalBlkPtr mb, InstrPtr p, str s, int flg, str base, size_t
len);
+str fetchRef;
int findGDKtype(int type);
Module findModule(Module scope, str name);
str findRef;
@@ -2373,7 +2375,7 @@ MT_Lock mal_contextLock;
MT_Lock mal_copyLock;
void mal_dataflow_reset(void) __attribute__((__visibility__("hidden")));
MT_Lock mal_delayLock;
-void mal_exit(void);
+void mal_exit(int status);
void mal_factory_reset(void) __attribute__((__visibility__("hidden")));
int mal_init(void);
void mal_instruction_reset(void);
@@ -2452,7 +2454,7 @@ char *msab_registerStop(void);
char *msab_retreatScenario(const char *lang);
char *msab_serialise(char **ret, const sabdb *db);
char *msab_wildRetreat(void);
-void mserver_reset(int exit);
+void mserver_reset(void);
str mtimeRef;
str mulRef;
str multicolumnRef;
diff --git a/clients/mapiclient/ReadlineTools.c
b/clients/mapiclient/ReadlineTools.c
--- a/clients/mapiclient/ReadlineTools.c
+++ b/clients/mapiclient/ReadlineTools.c
@@ -321,18 +321,25 @@ init_readline(Mapi mid, char *lang, int
}
if (save_history) {
+ int len;
#ifndef NATIVE_WIN32
if (getenv("HOME") != NULL) {
- snprintf(_history_file, FILENAME_MAX,
+ len = snprintf(_history_file, FILENAME_MAX,
"%s/.mapiclient_history_%s",
getenv("HOME"), language);
- _save_history = 1;
+ if (len == -1 || len >= FILENAME_MAX)
+ fprintf(stderr, "Warning: history filename path
is too large\n");
+ else
+ _save_history = 1;
}
#else
- snprintf(_history_file, FILENAME_MAX,
+ len = snprintf(_history_file, FILENAME_MAX,
"%s%c_mapiclient_history_%s",
mo_find_option(NULL, 0, "prefix"), DIR_SEP, language);
- _save_history = 1;
+ if (len == -1 || len >= FILENAME_MAX)
+ fprintf(stderr, "Warning: history filename path is too
large\n");
+ else
+ _save_history = 1;
#endif
if (_save_history) {
FILE *f;
diff --git a/clients/mapiclient/dotmonetdb.c b/clients/mapiclient/dotmonetdb.c
--- a/clients/mapiclient/dotmonetdb.c
+++ b/clients/mapiclient/dotmonetdb.c
@@ -15,18 +15,22 @@ parse_dotmonetdb(char **user, char **pas
{
char *cfile;
FILE *config = NULL;
- char buf[1024];
+ char buf[FILENAME_MAX];
if ((cfile = getenv("DOTMONETDBFILE")) == NULL) {
/* no environment variable: use a default */
if ((config = fopen(".monetdb", "r")) == NULL) {
if ((cfile = getenv("HOME")) != NULL) {
- snprintf(buf, sizeof(buf), "%s%c.monetdb",
cfile, DIR_SEP);
- config = fopen(buf, "r");
- if (config)
- cfile = strdup(buf);
- else
+ int len = snprintf(buf, sizeof(buf),
"%s%c.monetdb", cfile, DIR_SEP);
+ if (len == -1 || len >= FILENAME_MAX) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list