Changeset: 77b631f254a5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=77b631f254a5 Added Files: sql/test/merge-partitions/Tests/mergepart30.sql sql/test/merge-partitions/Tests/mergepart30.stable.err sql/test/merge-partitions/Tests/mergepart30.stable.out Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/dump.c clients/mapiclient/mclient.c clients/odbc/winsetup/setup.c common/options/getopt.c common/options/getopt1.c common/stream/stream.c common/utils/muuid.c gdk/ChangeLog.Jun2020 gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_analytic_func.c gdk/gdk_batop.c gdk/gdk_delta.h gdk/gdk_posix.c gdk/gdk_posix.h gdk/gdk_private.h gdk/gdk_project.c gdk/gdk_tracer.c gdk/gdk_tracer.h gdk/gdk_utils.h monetdb5/mal/mal_function.c monetdb5/mal/mal_function.h monetdb5/mal/mal_listing.c monetdb5/mal/mal_listing.h monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/wlc.mal monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_pushselect.c monetdb5/optimizer/opt_remap.c monetdb5/tools/Tests/mserver5-ipv6.py sql/ChangeLog.Jun2020 sql/backends/monet5/Tests/dbextra_lock_test.py sql/backends/monet5/rel_bin.c sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h sql/backends/monet5/sqlcatalog.mal sql/backends/monet5/wlr.mal sql/include/sql_catalog.h sql/server/rel_optimizer.c sql/server/rel_propagate.c sql/server/rel_propagate.h sql/server/rel_psm.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_updates.c sql/server/rel_xml.c sql/server/sql_mvc.c sql/server/sql_partition.c sql/server/sql_privileges.c sql/server/sql_semantic.c sql/storage/bat/bat_storage.c sql/storage/sql_catalog.c sql/storage/sql_storage.h sql/storage/store.c sql/test/BugDay_2005-11-09_2.9.3/Tests/grant_public.SF-1114580.stable.err sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.SQL.py sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.SQL.py sql/test/BugTracker-2009/Tests/use_order_column_first.SF-2686008.stable.out sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.SQL.py sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.SQL.py sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.SQL.py sql/test/BugTracker-2014/Tests/acidity-fail.Bug-3635.py sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py sql/test/BugTracker-2017/Tests/shutdown.Bug-6182.SQL.py sql/test/BugTracker-2017/Tests/wrong_aggregation_count.Bug-6257.stable.out sql/test/BugTracker-2018/Tests/grant-role-not-idempotent.Bug-6660.stable.err sql/test/BugTracker-2018/Tests/grant-role-not-idempotent.Bug-6660.stable.out sql/test/BugTracker-2018/Tests/local_replica_table_not_detected.Bug-6620.py sql/test/BugTracker-2018/Tests/remote-table-where-is-null.Bug-6601.py sql/test/BugTracker-2018/Tests/remote-table-where-not-equal.Bug-6621.py sql/test/BugTracker-2019/Tests/alter_table_drop_column.Bug-6749.py sql/test/BugTracker-2019/Tests/remote-table-non-existent-column.Bug-6750.py sql/test/BugTracker-2020/Tests/functions-not-persist.Bug-6819.SQL.py sql/test/BugTracker/Tests/coalesce_equal_coalesce.SF-1907905.stable.err sql/test/BugTracker/Tests/explain.SF-1739353.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out sql/test/BugTracker/Tests/mdb_starts_with_sql_debug_64.SF-1999354.SQL.py sql/test/BugTracker/Tests/revoke_role.SF-1691646.stable.err sql/test/BugTracker/Tests/set_a_new_user_password.SF-1844050.SQL.py sql/test/BugTracker/Tests/set_sql_debug_64__breaking_the_DB.SF-1906287.SQL.py sql/test/Tests/create_in_schema.stable.err sql/test/Tests/create_in_schema.stable.out sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.err sql/test/group-concat/Tests/groupconcat05.sql sql/test/group-concat/Tests/groupconcat05.stable.out sql/test/merge-partitions/Tests/All sql/test/merge-partitions/Tests/mergepart05.stable.err sql/test/merge-partitions/Tests/mergepart20.sql sql/test/merge-partitions/Tests/mergepart20.stable.err sql/test/merge-partitions/Tests/mergepart23.SQL.py sql/test/merge-partitions/Tests/mergepart23.stable.err sql/test/merge-partitions/Tests/mergepart29.SQL.py sql/test/mserver5-sql-readonly/Tests/mserver5-sql-readonly-table.py sql/test/mserver5-sql-readonly/Tests/mserver5-sql-readonly-view.py sql/test/pg_regress/Tests/alter_table.stable.err sql/test/remote/Tests/creds.SQL.py sql/test/remote/Tests/different_user.SQL.py sql/test/remote/Tests/invalid_creds.SQL.py sql/test/remote/Tests/ssbm.SQL.py sql/test/rename/Tests/rename00.SQL.py sql/test/rename/Tests/rename11.py sql/test/scripts/Tests/alastair_udf_mergetable_bug.py sql/test/scripts/Tests/copy-from-lz4.py sql/test/subquery/Tests/subquery3.stable.err sql/test/subquery/Tests/subquery4.stable.err sql/test/subquery/Tests/subquery4.stable.out sql/test/subquery/Tests/subquery5.sql sql/test/subquery/Tests/subquery5.stable.err sql/test/subquery/Tests/subquery5.stable.out sql/test/testdb-reload/Tests/reload.py sql/test/testdb-reload/Tests/reload.stable.out sql/test/testdb/Tests/dump.stable.out sql/test/testdb/Tests/load.sql sql/test/wlcr/Tests/wlc01.py sql/test/wlcr/Tests/wlc100.py sql/test/wlcr/Tests/wlc20.py sql/test/wlcr/Tests/wlc21.py sql/test/wlcr/Tests/wlc30.py sql/test/wlcr/Tests/wlc40.py sql/test/wlcr/Tests/wlc50.py sql/test/wlcr/Tests/wlc70.py sql/test/wlcr/Tests/wlr01.py sql/test/wlcr/Tests/wlr10.py sql/test/wlcr/Tests/wlr100.py sql/test/wlcr/Tests/wlr110.py sql/test/wlcr/Tests/wlr20.py sql/test/wlcr/Tests/wlr30.py sql/test/wlcr/Tests/wlr35.py sql/test/wlcr/Tests/wlr40.py sql/test/wlcr/Tests/wlr50.py sql/test/wlcr/Tests/wlr70.py sql/test/wlcr/Tests/wlr80.py tools/mserver/mserver5.c Branch: default Log Message:
Merge with Jun2020 branch. diffs (truncated from 10417 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 @@ -611,6 +611,7 @@ stdout of test 'MAL-signatures` in direc [ "algebra", "outerjoin", "command algebra.outerjoin(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]) ", "ALGouterjoin;", "Left outer join with candidate lists" ] [ "algebra", "project", "pattern algebra.project(b:bat[:any_1], v:any_3):bat[:any_3] ", "ALGprojecttail;", "Fill the tail with a constant" ] [ "algebra", "projection", "command algebra.projection(left:bat[:oid], right:bat[:any_3]):bat[:any_3] ", "ALGprojection;", "Project left input onto right input." ] +[ "algebra", "projection2", "command algebra.projection2(left:bat[:oid], right1:bat[:any_3], right2:bat[:any_3]):bat[:any_3] ", "ALGprojection2;", "Project left input onto right inputs which should be consecutive." ] [ "algebra", "projectionpath", "pattern algebra.projectionpath(l:bat[:any]...):bat[:any] ", "ALGprojectionpath;", "Routine to handle join paths. The type analysis is rather tricky." ] [ "algebra", "rangejoin", "command algebra.rangejoin(l:bat[:any_1], r1:bat[:any_1], r2:bat[:any_1], sl:bat[:oid], sr:bat[:oid], li:bit, hi:bit, anti:bit, symmetric:bit, estimate:lng) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGrangejoin;", "Range join: values in l and r1/r2 match if r1 <[=] l <[=] r2" ] [ "algebra", "reuse", "command algebra.reuse(b:bat[:any_1]):bat[:any_1] ", "ALGreuse;", "Reuse a temporary BAT if you can. Otherwise,\n\tallocate enough storage to accept result of an\n \toperation (not involving the heap)" ] @@ -14253,10 +14254,10 @@ stdout of test 'MAL-signatures` in direc [ "sql", "zero_or_one", "command sql.zero_or_one(col:bat[:any_1]):any_1 ", "zero_or_one;", "if col contains exactly one value return this. Incase of more raise an exception else return nil" ] [ "sql", "zero_or_one", "command sql.zero_or_one(col:bat[:any_1], err:bit):any_1 ", "zero_or_one_error;", "if col contains exactly one value return this. Incase of more raise an exception if err is true else return nil" ] [ "sql", "zero_or_one", "command sql.zero_or_one(col:bat[:any_1], err:bat[:bit]):any_1 ", "zero_or_one_error_bat;", "if col contains exactly one value return this. Incase of more raise an exception if err is true else return nil" ] -[ "sqlcatalog", "alter_add_range_partition", "pattern sqlcatalog.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:any_1, max:any_1, nills:int, update:int):void ", "SQLalter_add_range_partition;", "Catalog operation alter_add_range_partition" ] +[ "sqlcatalog", "alter_add_range_partition", "pattern sqlcatalog.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:any_1, max:any_1, nills:bit, update:int):void ", "SQLalter_add_range_partition;", "Catalog operation alter_add_range_partition" ] [ "sqlcatalog", "alter_add_table", "pattern sqlcatalog.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "SQLalter_add_table;", "Catalog operation alter_add_table" ] -[ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] -[ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int, arg:any...):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] +[ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:bit, update:int):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] +[ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:bit, update:int, arg:any...):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] [ "sqlcatalog", "alter_del_table", "pattern sqlcatalog.alter_del_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "SQLalter_del_table;", "Catalog operation alter_del_table" ] [ "sqlcatalog", "alter_seq", "pattern sqlcatalog.alter_seq(sname:str, seqname:str, seq:ptr, val:bat[:lng]):void ", "SQLalter_seq;", "Catalog operation alter_seq" ] [ "sqlcatalog", "alter_seq", "pattern sqlcatalog.alter_seq(sname:str, seqname:str, seq:ptr, val:lng):void ", "SQLalter_seq;", "Catalog operation alter_seq" ] @@ -14457,10 +14458,10 @@ stdout of test 'MAL-signatures` in direc [ "wkba", "#tostr", "command wkba.#tostr():void ", "wkbaTOSTR;", "" ] [ "wkba", "#write", "command wkba.#write():void ", "wkbaWRITE;", "" ] [ "wlc", "action", "pattern wlc.action(q:str):void ", "WLCaction;", "Keep the database changing queries for replay. " ] -[ "wlc", "alter_add_range_partition", "pattern wlc.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:str, max:str, nills:int, update:int):void ", "WLCgeneric;", "Catalog operation alter_add_range_partition" ] +[ "wlc", "alter_add_range_partition", "pattern wlc.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:str, max:str, nills:bit, update:int):void ", "WLCgeneric;", "Catalog operation alter_add_range_partition" ] [ "wlc", "alter_add_table", "pattern wlc.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "WLCgeneric;", "Catalog operation alter_add_table" ] -[ "wlc", "alter_add_value_partition", "pattern wlc.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int):void ", "WLCgeneric;", "Catalog operation alter_add_value_partition" ] -[ "wlc", "alter_add_value_partition", "pattern wlc.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int, arg:str...):void ", "WLCgeneric;", "Catalog operation alter_add_value_partition" ] +[ "wlc", "alter_add_value_partition", "pattern wlc.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:bit, update:int):void ", "WLCgeneric;", "Catalog operation alter_add_value_partition" ] +[ "wlc", "alter_add_value_partition", "pattern wlc.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:bit, update:int, arg:str...):void ", "WLCgeneric;", "Catalog operation alter_add_value_partition" ] [ "wlc", "alter_del_table", "pattern wlc.alter_del_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "WLCgeneric;", "Catalog operation alter_del_table" ] [ "wlc", "alter_seq", "pattern wlc.alter_seq(sname:str, seqname:str, seq:ptr, val:bat[:lng]):void ", "WLCgeneric;", "Catalog operation alter_seq" ] [ "wlc", "alter_seq", "pattern wlc.alter_seq(sname:str, seqname:str, val:lng):void ", "WLCgeneric;", "Catalog operation alter_seq" ] @@ -14527,10 +14528,10 @@ stdout of test 'MAL-signatures` in direc [ "wlc", "update", "pattern wlc.update(sname:str, tname:str, cname:str, tid:any, val:any):int ", "WLCupdate;", "Keep the update in the workload-capture-replay list" ] [ "wlr", "accept", "pattern wlr.accept():void ", "WLRaccept;", "Accept failing transaction" ] [ "wlr", "action", "pattern wlr.action(q:str):void ", "WLRaction;", "A query producing updates" ] -[ "wlr", "alter_add_range_partition", "pattern wlr.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:str, max:str, nills:int, update:int):void ", "WLRgeneric;", "Catalog operation alter_add_range_partition" ] +[ "wlr", "alter_add_range_partition", "pattern wlr.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:str, max:str, nills:bit, update:int):void ", "WLRgeneric;", "Catalog operation alter_add_range_partition" ] [ "wlr", "alter_add_table", "pattern wlr.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "WLRgeneric;", "Catalog operation alter_add_table" ] -[ "wlr", "alter_add_value_partition", "pattern wlr.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int):void ", "WLRgeneric;", "Catalog operation alter_add_value_partition" ] -[ "wlr", "alter_add_value_partition", "pattern wlr.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int, arg:str...):void ", "WLRgeneric;", "Catalog operation alter_add_value_partition" ] +[ "wlr", "alter_add_value_partition", "pattern wlr.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:bit, update:int):void ", "WLRgeneric;", "Catalog operation alter_add_value_partition" ] +[ "wlr", "alter_add_value_partition", "pattern wlr.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:bit, update:int, arg:str...):void ", "WLRgeneric;", "Catalog operation alter_add_value_partition" ] [ "wlr", "alter_del_table", "pattern wlr.alter_del_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "WLRgeneric;", "Catalog operation alter_del_table" ] [ "wlr", "alter_seq", "pattern wlr.alter_seq(sname:str, seqname:str, seq:ptr, val:bat[:lng]):void ", "WLRgeneric;", "Catalog operation alter_seq" ] [ "wlr", "alter_seq", "pattern wlr.alter_seq(sname:str, seqname:str, val:lng):void ", "WLRgeneric;", "Catalog operation alter_seq" ] 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 @@ -720,6 +720,7 @@ stdout of test 'MAL-signatures` in direc [ "algebra", "outerjoin", "command algebra.outerjoin(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]) ", "ALGouterjoin;", "Left outer join with candidate lists" ] [ "algebra", "project", "pattern algebra.project(b:bat[:any_1], v:any_3):bat[:any_3] ", "ALGprojecttail;", "Fill the tail with a constant" ] [ "algebra", "projection", "command algebra.projection(left:bat[:oid], right:bat[:any_3]):bat[:any_3] ", "ALGprojection;", "Project left input onto right input." ] +[ "algebra", "projection2", "command algebra.projection2(left:bat[:oid], right1:bat[:any_3], right2:bat[:any_3]):bat[:any_3] ", "ALGprojection2;", "Project left input onto right inputs which should be consecutive." ] [ "algebra", "projectionpath", "pattern algebra.projectionpath(l:bat[:any]...):bat[:any] ", "ALGprojectionpath;", "Routine to handle join paths. The type analysis is rather tricky." ] [ "algebra", "rangejoin", "command algebra.rangejoin(l:bat[:any_1], r1:bat[:any_1], r2:bat[:any_1], sl:bat[:oid], sr:bat[:oid], li:bit, hi:bit, anti:bit, symmetric:bit, estimate:lng) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGrangejoin;", "Range join: values in l and r1/r2 match if r1 <[=] l <[=] r2" ] [ "algebra", "reuse", "command algebra.reuse(b:bat[:any_1]):bat[:any_1] ", "ALGreuse;", "Reuse a temporary BAT if you can. Otherwise,\n\tallocate enough storage to accept result of an\n \toperation (not involving the heap)" ] @@ -19727,10 +19728,10 @@ stdout of test 'MAL-signatures` in direc [ "sql", "zero_or_one", "command sql.zero_or_one(col:bat[:any_1]):any_1 ", "zero_or_one;", "if col contains exactly one value return this. Incase of more raise an exception else return nil" ] [ "sql", "zero_or_one", "command sql.zero_or_one(col:bat[:any_1], err:bit):any_1 ", "zero_or_one_error;", "if col contains exactly one value return this. Incase of more raise an exception if err is true else return nil" ] [ "sql", "zero_or_one", "command sql.zero_or_one(col:bat[:any_1], err:bat[:bit]):any_1 ", "zero_or_one_error_bat;", "if col contains exactly one value return this. Incase of more raise an exception if err is true else return nil" ] -[ "sqlcatalog", "alter_add_range_partition", "pattern sqlcatalog.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:any_1, max:any_1, nills:int, update:int):void ", "SQLalter_add_range_partition;", "Catalog operation alter_add_range_partition" ] +[ "sqlcatalog", "alter_add_range_partition", "pattern sqlcatalog.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:any_1, max:any_1, nills:bit, update:int):void ", "SQLalter_add_range_partition;", "Catalog operation alter_add_range_partition" ] [ "sqlcatalog", "alter_add_table", "pattern sqlcatalog.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "SQLalter_add_table;", "Catalog operation alter_add_table" ] -[ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] -[ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int, arg:any...):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] +[ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:bit, update:int):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] +[ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:bit, update:int, arg:any...):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] [ "sqlcatalog", "alter_del_table", "pattern sqlcatalog.alter_del_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "SQLalter_del_table;", "Catalog operation alter_del_table" ] [ "sqlcatalog", "alter_seq", "pattern sqlcatalog.alter_seq(sname:str, seqname:str, seq:ptr, val:bat[:lng]):void ", "SQLalter_seq;", "Catalog operation alter_seq" ] [ "sqlcatalog", "alter_seq", "pattern sqlcatalog.alter_seq(sname:str, seqname:str, seq:ptr, val:lng):void ", "SQLalter_seq;", "Catalog operation alter_seq" ] @@ -19932,10 +19933,10 @@ stdout of test 'MAL-signatures` in direc [ "wkba", "#tostr", "command wkba.#tostr():void ", "wkbaTOSTR;", "" ] [ "wkba", "#write", "command wkba.#write():void ", "wkbaWRITE;", "" ] [ "wlc", "action", "pattern wlc.action(q:str):void ", "WLCaction;", "Keep the database changing queries for replay. " ] -[ "wlc", "alter_add_range_partition", "pattern wlc.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:str, max:str, nills:int, update:int):void ", "WLCgeneric;", "Catalog operation alter_add_range_partition" ] +[ "wlc", "alter_add_range_partition", "pattern wlc.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:str, max:str, nills:bit, update:int):void ", "WLCgeneric;", "Catalog operation alter_add_range_partition" ] [ "wlc", "alter_add_table", "pattern wlc.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "WLCgeneric;", "Catalog operation alter_add_table" ] -[ "wlc", "alter_add_value_partition", "pattern wlc.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int):void ", "WLCgeneric;", "Catalog operation alter_add_value_partition" ] -[ "wlc", "alter_add_value_partition", "pattern wlc.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int, arg:str...):void ", "WLCgeneric;", "Catalog operation alter_add_value_partition" ] +[ "wlc", "alter_add_value_partition", "pattern wlc.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:bit, update:int):void ", "WLCgeneric;", "Catalog operation alter_add_value_partition" ] +[ "wlc", "alter_add_value_partition", "pattern wlc.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:bit, update:int, arg:str...):void ", "WLCgeneric;", "Catalog operation alter_add_value_partition" ] [ "wlc", "alter_del_table", "pattern wlc.alter_del_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "WLCgeneric;", "Catalog operation alter_del_table" ] [ "wlc", "alter_seq", "pattern wlc.alter_seq(sname:str, seqname:str, seq:ptr, val:bat[:lng]):void ", "WLCgeneric;", "Catalog operation alter_seq" ] [ "wlc", "alter_seq", "pattern wlc.alter_seq(sname:str, seqname:str, val:lng):void ", "WLCgeneric;", "Catalog operation alter_seq" ] @@ -20002,10 +20003,10 @@ stdout of test 'MAL-signatures` in direc [ "wlc", "update", "pattern wlc.update(sname:str, tname:str, cname:str, tid:any, val:any):int ", "WLCupdate;", "Keep the update in the workload-capture-replay list" ] [ "wlr", "accept", "pattern wlr.accept():void ", "WLRaccept;", "Accept failing transaction" ] [ "wlr", "action", "pattern wlr.action(q:str):void ", "WLRaction;", "A query producing updates" ] -[ "wlr", "alter_add_range_partition", "pattern wlr.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:str, max:str, nills:int, update:int):void ", "WLRgeneric;", "Catalog operation alter_add_range_partition" ] +[ "wlr", "alter_add_range_partition", "pattern wlr.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:str, max:str, nills:bit, update:int):void ", "WLRgeneric;", "Catalog operation alter_add_range_partition" ] [ "wlr", "alter_add_table", "pattern wlr.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "WLRgeneric;", "Catalog operation alter_add_table" ] -[ "wlr", "alter_add_value_partition", "pattern wlr.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int):void ", "WLRgeneric;", "Catalog operation alter_add_value_partition" ] -[ "wlr", "alter_add_value_partition", "pattern wlr.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int, arg:str...):void ", "WLRgeneric;", "Catalog operation alter_add_value_partition" ] +[ "wlr", "alter_add_value_partition", "pattern wlr.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:bit, update:int):void ", "WLRgeneric;", "Catalog operation alter_add_value_partition" ] +[ "wlr", "alter_add_value_partition", "pattern wlr.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:bit, update:int, arg:str...):void ", "WLRgeneric;", "Catalog operation alter_add_value_partition" ] [ "wlr", "alter_del_table", "pattern wlr.alter_del_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "WLRgeneric;", "Catalog operation alter_del_table" ] [ "wlr", "alter_seq", "pattern wlr.alter_seq(sname:str, seqname:str, seq:ptr, val:bat[:lng]):void ", "WLRgeneric;", "Catalog operation alter_seq" ] [ "wlr", "alter_seq", "pattern wlr.alter_seq(sname:str, seqname:str, val:lng):void ", "WLRgeneric;", "Catalog operation alter_seq" ] 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 @@ -169,7 +169,8 @@ gdk_return BATouterjoin(BAT **r1p, BAT * gdk_return BATprint(stream *s, BAT *b); gdk_return BATprintcolumns(stream *s, int argc, BAT *argv[]); gdk_return BATprod(void *res, int tp, BAT *b, BAT *s, bool skip_nils, bool abort_on_error, bool nil_if_empty); -BAT *BATproject(BAT *l, BAT *r); +BAT *BATproject(BAT *restrict l, BAT *restrict r); +BAT *BATproject2(BAT *restrict l, BAT *restrict r1, BAT *restrict r2); BAT *BATprojectchain(BAT **bats); gdk_return BATrangejoin(BAT **r1p, BAT **r2p, BAT *l, BAT *rl, BAT *rh, BAT *sl, BAT *sr, bool li, bool hi, bool anti, bool symmetric, BUN estimate) __attribute__((__warn_unused_result__)); gdk_return BATreplace(BAT *b, BAT *p, BAT *n, bool force) __attribute__((__warn_unused_result__)); @@ -217,7 +218,6 @@ 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); @@ -283,9 +283,10 @@ void GDKlockstatistics(int); void *GDKmalloc(size_t size) __attribute__((__malloc__)) __attribute__((__alloc_size__(1))) __attribute__((__warn_unused_result__)); size_t GDKmem_cursize(void); gdk_return GDKmergeidx(BAT *b, BAT **a, int n_ar); -void *GDKmmap(const char *path, int mode, size_t len); +void *GDKmmap(const char *path, int mode, size_t len) __attribute__((__warn_unused_result__)); gdk_return GDKmmapfile(str buffer, size_t max, size_t id); int GDKms(void); +gdk_return GDKmunmap(void *addr, size_t len); int GDKnr_threads; void GDKprepareExit(void); void GDKqsort(void *restrict h, void *restrict t, const void *restrict base, size_t n, int hs, int ts, int tpe, bool reverse, bool nilslast); @@ -303,8 +304,7 @@ str GDKstrndup(const char *s, size_t n) void GDKsyserror(_In_z_ _Printf_format_string_ const char *format, ...) __attribute__((__format__(__printf__, 1, 2))); 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(const char *file, const char *func, int lineno, log_level_t lvl, component_t comp, const char *format, ...) __attribute__((__format__(__printf__, 6, 7))); void GDKtracer_reinit_basic(int sig); gdk_return GDKtracer_reset_adapter(void); gdk_return GDKtracer_reset_component_level(const char *comp); @@ -334,8 +334,6 @@ 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); void MT_exiting_thread(void); @@ -344,8 +342,6 @@ size_t MT_getrss(void); void MT_init(void); int MT_join_thread(MT_Id t); int MT_lockf(char *filename, int mode); -void *MT_mmap(const char *path, int mode, size_t len); -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); @@ -522,6 +518,7 @@ gdk_return logger_restart(logger *lg); int logger_sequence(logger *lg, int seq, lng *id); gdk_return logger_upgrade_bat(logger *lg, const char *name, char tpe, oid id) __attribute__((__warn_unused_result__)); void logger_with_ids(logger *lg); +log_level_t lvl_per_component[]; void *mdlopen(const char *library, int mode); const char *mercurial_revision(void) __attribute__((__const__)); int mo_add_option(opt **Set, int setlen, opt_kind kind, const char *name, const char *value); @@ -824,6 +821,7 @@ str ALGminany(ptr result, const bat *bid str ALGminany_skipnil(ptr result, const bat *bid, const bit *skipnil); str ALGouterjoin(bat *r1, bat *r2, const bat *l, const bat *r, const bat *sl, const bat *sr, const bit *nil_matches, const lng *estimate); str ALGprojection(bat *result, const bat *lid, const bat *rid); +str ALGprojection2(bat *result, const bat *lid, const bat *r1id, const bat *r2id); str ALGprojectionpath(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str ALGprojecttail(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str ALGrangejoin(bat *r1, bat *r2, const bat *lid, const bat *rlid, const bat *rhid, const bat *slid, const bat *srid, const bit *li, const bit *hi, const bit *anti, const bit *symmetric, const lng *estimate); @@ -2613,8 +2611,8 @@ str thetajoinRef; str thetaselectRef; str tidRef; str timestampRef; -void traceFunction(COMPONENT comp, MalBlkPtr mb, MalStkPtr stk, int flg); -void traceInstruction(COMPONENT comp, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int flg); +void traceFunction(component_t comp, MalBlkPtr mb, MalStkPtr stk, int flg); +void traceInstruction(component_t comp, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int flg); str transactionRef; str transaction_abortRef; str transaction_beginRef; diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c --- a/clients/mapiclient/dump.c +++ b/clients/mapiclient/dump.c @@ -2916,7 +2916,7 @@ dump_database(Mapi mid, stream *toConsol maxv = mapi_fetch_field(shdl, 1); wnulls = mapi_fetch_field(shdl, 2); } - if (minv || maxv) { + if (minv || maxv || !wnulls || (!minv && !maxv && wnulls && strcmp(wnulls, "false") == 0)) { mnstr_printf(toConsole, " FROM "); if (minv) squoted_print(toConsole, minv, '\''); @@ -2928,9 +2928,8 @@ dump_database(Mapi mid, stream *toConsol else mnstr_printf(toConsole, "RANGE MAXVALUE"); } - if (strcmp(wnulls, "true") == 0) { - mnstr_printf(toConsole, " %s NULL VALUES", (minv || maxv) ? "WITH" : "FOR"); - } + if (!wnulls || strcmp(wnulls, "true") == 0) + mnstr_printf(toConsole, " %s NULL VALUES", (minv || maxv || !wnulls) ? "WITH" : "FOR"); mapi_close_handle(shdl); } free(s2); diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -1269,7 +1269,7 @@ TESTrenderer(MapiHdl hdl) if ((unsigned char) *s < ' ') mnstr_printf(toConsole, "\\%03o", - (int) (unsigned char) *s); + (unsigned char) *s); else mnstr_write(toConsole, s, 1, 1); break; diff --git a/clients/odbc/winsetup/setup.c b/clients/odbc/winsetup/setup.c --- a/clients/odbc/winsetup/setup.c +++ b/clients/odbc/winsetup/setup.c @@ -113,7 +113,7 @@ DialogProc(HWND hwndDlg, UINT uMsg, WPAR switch (uMsg) { case WM_INITDIALOG: - ODBCLOG("DialogProc WM_INITDIALOG 0x%x 0x%x\n", (int) wParam, (int) lParam); + ODBCLOG("DialogProc WM_INITDIALOG 0x%x 0x%x\n", (unsigned) wParam, (unsigned) lParam); datap = (struct data *) lParam; /* center dialog on parent */ @@ -136,7 +136,7 @@ DialogProc(HWND hwndDlg, UINT uMsg, WPAR EnableWindow(GetDlgItem(hwndDlg, IDC_EDIT_DSN), FALSE); return TRUE; case WM_COMMAND: - ODBCLOG("DialogProc WM_COMMAND 0x%x 0x%x\n", (int) wParam, (int) lParam); + ODBCLOG("DialogProc WM_COMMAND 0x%x 0x%x\n", (unsigned) wParam, (unsigned) lParam); switch (LOWORD(wParam)) { case IDOK: @@ -179,7 +179,7 @@ DialogProc(HWND hwndDlg, UINT uMsg, WPAR return TRUE; } default: - ODBCLOG("DialogProc 0x%x 0x%x 0x%x\n", uMsg, (int) wParam, (int) lParam); + ODBCLOG("DialogProc 0x%x 0x%x 0x%x\n", uMsg, (unsigned) wParam, (unsigned) lParam); break; } return FALSE; diff --git a/common/options/getopt.c b/common/options/getopt.c --- a/common/options/getopt.c +++ b/common/options/getopt.c @@ -912,7 +912,7 @@ char **argv; break; default: - printf("?? getopt returned character code 0%o ??\n", c); + printf("?? getopt returned character code 0%o ??\n", (unsigned) c); } } diff --git a/common/options/getopt1.c b/common/options/getopt1.c --- a/common/options/getopt1.c +++ b/common/options/getopt1.c @@ -152,7 +152,7 @@ char **argv; break; default: - printf("?? getopt returned character code 0%o ??\n", c); + printf("?? getopt returned character code 0%o ??\n", (unsigned) c); } } diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -3907,7 +3907,7 @@ bs_write(stream *restrict ss, const void if (' ' <= s->buf[i] && s->buf[i] < 127) putc(s->buf[i], stderr); else - fprintf(stderr, "\\%03o", s->buf[i]); + fprintf(stderr, "\\%03o", (unsigned char) s->buf[i]); fprintf(stderr, "\"\n"); } #endif @@ -3960,7 +3960,7 @@ bs_flush(stream *ss) if (' ' <= s->buf[i] && s->buf[i] < 127) putc(s->buf[i], stderr); else _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list