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