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

Reply via email to