Changeset: 0529cf687b9d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/0529cf687b9d
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        monetdb5/modules/atoms/json.c
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/uuid.c
        monetdb5/modules/mal/batcalc.c
        monetdb5/modules/mal/pcre.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.h
        sql/backends/monet5/sql_gencode.c
        sql/common/sql_types.c
        sql/server/rel_dump.c
        sql/server/rel_optimizer.c
        sql/test/SQLancer/Tests/sqlancer17.test
        sql/test/SQLancer/Tests/sqlancer18.test
        sql/test/miscellaneous/Tests/groupby_expressions.test
        sql/test/miscellaneous/Tests/simple_plans.test
Branch: pushcands
Log Message:

Merged with default


diffs (truncated from 96749 to 300 lines):

diff --git a/.bumpversion.cfg b/.bumpversion.cfg
--- a/.bumpversion.cfg
+++ b/.bumpversion.cfg
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 11.42.0
+current_version = 11.44.0
 commit = False
 tag = False
 
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -819,3 +819,4 @@ 4b353b1f914e3c9c7493117284f9cc06677e4c71
 65065954ca086d01254a20cc145695fa8b9a3db2 Jul2021_11
 4b353b1f914e3c9c7493117284f9cc06677e4c71 Jul2021_SP1_release
 65065954ca086d01254a20cc145695fa8b9a3db2 Jul2021_SP1_release
+014b82412e664a306d2f5d3a2a2d49d75a6f8da5 Jan2022_root
diff --git a/ChangeLog b/ChangeLog.Jan2022
copy from ChangeLog
copy to ChangeLog.Jan2022
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -1,5 +1,5 @@
 %global name MonetDB
-%global version 11.42.0
+%global version 11.44.0
 %{!?buildno: %global buildno %(date +%Y%m%d)}
 
 # Use bcond_with to add a --with option; i.e., "without" is default.
diff --git a/clients/ChangeLog b/clients/ChangeLog
--- a/clients/ChangeLog
+++ b/clients/ChangeLog
@@ -1,10 +1,3 @@
 # ChangeLog file for clients
 # This file is updated with Maddlog
 
-* Wed Aug 11 2021 Sjoerd Mullender <sjo...@acm.org>
-- A new output formatting mode was added to mclient.  Use -fcsv-noquote
-  to produce a CSV (comma-separated values) output where the quote
-  characters have not been escapes.  This can be useful when producing
-  a single column string output that should be saved as is, e.g. when
-  using the sys.dump_database() function.
-
diff --git a/clients/ChangeLog b/clients/ChangeLog.Jan2022
copy from clients/ChangeLog
copy to clients/ChangeLog.Jan2022
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
@@ -5139,6 +5139,8 @@ stdout of test 'MAL-signatures` in direc
 [ "batsql",    "ntile",        "pattern batsql.ntile(X_0:bat[:any], X_1:any_1, 
X_2:any_2, X_3:any_3):bat[:any_1] ",    "SQLntile;",    "return the groups 
divided as equally as possible"      ]
 [ "batsql",    "ntile",        "pattern batsql.ntile(X_0:bat[:any], 
X_1:bat[:any_1], X_2:any_2, X_3:any_3):bat[:any_1] ",      "SQLntile;",    
"return the groups divided as equally as possible"      ]
 [ "batsql",    "password",     "pattern 
batsql.password(X_0:bat[:str]):bat[:str] ",    "db_password_wrap;",    "Return 
password hash of user"  ]
+[ "batsql",    "peak_next_value",      "pattern 
batsql.peak_next_value(X_0:bat[:str], X_1:bat[:str]):bat[:lng] ",      
"mvc_peak_next_value_bulk;",    "Peaks at the next value of the sequence"       
]
+[ "batsql",    "peak_next_value",      "pattern 
batsql.peak_next_value(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid]):bat[:lng] ",        "mvc_peak_next_value_bulk;",    "Peaks at 
the next value of the sequence"       ]
 [ "batsql",    "percent_rank", "pattern batsql.percent_rank(X_0:bat[:any_1], 
X_1:any_2, X_2:any_3):bat[:dbl] ",        "SQLpercent_rank;",     "return the 
percentage into the total number of groups for each row"    ]
 [ "batsql",    "prod", "pattern batsql.prod(X_0:bat[:bte], X_1:any, X_2:any, 
X_3:int, X_4:any, X_5:any):bat[:lng] ",   "SQLprod;",     "return the product 
of groups"  ]
 [ "batsql",    "prod", "pattern batsql.prod(X_0:bat[:dbl], X_1:any, X_2:any, 
X_3:int, X_4:any, X_5:any):bat[:dbl] ",   "SQLprod;",     "return the product 
of groups"  ]
@@ -7832,6 +7834,8 @@ stdout of test 'MAL-signatures` in direc
 [ "optimizer", "reorder",      "pattern optimizer.reorder():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "reorder",      "pattern optimizer.reorder(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Reorder by dataflow dependencies"      ]
 [ "optimizer", "sequential_pipe",      "function 
optimizer.sequential_pipe():void;",   "",     ""      ]
+[ "optimizer", "strimps",      "pattern optimizer.strimps():str ",     
"OPTwrapper;",  ""      ]
+[ "optimizer", "strimps",      "pattern optimizer.strimps(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Use strimps index if appropriate"      ]
 [ "optimizer", "volcano",      "pattern optimizer.volcano():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "volcano",      "pattern optimizer.volcano(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Simulate volcano style execution"      ]
 [ "optimizer", "volcano_pipe", "function optimizer.volcano_pipe():void;",      
"",     ""      ]
@@ -7921,7 +7925,6 @@ stdout of test 'MAL-signatures` in direc
 [ "shp",       "attach",       "unsafe pattern shp.attach(X_0:str):void ",     
"SHPattach;",   "Register an ESRI Shapefile in the vault catalog"       ]
 [ "shp",       "import",       "unsafe pattern shp.import(X_0:int):void ",     
"SHPimport;",   "Import an ESRI Shapefile with given id into the vault" ]
 [ "shp",       "import",       "unsafe pattern shp.import(X_0:int, 
X_1:wkb):void ",    "SHPpartialimport;",    "Partially import an ESRI Shapefile 
with given id into the vault"       ]
-[ "sql",       "abort",        "unsafe pattern sql.abort():void ",     
"SQLabort;",    "Trigger the abort operation for a MAL block"   ]
 [ "sql",       "affectedRows", "unsafe pattern sql.affectedRows(X_0:int, 
X_1:lng):int ",       "mvc_affected_rows_wrap;",      "export the number of 
affected rows by the current query"       ]
 [ "sql",       "all",  "pattern sql.all(X_0:bit, X_1:bit, X_2:bit):bit ",      
"SQLall_cmp;",  "if !cmp then false, (nl or nr) then nil, else true"    ]
 [ "sql",       "alpha",        "command sql.alpha(X_0:dbl, X_1:dbl):dbl ",     
"SQLcst_alpha_cst;",    "Implementation of astronomy alpha function: expands 
the radius theta depending on the declination"     ]
@@ -7956,7 +7959,6 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "bind_idxbat",  "pattern sql.bind_idxbat(X_0:int, X_1:str, 
X_2:str, X_3:str, X_4:int, X_5:int, X_6:int):bat[:any_1] ",  
"mvc_bind_idxbat_wrap;",        "Bind the 'schema.table.index' BAT with access 
kind:\n0 - base table\n1 - inserts\n2 - updates" ]
 [ "sql",       "claim",        "unsafe pattern sql.claim(X_0:int, X_1:str, 
X_2:str, X_3:lng) (X_4:oid, X_5:bat[:oid]) ",       "mvc_claim_wrap;",      
"Claims slots for appending rows."      ]
 [ "sql",       "clear_table",  "unsafe pattern sql.clear_table(X_0:str, 
X_1:str):lng ",        "mvc_clear_table_wrap;",        "Clear the table 
sname.tname."  ]
-[ "sql",       "commit",       "unsafe pattern sql.commit():void ",    
"SQLcommit;",   "Trigger the commit operation for a MAL block"  ]
 [ "sql",       "copy_from",    "unsafe pattern sql.copy_from(X_0:ptr, X_1:str, 
X_2:str, X_3:str, X_4:str, X_5:str, X_6:lng, X_7:lng, X_8:int, X_9:str, 
X_10:int, X_11:int):bat[:any]... ",     "mvc_import_table_wrap;",       "Import 
a table from bstream s with the \ngiven tuple and seperators (sep/rsep)"        
]
 [ "sql",       "copy_rejects", "pattern sql.copy_rejects() (X_0:bat[:lng], 
X_1:bat[:int], X_2:bat[:str], X_3:bat[:str]) ",     "COPYrejects;", ""      ]
 [ "sql",       "copy_rejects_clear",   "unsafe pattern 
sql.copy_rejects_clear():void ",        "COPYrejects_clear;",   ""      ]
@@ -7981,6 +7983,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "covariancep",  "pattern sql.covariancep(X_0:lng, X_1:lng, 
X_2:bit, X_3:bit, X_4:int, X_5:oid, X_6:oid):dbl ",  "SQLcovar_pop;",        
"return the covariance population value of groups"      ]
 [ "sql",       "covariancep",  "pattern sql.covariancep(X_0:sht, X_1:sht, 
X_2:bit, X_3:bit, X_4:int, X_5:oid, X_6:oid):dbl ",  "SQLcovar_pop;",        
"return the covariance population value of groups"      ]
 [ "sql",       "createorderindex",     "unsafe pattern 
sql.createorderindex(X_0:str, X_1:str, X_2:str):void ", 
"sql_createorderindex;",        "Instantiate the order index on a column"       
]
+[ "sql",       "createstrimps",        "unsafe pattern 
sql.createstrimps(X_0:str, X_1:str, X_2:str):void ",    "sql_createstrimps;",   
"Instantiate the strimps index on a column"     ]
 [ "sql",       "cume_dist",    "pattern sql.cume_dist(X_0:any_1, X_1:bit, 
X_2:bit):dbl ",      "SQLcume_dist;",        "return the accumulated 
distribution of the number of rows per group to the total number of partition 
rows"     ]
 [ "sql",       "current_time", "pattern sql.current_time():daytime ",  
"SQLcurrent_daytime;",  "Get the clients current daytime"       ]
 [ "sql",       "current_timestamp",    "pattern 
sql.current_timestamp():timestamp ",   "SQLcurrent_timestamp;",        "Get the 
clients current timestamp"     ]
@@ -8049,6 +8052,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "optimizer_updates",    "pattern sql.optimizer_updates():void 
",        "SQLoptimizersUpdate;", ""      ]
 [ "sql",       "optimizers",   "command sql.optimizers() (X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str]) ",      "getPipeCatalog;",      ""      ]
 [ "sql",       "password",     "pattern sql.password(X_0:str):str ",   
"db_password_wrap;",    "Return password hash of user"  ]
+[ "sql",       "peak_next_value",      "pattern sql.peak_next_value(X_0:str, 
X_1:str):lng ",   "mvc_peak_next_value;", "Peaks at the next value of the 
sequence"       ]
 [ "sql",       "percent_rank", "pattern sql.percent_rank(X_0:any_1, X_1:bit, 
X_2:bit):dbl ",   "SQLpercent_rank;",     "return the percentage into the total 
number of groups for each row"    ]
 [ "sql",       "prelude",      "pattern sql.prelude():void ",  "SQLprelude;",  
""      ]
 [ "sql",       "prepared_statements",  "pattern sql.prepared_statements() 
(X_0:bat[:int], X_1:bat[:str], X_2:bat[:int], X_3:bat[:str], 
X_4:bat[:timestamp]) ", "SQLsession_prepared_statements;",      "Available 
prepared statements in the current session"  ]
@@ -8118,8 +8122,6 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "suspend_log_flushing", "unsafe pattern 
sql.suspend_log_flushing():void ",      "SQLsuspend_log_flushing;",     
"Suspend WAL log flushing"      ]
 [ "sql",       "tid",  "pattern sql.tid(X_0:int, X_1:str, X_2:str):bat[:oid] 
",        "SQLtid;",      "Return a column with the valid tuple identifiers 
associated with the table sname.tname."       ]
 [ "sql",       "tid",  "pattern sql.tid(X_0:int, X_1:str, X_2:str, X_3:int, 
X_4:int):bat[:oid] ",      "SQLtid;",      "Return the tables tid column." ]
-[ "sql",       "transaction",  "unsafe pattern sql.transaction():void ",       
"SQLtransaction2;",     "Start an autocommit transaction"       ]
-[ "sql",       "transaction",  "unsafe pattern sql.transaction():void ",       
"SQLtransaction2;",     "Start an autocommit transaction"       ]
 [ "sql",       "transaction_begin",    "unsafe pattern 
sql.transaction_begin(X_0:int, X_1:str):void ", "SQLtransaction_begin;",        
"A transaction statement (type can be commit,release,rollback or start)"        
]
 [ "sql",       "transaction_commit",   "unsafe pattern 
sql.transaction_commit(X_0:int, X_1:str):void ",        
"SQLtransaction_commit;",       "A transaction statement (type can be 
commit,release,rollback or start)"        ]
 [ "sql",       "transaction_release",  "unsafe pattern 
sql.transaction_release(X_0:int, X_1:str):void ",       
"SQLtransaction_release;",      "A transaction statement (type can be 
commit,release,rollback or start)"        ]
@@ -8267,6 +8269,10 @@ stdout of test 'MAL-signatures` in direc
 [ "streams",   "readStr",      "unsafe command 
streams.readStr(X_0:streams):str ",     "mnstr_read_stringwrap;",       "read 
string data from the stream"      ]
 [ "streams",   "writeInt",     "unsafe command streams.writeInt(X_0:streams, 
X_1:int):void ",  "mnstr_writeIntwrap;",  "write data on the stream"      ]
 [ "streams",   "writeStr",     "unsafe command streams.writeStr(X_0:streams, 
X_1:str):void ",  "mnstr_write_stringwrap;",      "write data on the stream"    
  ]
+[ "strimps",   "mkstrimp",     "unsafe pattern strimps.mkstrimp(X_0:bat[:str], 
X_1:bat[:oid]):void ",  "PATstrimpCreate;",     "construct the strimp a BAT"    
]
+[ "strimps",   "strimpfilter", "pattern strimps.strimpfilter(X_0:str, 
X_1:str):bit ",  "PATstrimpFilter;",     ""      ]
+[ "strimps",   "strimpfilterjoin",     "pattern 
strimps.strimpfilterjoin(X_0:str, X_1:any, X_2:any, X_3:any, X_4:any, X_5:any) 
(X_6:bat[:oid], X_7:bat[:str]) ",       "PATstrimpFilter;",     ""      ]
+[ "strimps",   "strimpfilterselect",   "pattern 
strimps.strimpfilterselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, 
X_3:bit):bat[:oid] ",        "PATstrimpFilterSelect;",       ""      ]
 [ "sysmon",    "pause",        "unsafe pattern sysmon.pause(X_0:int):void ",   
"SYSMONpause;", "Suspend a running query"       ]
 [ "sysmon",    "pause",        "unsafe pattern sysmon.pause(X_0:lng):void ",   
"SYSMONpause;", "Suspend a running query"       ]
 [ "sysmon",    "pause",        "unsafe pattern sysmon.pause(X_0:sht):void ",   
"SYSMONpause;", "Suspend a running query"       ]
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
@@ -7278,6 +7278,8 @@ stdout of test 'MAL-signatures` in direc
 [ "batsql",    "ntile",        "pattern batsql.ntile(X_0:bat[:any], X_1:any_1, 
X_2:any_2, X_3:any_3):bat[:any_1] ",    "SQLntile;",    "return the groups 
divided as equally as possible"      ]
 [ "batsql",    "ntile",        "pattern batsql.ntile(X_0:bat[:any], 
X_1:bat[:any_1], X_2:any_2, X_3:any_3):bat[:any_1] ",      "SQLntile;",    
"return the groups divided as equally as possible"      ]
 [ "batsql",    "password",     "pattern 
batsql.password(X_0:bat[:str]):bat[:str] ",    "db_password_wrap;",    "Return 
password hash of user"  ]
+[ "batsql",    "peak_next_value",      "pattern 
batsql.peak_next_value(X_0:bat[:str], X_1:bat[:str]):bat[:lng] ",      
"mvc_peak_next_value_bulk;",    "Peaks at the next value of the sequence"       
]
+[ "batsql",    "peak_next_value",      "pattern 
batsql.peak_next_value(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid]):bat[:lng] ",        "mvc_peak_next_value_bulk;",    "Peaks at 
the next value of the sequence"       ]
 [ "batsql",    "percent_rank", "pattern batsql.percent_rank(X_0:bat[:any_1], 
X_1:any_2, X_2:any_3):bat[:dbl] ",        "SQLpercent_rank;",     "return the 
percentage into the total number of groups for each row"    ]
 [ "batsql",    "prod", "pattern batsql.prod(X_0:bat[:bte], X_1:any, X_2:any, 
X_3:int, X_4:any, X_5:any):bat[:hge] ",   "SQLprod;",     "return the product 
of groups"  ]
 [ "batsql",    "prod", "pattern batsql.prod(X_0:bat[:bte], X_1:any, X_2:any, 
X_3:int, X_4:any, X_5:any):bat[:lng] ",   "SQLprod;",     "return the product 
of groups"  ]
@@ -10728,6 +10730,8 @@ stdout of test 'MAL-signatures` in direc
 [ "optimizer", "reorder",      "pattern optimizer.reorder():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "reorder",      "pattern optimizer.reorder(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Reorder by dataflow dependencies"      ]
 [ "optimizer", "sequential_pipe",      "function 
optimizer.sequential_pipe():void;",   "",     ""      ]
+[ "optimizer", "strimps",      "pattern optimizer.strimps():str ",     
"OPTwrapper;",  ""      ]
+[ "optimizer", "strimps",      "pattern optimizer.strimps(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Use strimps index if appropriate"      ]
 [ "optimizer", "volcano",      "pattern optimizer.volcano():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "volcano",      "pattern optimizer.volcano(X_0:str, 
X_1:str):str ",     "OPTwrapper;",  "Simulate volcano style execution"      ]
 [ "optimizer", "volcano_pipe", "function optimizer.volcano_pipe():void;",      
"",     ""      ]
@@ -10817,7 +10821,6 @@ stdout of test 'MAL-signatures` in direc
 [ "shp",       "attach",       "unsafe pattern shp.attach(X_0:str):void ",     
"SHPattach;",   "Register an ESRI Shapefile in the vault catalog"       ]
 [ "shp",       "import",       "unsafe pattern shp.import(X_0:int):void ",     
"SHPimport;",   "Import an ESRI Shapefile with given id into the vault" ]
 [ "shp",       "import",       "unsafe pattern shp.import(X_0:int, 
X_1:wkb):void ",    "SHPpartialimport;",    "Partially import an ESRI Shapefile 
with given id into the vault"       ]
-[ "sql",       "abort",        "unsafe pattern sql.abort():void ",     
"SQLabort;",    "Trigger the abort operation for a MAL block"   ]
 [ "sql",       "affectedRows", "unsafe pattern sql.affectedRows(X_0:int, 
X_1:lng):int ",       "mvc_affected_rows_wrap;",      "export the number of 
affected rows by the current query"       ]
 [ "sql",       "all",  "pattern sql.all(X_0:bit, X_1:bit, X_2:bit):bit ",      
"SQLall_cmp;",  "if !cmp then false, (nl or nr) then nil, else true"    ]
 [ "sql",       "alpha",        "command sql.alpha(X_0:dbl, X_1:dbl):dbl ",     
"SQLcst_alpha_cst;",    "Implementation of astronomy alpha function: expands 
the radius theta depending on the declination"     ]
@@ -10854,7 +10857,6 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "bind_idxbat",  "pattern sql.bind_idxbat(X_0:int, X_1:str, 
X_2:str, X_3:str, X_4:int, X_5:int, X_6:int):bat[:any_1] ",  
"mvc_bind_idxbat_wrap;",        "Bind the 'schema.table.index' BAT with access 
kind:\n0 - base table\n1 - inserts\n2 - updates" ]
 [ "sql",       "claim",        "unsafe pattern sql.claim(X_0:int, X_1:str, 
X_2:str, X_3:lng) (X_4:oid, X_5:bat[:oid]) ",       "mvc_claim_wrap;",      
"Claims slots for appending rows."      ]
 [ "sql",       "clear_table",  "unsafe pattern sql.clear_table(X_0:str, 
X_1:str):lng ",        "mvc_clear_table_wrap;",        "Clear the table 
sname.tname."  ]
-[ "sql",       "commit",       "unsafe pattern sql.commit():void ",    
"SQLcommit;",   "Trigger the commit operation for a MAL block"  ]
 [ "sql",       "copy_from",    "unsafe pattern sql.copy_from(X_0:ptr, X_1:str, 
X_2:str, X_3:str, X_4:str, X_5:str, X_6:lng, X_7:lng, X_8:int, X_9:str, 
X_10:int, X_11:int):bat[:any]... ",     "mvc_import_table_wrap;",       "Import 
a table from bstream s with the \ngiven tuple and seperators (sep/rsep)"        
]
 [ "sql",       "copy_rejects", "pattern sql.copy_rejects() (X_0:bat[:lng], 
X_1:bat[:int], X_2:bat[:str], X_3:bat[:str]) ",     "COPYrejects;", ""      ]
 [ "sql",       "copy_rejects_clear",   "unsafe pattern 
sql.copy_rejects_clear():void ",        "COPYrejects_clear;",   ""      ]
@@ -10882,6 +10884,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "covariancep",  "pattern sql.covariancep(X_0:lng, X_1:lng, 
X_2:bit, X_3:bit, X_4:int, X_5:oid, X_6:oid):dbl ",  "SQLcovar_pop;",        
"return the covariance population value of groups"      ]
 [ "sql",       "covariancep",  "pattern sql.covariancep(X_0:sht, X_1:sht, 
X_2:bit, X_3:bit, X_4:int, X_5:oid, X_6:oid):dbl ",  "SQLcovar_pop;",        
"return the covariance population value of groups"      ]
 [ "sql",       "createorderindex",     "unsafe pattern 
sql.createorderindex(X_0:str, X_1:str, X_2:str):void ", 
"sql_createorderindex;",        "Instantiate the order index on a column"       
]
+[ "sql",       "createstrimps",        "unsafe pattern 
sql.createstrimps(X_0:str, X_1:str, X_2:str):void ",    "sql_createstrimps;",   
"Instantiate the strimps index on a column"     ]
 [ "sql",       "cume_dist",    "pattern sql.cume_dist(X_0:any_1, X_1:bit, 
X_2:bit):dbl ",      "SQLcume_dist;",        "return the accumulated 
distribution of the number of rows per group to the total number of partition 
rows"     ]
 [ "sql",       "current_time", "pattern sql.current_time():daytime ",  
"SQLcurrent_daytime;",  "Get the clients current daytime"       ]
 [ "sql",       "current_timestamp",    "pattern 
sql.current_timestamp():timestamp ",   "SQLcurrent_timestamp;",        "Get the 
clients current timestamp"     ]
@@ -10950,6 +10953,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "optimizer_updates",    "pattern sql.optimizer_updates():void 
",        "SQLoptimizersUpdate;", ""      ]
 [ "sql",       "optimizers",   "command sql.optimizers() (X_0:bat[:str], 
X_1:bat[:str], X_2:bat[:str]) ",      "getPipeCatalog;",      ""      ]
 [ "sql",       "password",     "pattern sql.password(X_0:str):str ",   
"db_password_wrap;",    "Return password hash of user"  ]
+[ "sql",       "peak_next_value",      "pattern sql.peak_next_value(X_0:str, 
X_1:str):lng ",   "mvc_peak_next_value;", "Peaks at the next value of the 
sequence"       ]
 [ "sql",       "percent_rank", "pattern sql.percent_rank(X_0:any_1, X_1:bit, 
X_2:bit):dbl ",   "SQLpercent_rank;",     "return the percentage into the total 
number of groups for each row"    ]
 [ "sql",       "prelude",      "pattern sql.prelude():void ",  "SQLprelude;",  
""      ]
 [ "sql",       "prepared_statements",  "pattern sql.prepared_statements() 
(X_0:bat[:int], X_1:bat[:str], X_2:bat[:int], X_3:bat[:str], 
X_4:bat[:timestamp]) ", "SQLsession_prepared_statements;",      "Available 
prepared statements in the current session"  ]
@@ -11031,8 +11035,6 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "suspend_log_flushing", "unsafe pattern 
sql.suspend_log_flushing():void ",      "SQLsuspend_log_flushing;",     
"Suspend WAL log flushing"      ]
 [ "sql",       "tid",  "pattern sql.tid(X_0:int, X_1:str, X_2:str):bat[:oid] 
",        "SQLtid;",      "Return a column with the valid tuple identifiers 
associated with the table sname.tname."       ]
 [ "sql",       "tid",  "pattern sql.tid(X_0:int, X_1:str, X_2:str, X_3:int, 
X_4:int):bat[:oid] ",      "SQLtid;",      "Return the tables tid column." ]
-[ "sql",       "transaction",  "unsafe pattern sql.transaction():void ",       
"SQLtransaction2;",     "Start an autocommit transaction"       ]
-[ "sql",       "transaction",  "unsafe pattern sql.transaction():void ",       
"SQLtransaction2;",     "Start an autocommit transaction"       ]
 [ "sql",       "transaction_begin",    "unsafe pattern 
sql.transaction_begin(X_0:int, X_1:str):void ", "SQLtransaction_begin;",        
"A transaction statement (type can be commit,release,rollback or start)"        
]
 [ "sql",       "transaction_commit",   "unsafe pattern 
sql.transaction_commit(X_0:int, X_1:str):void ",        
"SQLtransaction_commit;",       "A transaction statement (type can be 
commit,release,rollback or start)"        ]
 [ "sql",       "transaction_release",  "unsafe pattern 
sql.transaction_release(X_0:int, X_1:str):void ",       
"SQLtransaction_release;",      "A transaction statement (type can be 
commit,release,rollback or start)"        ]
@@ -11184,6 +11186,10 @@ stdout of test 'MAL-signatures` in direc
 [ "streams",   "readStr",      "unsafe command 
streams.readStr(X_0:streams):str ",     "mnstr_read_stringwrap;",       "read 
string data from the stream"      ]
 [ "streams",   "writeInt",     "unsafe command streams.writeInt(X_0:streams, 
X_1:int):void ",  "mnstr_writeIntwrap;",  "write data on the stream"      ]
 [ "streams",   "writeStr",     "unsafe command streams.writeStr(X_0:streams, 
X_1:str):void ",  "mnstr_write_stringwrap;",      "write data on the stream"    
  ]
+[ "strimps",   "mkstrimp",     "unsafe pattern strimps.mkstrimp(X_0:bat[:str], 
X_1:bat[:oid]):void ",  "PATstrimpCreate;",     "construct the strimp a BAT"    
]
+[ "strimps",   "strimpfilter", "pattern strimps.strimpfilter(X_0:str, 
X_1:str):bit ",  "PATstrimpFilter;",     ""      ]
+[ "strimps",   "strimpfilterjoin",     "pattern 
strimps.strimpfilterjoin(X_0:str, X_1:any, X_2:any, X_3:any, X_4:any, X_5:any) 
(X_6:bat[:oid], X_7:bat[:str]) ",       "PATstrimpFilter;",     ""      ]
+[ "strimps",   "strimpfilterselect",   "pattern 
strimps.strimpfilterselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, 
X_3:bit):bat[:oid] ",        "PATstrimpFilterSelect;",       ""      ]
 [ "sysmon",    "pause",        "unsafe pattern sysmon.pause(X_0:int):void ",   
"SYSMONpause;", "Suspend a running query"       ]
 [ "sysmon",    "pause",        "unsafe pattern sysmon.pause(X_0:lng):void ",   
"SYSMONpause;", "Suspend a running query"       ]
 [ "sysmon",    "pause",        "unsafe pattern sysmon.pause(X_0:sht):void ",   
"SYSMONpause;", "Suspend a running query"       ]
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
@@ -393,6 +393,9 @@ BUN ORDERfndlast(BAT *b, Heap *oidxh, co
 BUN SORTfnd(BAT *b, const void *v);
 BUN SORTfndfirst(BAT *b, const void *v);
 BUN SORTfndlast(BAT *b, const void *v);
+gdk_return STRMPappendBitstring(BAT *b, const str s);
+gdk_return STRMPcreate(BAT *b, BAT *s);
+BAT *STRMPfilter(BAT *b, BAT *s, const str q);
 MT_Id THRcreate(void (*f)(void *), void *arg, enum MT_thr_detach d, const char 
*name);
 void *THRdata[THREADDATA];
 void THRdel(Thread t);
@@ -1152,6 +1155,7 @@ const char *minusRef;
 const char *mirrorRef;
 const char *mitosisRef;
 const char *mkeyRef;
+const char *mkstrimpsRef;
 const char *mmathRef;
 const char *modRef;
 char monet_characteristics[4096];
@@ -1374,6 +1378,8 @@ void strAfterCall(ValPtr v, ValPtr bak);
 void strBeforeCall(ValPtr v, ValPtr bak);
 const char *strRef;
 const char *streamsRef;
+const char *strimpFilterSelectRef;
+const char *strimpsRef;
 const char *subavgRef;
 const char *subcountRef;
 const char *subdeltaRef;
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -1506,15 +1506,15 @@ describe_sequence(Mapi mid, const char *
                goto bailout;
 
        snprintf(query, maxquerylen,
-               "SELECT s.name, "                                               
        /* 0 */
-                      "seq.name, "                                             
        /* 1 */
-                      "get_value_for(s.name, seq.name), "      /* 2 */
-                      "seq.\"minvalue\", "                                     
/* 3 */
-                      "seq.\"maxvalue\", "                                     
/* 4 */
-                      "seq.\"increment\", "                            /* 5 */
-                      "seq.\"cycle\", "                                        
/* 6 */
-                      "seq.\"cacheinc\", "                                     
/* 7 */
-                      "rem.\"remark\" "                                        
/* 8 */
+               "SELECT s.name, "                                               
                        /* 0 */
+                      "seq.name, "                                             
                        /* 1 */
+                      "peak_next_value_for(s.name, seq.name), "        /* 2 */
+                      "seq.\"minvalue\", "                                     
                /* 3 */
+                      "seq.\"maxvalue\", "                                     
                /* 4 */
+                      "seq.\"increment\", "                                    
        /* 5 */
+                      "seq.\"cycle\", "                                        
                /* 6 */
+                      "seq.\"cacheinc\", "                                     
                /* 7 */
+                      "rem.\"remark\" "                                        
                /* 8 */
                "FROM sys.sequences seq LEFT OUTER JOIN sys.comments rem ON 
seq.id = rem.id, "
                     "sys.schemas s "
                "WHERE s.id = seq.schema_id "
@@ -2389,17 +2389,16 @@ dump_database(Mapi mid, stream *toConsol
                "WHERE sch.id = seq.schema_id "
                "ORDER BY sch.name, seq.name";
        const char *sequences2 =
-               "SELECT s.name, "
-                    "seq.name, "
-                    "get_value_for(s.name, seq.name), "
-                    "seq.\"minvalue\", "
-                    "seq.\"maxvalue\", "
-                    "seq.\"increment\", "
-                    "seq.\"cycle\" "
-               "FROM sys.sequences seq, "
-                    "sys.schemas s "
-               "WHERE s.id = seq.schema_id "
-               "ORDER BY s.name, seq.name";
+               "SELECT "
+                    "sch, "
+                    "seq, "
+                    "rs, "
+                    "rmi, "
+                    "rma, "
+                    "inc, "
+                    "cycle "
+               "FROM sys.describe_sequences "
+               "ORDER BY sch, seq";
        /* we must dump tables, views, functions/procedures and triggers in 
order of creation since they can refer to each other */
        const char *tables_views_functions_triggers =
                "with vft (sname, name, id, query, remark, type) AS ("
@@ -2874,6 +2873,8 @@ dump_database(Mapi mid, stream *toConsol
                        if (sname != NULL && strcmp(schema, sname) != 0)
                                continue;
 
+                       // sleep(7);
+
                        mnstr_printf(toConsole,
                                     "ALTER SEQUENCE ");
                        dquoted_print(toConsole, schema, ".");
@@ -2881,9 +2882,9 @@ dump_database(Mapi mid, stream *toConsol
                        mnstr_printf(toConsole, " RESTART WITH %s", restart);
                        if (strcmp(increment, "1") != 0)
                                mnstr_printf(toConsole, " INCREMENT BY %s", 
increment);
-                       if (strcmp(minvalue, "0") != 0)
+                       if (minvalue)
                                mnstr_printf(toConsole, " MINVALUE %s", 
minvalue);
-                       if (strcmp(maxvalue, "0") != 0)
+                       if (maxvalue)
                                mnstr_printf(toConsole, " MAXVALUE %s", 
maxvalue);
                        mnstr_printf(toConsole, " %sCYCLE;\n", strcmp(cycle, 
"true") == 0 ? "" : "NO ");
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to