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

Reply via email to