Changeset: 0bb2241d052b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0bb2241d052b Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/SQL-dump.stable.out clients/Tests/SQL-dump.stable.out.int128 clients/Tests/exports.stable.out monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/optimizer/opt_oltp.c sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out sql/test/BugTracker-2014/Tests/querylog.Bug-3607.stable.out sql/test/Tests/systemfunctions.stable.out sql/test/Tests/systemfunctions.stable.out.int128 sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/leaks/Tests/check1.stable.out.int128 sql/test/leaks/Tests/check2.stable.out.int128 sql/test/leaks/Tests/check3.stable.out.int128 sql/test/leaks/Tests/check4.stable.out.int128 sql/test/leaks/Tests/check5.stable.out.int128 sql/test/mapi/Tests/sql_int128.stable.out Branch: oltp Log Message:
merge with default diffs (truncated from 840 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 @@ -8114,10 +8114,11 @@ Ready. [ "oltp", "disable", "pattern oltp.disable():void ", "OLTPdisable;", "Disable the OLTP delay monitor" ] [ "oltp", "enable", "pattern oltp.enable():void ", "OLTPenable;", "Enable the OLTP delay monitor" ] [ "oltp", "init", "pattern oltp.init():void ", "OLTPinit;", "Initialize the lock table" ] +[ "oltp", "isenabled", "command oltp.isenabled():int ", "OLTPis_enabled;", "Query the OLTP state" ] [ "oltp", "lock", "pattern oltp.lock(lck:int...):void ", "OLTPlock;", "Wait for all write locks needed" ] [ "oltp", "release", "pattern oltp.release(lck:int...):void ", "OLTPrelease;", "Release for all write locks needed" ] [ "oltp", "reset", "pattern oltp.reset():void ", "OLTPreset;", "Reset the OLTP lock table" ] -[ "oltp", "table", "pattern oltp.table() (start:bat[:timestamp],usr:bat[:str],unit:bat[:int],cnt:bat[:int],qry:bat[:str]) ", "OLTPtable;", "Show status of lock table" ] +[ "oltp", "table", "pattern oltp.table() (start:bat[:timestamp],usr:bat[:str],unit:bat[:int],cnt:bat[:int]) ", "OLTPtable;", "Show status of lock table" ] [ "optimizer", "aliases", "pattern optimizer.aliases():str ", "OPTwrapper;", "" ] [ "optimizer", "aliases", "pattern optimizer.aliases(mod:str,fcn:str):str ", "OPTwrapper;", "Alias removal optimizer" ] [ "optimizer", "candidates", "pattern optimizer.candidates():str ", "OPTwrapper;", "" ] @@ -8316,21 +8317,6 @@ Ready. [ "sql", "bind_idxbat", "pattern sql.bind_idxbat(mvc:int,schema:str,table:str,index:str,access:int):bat[:any_1] ", "mvc_bind_idxbat_wrap;", "Bind the 'schema.table.index' BAT with access kind:\n\t0 - base table\n\t1 - inserts\n\t2 - updates" ] [ "sql", "bind_idxbat", "pattern sql.bind_idxbat(mvc:int,schema:str,table:str,index:str,access:int,part_nr:int,nr_parts:int) (uid:bat[:oid],uval:bat[:any_1]) ", "mvc_bind_idxbat_wrap;", "Bind the 'schema.table.index' BAT with access kind:\n\t0 - base table\n\t1 - inserts\n\t2 - updates" ] [ "sql", "bind_idxbat", "pattern sql.bind_idxbat(mvc:int,schema:str,table:str,index:str,access:int,part_nr:int,nr_parts:int):bat[:any_1] ", "mvc_bind_idxbat_wrap;", "Bind the 'schema.table.index' BAT with access kind:\n\t0 - base table\n\t1 - inserts\n\t2 - updates" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,grantee:str,role:str,grantor:int,admin:int):void ", "SQLcatalog;", "a grant/revoke role statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,iname:str,itype:int,sname:str,tname:str...):void ", "SQLcatalog;", "a create index catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,msname:str,mtname:str,psname:str,ptname:str,action:int):void ", "SQLcatalog;", "a alter table add/del table catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,func:int,grantee:str,privs:int,grant:int,grantor:int):void ", "SQLcatalog;", "a grant/revoke function privileges statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,name:str,action:int):void ", "SQLcatalog;", "a catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,name:str,funcid:int,ft:int,action:int):void ", "SQLcatalog;", "a catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,name:str,tname:str,time:int,o:int,event:int,oname:str,nname:str,condition:str,query:str):void ", "SQLcatalog;", "a catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,t:ptr):void ", "SQLcatalog;", "a catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,t:ptr,restart:lng):void ", "SQLcatalog;", "a catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,t:ptr,temp:int):void ", "SQLcatalog;", "a catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,tname:str):void ", "SQLcatalog;", "a catalog trigger statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,tname:str,access:int):void ", "SQLcatalog;", "a alter table access statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,tname:str,grantee:str,privs:int,cname:str,grant:int,grantor:int):void ", "SQLcatalog;", "a grant/revoke privileges statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,tname:str,impl:str):void ", "SQLcatalog;", "a create type catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,user:str,passwd:str,enc:int,schema:str,fullname:str):void ", "SQLcatalog;", "a user catalog statement" ] [ "sql", "clear_table", "pattern sql.clear_table(sname:str,tname:str):lng ", "mvc_clear_table_wrap;", "Clear table" ] [ "sql", "commit", "pattern sql.commit():void ", "SQLcommit;", "Trigger the commit operation for a MAL block" ] [ "sql", "copy_from", "pattern sql.copy_from(t:ptr,sep:str,rsep:str,ssep:str,ns:str,fname:str,nr:lng,offset:lng,locked:int,best:int):bat[:any]... ", "mvc_import_table_wrap;", "Import a table from bstream s with the \n\tgiven tuple and seperators (sep/rsep)" ] @@ -8456,8 +8442,12 @@ Ready. [ "sql", "sysmon_stop", "pattern sql.sysmon_stop(tag:sht):void ", "SYSMONstop;", "" ] [ "sql", "tid", "pattern sql.tid(mvc:int,sname:str,tname:str):bat[:oid] ", "SQLtid;", "Return the tables tid column." ] [ "sql", "tid", "pattern sql.tid(mvc:int,sname:str,tname:str,part_nr:int,nr_parts:int):bat[:oid] ", "SQLtid;", "Return the tables tid column." ] -[ "sql", "trans", "pattern sql.trans(type:int,chain:int,name:str):void ", "SQLtransaction;", "A transaction statement (type can be commit,release,rollback or start)" ] [ "sql", "transaction", "pattern sql.transaction():void ", "SQLtransaction2;", "Start an autocommit transaction" ] +[ "sql", "transaction", "pattern sql.transaction():void ", "SQLtransaction2;", "Start an autocommit transaction" ] +[ "sql", "transaction_begin", "pattern sql.transaction_begin(chain:int,name:str):void ", "SQLtransaction_begin;", "A transaction statement (type can be commit,release,rollback or start)" ] +[ "sql", "transaction_commit", "pattern sql.transaction_commit(chain:int,name:str):void ", "SQLtransaction_commit;", "A transaction statement (type can be commit,release,rollback or start)" ] +[ "sql", "transaction_release", "pattern sql.transaction_release(chain:int,name:str):void ", "SQLtransaction_release;", "A transaction statement (type can be commit,release,rollback or start)" ] +[ "sql", "transaction_rollback", "pattern sql.transaction_rollback(chain:int,name:str):void ", "SQLtransaction_rollback;", "A transaction statement (type can be commit,release,rollback or start)" ] [ "sql", "update", "pattern sql.update(mvc:int,sname:str,tname:str,cname:str,rids:any,upd:any):int ", "mvc_update_wrap;", "Update the values of the column tname.cname" ] [ "sql", "vacuum", "pattern sql.vacuum(sch:str,tbl:str):void ", "SQLvacuum;", "Choose an approach to consolidate the deletions" ] [ "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" ] 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 @@ -10476,10 +10476,11 @@ Ready. [ "oltp", "disable", "pattern oltp.disable():void ", "OLTPdisable;", "Disable the OLTP delay monitor" ] [ "oltp", "enable", "pattern oltp.enable():void ", "OLTPenable;", "Enable the OLTP delay monitor" ] [ "oltp", "init", "pattern oltp.init():void ", "OLTPinit;", "Initialize the lock table" ] +[ "oltp", "isenabled", "command oltp.isenabled():int ", "OLTPis_enabled;", "Query the OLTP state" ] [ "oltp", "lock", "pattern oltp.lock(lck:int...):void ", "OLTPlock;", "Wait for all write locks needed" ] [ "oltp", "release", "pattern oltp.release(lck:int...):void ", "OLTPrelease;", "Release for all write locks needed" ] [ "oltp", "reset", "pattern oltp.reset():void ", "OLTPreset;", "Reset the OLTP lock table" ] -[ "oltp", "table", "pattern oltp.table() (start:bat[:timestamp],usr:bat[:str],unit:bat[:int],cnt:bat[:int],qry:bat[:str]) ", "OLTPtable;", "Show status of lock table" ] +[ "oltp", "table", "pattern oltp.table() (start:bat[:timestamp],usr:bat[:str],unit:bat[:int],cnt:bat[:int]) ", "OLTPtable;", "Show status of lock table" ] [ "optimizer", "aliases", "pattern optimizer.aliases():str ", "OPTwrapper;", "" ] [ "optimizer", "aliases", "pattern optimizer.aliases(mod:str,fcn:str):str ", "OPTwrapper;", "Alias removal optimizer" ] [ "optimizer", "candidates", "pattern optimizer.candidates():str ", "OPTwrapper;", "" ] @@ -10678,21 +10679,6 @@ Ready. [ "sql", "bind_idxbat", "pattern sql.bind_idxbat(mvc:int,schema:str,table:str,index:str,access:int):bat[:any_1] ", "mvc_bind_idxbat_wrap;", "Bind the 'schema.table.index' BAT with access kind:\n\t0 - base table\n\t1 - inserts\n\t2 - updates" ] [ "sql", "bind_idxbat", "pattern sql.bind_idxbat(mvc:int,schema:str,table:str,index:str,access:int,part_nr:int,nr_parts:int) (uid:bat[:oid],uval:bat[:any_1]) ", "mvc_bind_idxbat_wrap;", "Bind the 'schema.table.index' BAT with access kind:\n\t0 - base table\n\t1 - inserts\n\t2 - updates" ] [ "sql", "bind_idxbat", "pattern sql.bind_idxbat(mvc:int,schema:str,table:str,index:str,access:int,part_nr:int,nr_parts:int):bat[:any_1] ", "mvc_bind_idxbat_wrap;", "Bind the 'schema.table.index' BAT with access kind:\n\t0 - base table\n\t1 - inserts\n\t2 - updates" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,grantee:str,role:str,grantor:int,admin:int):void ", "SQLcatalog;", "a grant/revoke role statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,iname:str,itype:int,sname:str,tname:str...):void ", "SQLcatalog;", "a create index catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,msname:str,mtname:str,psname:str,ptname:str,action:int):void ", "SQLcatalog;", "a alter table add/del table catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,func:int,grantee:str,privs:int,grant:int,grantor:int):void ", "SQLcatalog;", "a grant/revoke function privileges statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,name:str,action:int):void ", "SQLcatalog;", "a catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,name:str,funcid:int,ft:int,action:int):void ", "SQLcatalog;", "a catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,name:str,tname:str,time:int,o:int,event:int,oname:str,nname:str,condition:str,query:str):void ", "SQLcatalog;", "a catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,t:ptr):void ", "SQLcatalog;", "a catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,t:ptr,restart:lng):void ", "SQLcatalog;", "a catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,t:ptr,temp:int):void ", "SQLcatalog;", "a catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,tname:str):void ", "SQLcatalog;", "a catalog trigger statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,tname:str,access:int):void ", "SQLcatalog;", "a alter table access statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,tname:str,grantee:str,privs:int,cname:str,grant:int,grantor:int):void ", "SQLcatalog;", "a grant/revoke privileges statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,sname:str,tname:str,impl:str):void ", "SQLcatalog;", "a create type catalog statement" ] -[ "sql", "catalog", "pattern sql.catalog(type:int,user:str,passwd:str,enc:int,schema:str,fullname:str):void ", "SQLcatalog;", "a user catalog statement" ] [ "sql", "clear_table", "pattern sql.clear_table(sname:str,tname:str):lng ", "mvc_clear_table_wrap;", "Clear table" ] [ "sql", "commit", "pattern sql.commit():void ", "SQLcommit;", "Trigger the commit operation for a MAL block" ] [ "sql", "copy_from", "pattern sql.copy_from(t:ptr,sep:str,rsep:str,ssep:str,ns:str,fname:str,nr:lng,offset:lng,locked:int,best:int):bat[:any]... ", "mvc_import_table_wrap;", "Import a table from bstream s with the \n\tgiven tuple and seperators (sep/rsep)" ] @@ -10820,8 +10806,12 @@ Ready. [ "sql", "sysmon_stop", "pattern sql.sysmon_stop(tag:sht):void ", "SYSMONstop;", "" ] [ "sql", "tid", "pattern sql.tid(mvc:int,sname:str,tname:str):bat[:oid] ", "SQLtid;", "Return the tables tid column." ] [ "sql", "tid", "pattern sql.tid(mvc:int,sname:str,tname:str,part_nr:int,nr_parts:int):bat[:oid] ", "SQLtid;", "Return the tables tid column." ] -[ "sql", "trans", "pattern sql.trans(type:int,chain:int,name:str):void ", "SQLtransaction;", "A transaction statement (type can be commit,release,rollback or start)" ] [ "sql", "transaction", "pattern sql.transaction():void ", "SQLtransaction2;", "Start an autocommit transaction" ] +[ "sql", "transaction", "pattern sql.transaction():void ", "SQLtransaction2;", "Start an autocommit transaction" ] +[ "sql", "transaction_begin", "pattern sql.transaction_begin(chain:int,name:str):void ", "SQLtransaction_begin;", "A transaction statement (type can be commit,release,rollback or start)" ] +[ "sql", "transaction_commit", "pattern sql.transaction_commit(chain:int,name:str):void ", "SQLtransaction_commit;", "A transaction statement (type can be commit,release,rollback or start)" ] +[ "sql", "transaction_release", "pattern sql.transaction_release(chain:int,name:str):void ", "SQLtransaction_release;", "A transaction statement (type can be commit,release,rollback or start)" ] +[ "sql", "transaction_rollback", "pattern sql.transaction_rollback(chain:int,name:str):void ", "SQLtransaction_rollback;", "A transaction statement (type can be commit,release,rollback or start)" ] [ "sql", "update", "pattern sql.update(mvc:int,sname:str,tname:str,cname:str,rids:any,upd:any):int ", "mvc_update_wrap;", "Update the values of the column tname.cname" ] [ "sql", "vacuum", "pattern sql.vacuum(sch:str,tbl:str):void ", "SQLvacuum;", "Choose an approach to consolidate the deletions" ] [ "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" ] diff --git a/clients/Tests/SQL-dump.stable.out b/clients/Tests/SQL-dump.stable.out --- a/clients/Tests/SQL-dump.stable.out +++ b/clients/Tests/SQL-dump.stable.out @@ -222,6 +222,7 @@ Ready. \dSf sys."newurl" \dSf sys."oltp_disable" \dSf sys."oltp_enable" +\dSf sys."oltp_is_enabled" \dSf sys."oltp_locks" \dSf sys."oltp_reset" \dSf sys."optimizer_stats" @@ -603,6 +604,7 @@ SYSTEM FUNCTION sys.not_uniques SYSTEM FUNCTION sys.octet_length SYSTEM FUNCTION sys.oltp_disable SYSTEM FUNCTION sys.oltp_enable +SYSTEM FUNCTION sys.oltp_is_enabled SYSTEM FUNCTION sys.oltp_locks SYSTEM FUNCTION sys.oltp_reset SYSTEM FUNCTION sys.optimizer_stats @@ -988,7 +990,8 @@ create function newurl(protocol string, create function newurl(protocol string, hostname string, file string) returns url external name url."new"; create procedure sys.oltp_disable() external name oltp.disable; create procedure sys.oltp_enable() external name oltp.enable; -create function sys.oltp_locks() returns table(started timestamp, username string, lockid integer, cnt integer, query string) external name oltp."table"; +create function sys.oltp_is_enabled() returns integer external name oltp.isenabled; +create function sys.oltp_locks() returns table(started timestamp, username string, lockid integer, cnt integer) external name oltp."table"; create procedure sys.oltp_reset() external name oltp.reset; create function sys.optimizer_stats () returns table (rewrite string, count int) external name sql.dump_opt_stats; create function sys.optimizers () returns table (name string, def string, status string) external name sql.optimizers; @@ -2201,7 +2204,8 @@ drop function pcre_replace(string, strin [ "sys", "octet_length", "nbytes", "str", 0, 1, false, false, false ] [ "sys", "oltp_disable", "create procedure sys.oltp_disable() external name oltp.disable;", "oltp", 1, 2, true, false, false ] [ "sys", "oltp_enable", "create procedure sys.oltp_enable() external name oltp.enable;", "oltp", 1, 2, true, false, false ] -[ "sys", "oltp_locks", "create function sys.oltp_locks() returns table(started timestamp, username string, lockid integer, cnt integer, query string) external name oltp.\"table\";", "oltp", 1, 5, false, false, false ] +[ "sys", "oltp_is_enabled", "create function sys.oltp_is_enabled() returns integer external name oltp.isenabled;", "oltp", 1, 1, false, false, false ] +[ "sys", "oltp_locks", "create function sys.oltp_locks() returns table(started timestamp, username string, lockid integer, cnt integer) external name oltp.\"table\";", "oltp", 1, 5, false, false, false ] [ "sys", "oltp_reset", "create procedure sys.oltp_reset() external name oltp.reset;", "oltp", 1, 2, true, false, false ] [ "sys", "optimizer_stats", "create function sys.optimizer_stats () returns table (rewrite string, count int) external name sql.dump_opt_stats;", "sql", 1, 5, false, false, false ] [ "sys", "optimizers", "create function sys.optimizers () returns table (name string, def string, status string) external name sql.optimizers;", "sql", 1, 5, false, false, false ] @@ -3752,7 +3756,8 @@ drop function pcre_replace(string, strin [ "sys", "octet_length", "arg_1", "varchar", 0, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "oltp_disable", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "oltp_enable", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] -[ "sys", "oltp_locks", "username", "clob", 0, 0, 0, "lockid", "int", 32, 0, 0, "cnt", "int", 32, 0, 0, "query", "clob", 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] +[ "sys", "oltp_is_enabled", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] +[ "sys", "oltp_locks", "username", "clob", 0, 0, 0, "lockid", "int", 32, 0, 0, "cnt", "int", 32, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "oltp_reset", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "optimizer_stats", "count", "int", 32, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "optimizers", "def", "clob", 0, 0, 0, "status", "clob", 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] @@ -6111,6 +6116,7 @@ drop function pcre_replace(string, strin [ "octet_length" ] [ "oltp_disable" ] [ "oltp_enable" ] +[ "oltp_is_enabled" ] [ "oltp_locks" ] [ "oltp_reset" ] [ "optimizer_stats" ] diff --git a/clients/Tests/SQL-dump.stable.out.int128 b/clients/Tests/SQL-dump.stable.out.int128 --- a/clients/Tests/SQL-dump.stable.out.int128 +++ b/clients/Tests/SQL-dump.stable.out.int128 @@ -218,6 +218,7 @@ Ready. \dSf sys."newurl" \dSf sys."oltp_disable" \dSf sys."oltp_enable" +\dSf sys."oltp_is_enabled" \dSf sys."oltp_locks" \dSf sys."oltp_reset" \dSf sys."optimizer_stats" @@ -599,6 +600,7 @@ SYSTEM FUNCTION sys.not_uniques SYSTEM FUNCTION sys.octet_length SYSTEM FUNCTION sys.oltp_disable SYSTEM FUNCTION sys.oltp_enable +SYSTEM FUNCTION sys.oltp_is_enabled SYSTEM FUNCTION sys.oltp_locks SYSTEM FUNCTION sys.oltp_reset SYSTEM FUNCTION sys.optimizer_stats @@ -989,7 +991,8 @@ create function newurl(protocol string, create function newurl(protocol string, hostname string, file string) returns url external name url."new"; create procedure sys.oltp_disable() external name oltp.disable; create procedure sys.oltp_enable() external name oltp.enable; -create function sys.oltp_locks() returns table(started timestamp, username string, lockid integer, cnt integer, query string) external name oltp."table"; +create function sys.oltp_is_enabled() returns integer external name oltp.isenabled; +create function sys.oltp_locks() returns table(started timestamp, username string, lockid integer, cnt integer) external name oltp."table"; create procedure sys.oltp_reset() external name oltp.reset; create function sys.optimizer_stats () returns table (rewrite string, count int) external name sql.dump_opt_stats; create function sys.optimizers () returns table (name string, def string, status string) external name sql.optimizers; @@ -2228,7 +2231,8 @@ drop function pcre_replace(string, strin [ "sys", "octet_length", "nbytes", "str", 0, 1, false, false, false ] [ "sys", "oltp_disable", "create procedure sys.oltp_disable() external name oltp.disable;", "oltp", 1, 2, true, false, false ] [ "sys", "oltp_enable", "create procedure sys.oltp_enable() external name oltp.enable;", "oltp", 1, 2, true, false, false ] -[ "sys", "oltp_locks", "create function sys.oltp_locks() returns table(started timestamp, username string, lockid integer, cnt integer, query string) external name oltp.\"table\";", "oltp", 1, 5, false, false, false ] +[ "sys", "oltp_is_enabled", "create function sys.oltp_is_enabled() returns integer external name oltp.isenabled;", "oltp", 1, 1, false, false, false ] +[ "sys", "oltp_locks", "create function sys.oltp_locks() returns table(started timestamp, username string, lockid integer, cnt integer) external name oltp.\"table\";", "oltp", 1, 5, false, false, false ] [ "sys", "oltp_reset", "create procedure sys.oltp_reset() external name oltp.reset;", "oltp", 1, 2, true, false, false ] [ "sys", "optimizer_stats", "create function sys.optimizer_stats () returns table (rewrite string, count int) external name sql.dump_opt_stats;", "sql", 1, 5, false, false, false ] [ "sys", "optimizers", "create function sys.optimizers () returns table (name string, def string, status string) external name sql.optimizers;", "sql", 1, 5, false, false, false ] @@ -3960,7 +3964,8 @@ drop function pcre_replace(string, strin [ "sys", "octet_length", "arg_1", "varchar", 0, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "oltp_disable", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "oltp_enable", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] -[ "sys", "oltp_locks", "username", "clob", 0, 0, 0, "lockid", "int", 32, 0, 0, "cnt", "int", 32, 0, 0, "query", "clob", 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] +[ "sys", "oltp_is_enabled", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] +[ "sys", "oltp_locks", "username", "clob", 0, 0, 0, "lockid", "int", 32, 0, 0, "cnt", "int", 32, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "oltp_reset", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "optimizer_stats", "count", "int", 32, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "optimizers", "def", "clob", 0, 0, 0, "status", "clob", 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] @@ -6509,6 +6514,7 @@ drop function pcre_replace(string, strin [ "octet_length" ] [ "oltp_disable" ] [ "oltp_enable" ] +[ "oltp_is_enabled" ] [ "oltp_locks" ] [ "oltp_reset" ] [ "optimizer_stats" ] 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 @@ -1542,6 +1542,7 @@ str OIDXorderidx(bat *ret, const bat *bi str OLTPdisable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str OLTPenable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str OLTPinit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); +str OLTPis_enabled(int *ret); str OLTPlock(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str OLTPrelease(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str OLTPreset(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out @@ -46,8 +46,8 @@ Ready. #create table ttt (a int, b int, c int); #select optimizer; -% .L1 # table_name -% L1 # name +% .L2 # table_name +% L2 # name % varchar # type % 12 # length [ "default_pipe" ] @@ -63,12 +63,10 @@ Ready. % clob # type % 126 # length function user.s8_1():void; - X_38:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","default_pipe",18); + X_38:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","default_pipe",16); oltp.lock(534); -barrier X_58 := language.dataflow(); X_0 := sql.mvc(); (X_21:bat[:int],X_22:bat[:int],X_23:bat[:int]) := sql.copy_from(nil,"|","\\n",nil:str,"null","/tmp/xyz",-1,0,0,0,nil:str); -exit X_58; X_25 := sql.append(X_0,"sys","ttt","a",X_21); X_30 := sql.append(X_25,"sys","ttt","b",X_22); X_33 := sql.append(X_30,"sys","ttt","c",X_23); @@ -113,8 +111,8 @@ end user.s8_1; #set opt_pipe_def = ( select def from optimizers() where name = opt_pipe_name ); #set optimizer = substring(opt_pipe_def,0,length(opt_pipe_def)-length('optimizer.garbageCollector();')) || 'optimizer.sql_append();optimizer.garbageCollector();'; #select optimizer; -% .L1 # table_name -% L1 # name +% .L2 # table_name +% L2 # name % varchar # type % 6 # length [ "user_1" ] @@ -130,12 +128,10 @@ end user.s8_1; % clob # type % 126 # length function user.s24_1():void; - X_38:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","user_1",18); + X_38:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","user_1",16); oltp.lock(534); -barrier X_58 := language.dataflow(); X_0 := sql.mvc(); (X_21:bat[:int],X_22:bat[:int],X_23:bat[:int]) := sql.copy_from(nil,"|","\\n",nil:str,"null","/tmp/xyz",-1,0,0,0,nil:str); -exit X_58; X_25 := sql.append(X_0,"sys","ttt","a",X_21); X_30 := sql.append(X_25,"sys","ttt","b",X_22); X_35 := aggr.count(X_23); diff --git a/monetdb5/optimizer/opt_oltp.c b/monetdb5/optimizer/opt_oltp.c --- a/monetdb5/optimizer/opt_oltp.c +++ b/monetdb5/optimizer/opt_oltp.c @@ -108,10 +108,8 @@ OPToltpImplementation(Client cntxt, MalB p = old[i]; if( p->token == ENDsymbol){ // unlock all if there is an error - q= newCatchStmt(mb,"MALexception"); - q= newExitStmt(mb,"MALexception"); - q= newCatchStmt(mb,"SQLexception"); - q= newExitStmt(mb,"SQLexception"); + q= newCatchStmt(mb,"ANYexception"); + q= newExitStmt(mb,"ANYexception"); q= copyInstruction(lcks); setFunctionId(q, releaseRef); pushInstruction(mb,q); diff --git a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out b/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out --- a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list