Changeset: 8139e1bf59b8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8139e1bf59b8
Added Files:
        monetdb5/mal/Tests/tst914.malC
        monetdb5/mal/Tests/tst914.stable.err
        monetdb5/mal/Tests/tst914.stable.out
        sql/test/BugTracker-2019/Tests/set-schema-mclient-msg.Bug-6754.sql
        
sql/test/BugTracker-2019/Tests/set-schema-mclient-msg.Bug-6754.stable.err
        
sql/test/BugTracker-2019/Tests/set-schema-mclient-msg.Bug-6754.stable.out
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/mapiclient/mclient.c
        gdk/gdk_posix.c
        monetdb5/extras/mal_optimizer_template/opt_sql_append.c
        monetdb5/mal/Tests/All
        monetdb5/mal/Tests/tst008.stable.err
        monetdb5/mal/Tests/tst019.stable.err
        monetdb5/mal/Tests/tst054.stable.err
        monetdb5/mal/Tests/tst900.stable.err
        monetdb5/mal/mal_builder.c
        monetdb5/mal/mal_debugger.c
        monetdb5/mal/mal_exception.c
        monetdb5/mal/mal_function.c
        monetdb5/mal/mal_function.h
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_linker.c
        monetdb5/mal/mal_parser.c
        monetdb5/mal/mal_resolve.c
        monetdb5/mal/mal_resolve.h
        monetdb5/mal/mal_session.c
        monetdb5/modules/atoms/url.c
        monetdb5/modules/atoms/url.h
        monetdb5/modules/atoms/url.mal
        monetdb5/modules/kernel/mmath.c
        monetdb5/modules/mal/orderidx.c
        monetdb5/modules/mal/remote.c
        monetdb5/optimizer/opt_aliases.c
        monetdb5/optimizer/opt_candidates.c
        monetdb5/optimizer/opt_coercion.c
        monetdb5/optimizer/opt_commonTerms.c
        monetdb5/optimizer/opt_constants.c
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_dataflow.c
        monetdb5/optimizer/opt_deadcode.c
        monetdb5/optimizer/opt_emptybind.c
        monetdb5/optimizer/opt_evaluate.c
        monetdb5/optimizer/opt_garbageCollector.c
        monetdb5/optimizer/opt_generator.c
        monetdb5/optimizer/opt_inline.c
        monetdb5/optimizer/opt_jit.c
        monetdb5/optimizer/opt_json.c
        monetdb5/optimizer/opt_macro.c
        monetdb5/optimizer/opt_matpack.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_multiplex.c
        monetdb5/optimizer/opt_oltp.c
        monetdb5/optimizer/opt_postfix.c
        monetdb5/optimizer/opt_profiler.c
        monetdb5/optimizer/opt_projectionpath.c
        monetdb5/optimizer/opt_pushselect.c
        monetdb5/optimizer/opt_querylog.c
        monetdb5/optimizer/opt_reduce.c
        monetdb5/optimizer/opt_remap.c
        monetdb5/optimizer/opt_remoteQueries.c
        monetdb5/optimizer/opt_reorder.c
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_volcano.c
        monetdb5/optimizer/opt_wlc.c
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/scheduler/run_adder.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_optimizer.c
        sql/backends/monet5/sql_rank.c
        sql/backends/monet5/sql_rank.mal
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_upgrades.c
        sql/backends/monet5/wlr.c
        sql/scripts/12_url.sql
        sql/server/rel_select.c
        sql/server/sql_parser.y
        sql/server/sql_privileges.c
        sql/test/BugTracker-2019/Tests/All
        sql/test/BugTracker-2019/Tests/index-insert-crash.Bug-6781.sql
        sql/test/BugTracker-2019/Tests/index-insert-crash.Bug-6781.stable.out
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128
        sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
        sql/test/emptydb-upgrade/Tests/upgrade.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/sys-schema/Tests/systemfunctions.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
        sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: gdk_tracer
Log Message:

merged with default


diffs (truncated from 3332 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
@@ -8977,7 +8977,9 @@ stdout of test 'MAL-signatures` in direc
 [ "batsql",    "dec_round",    "command batsql.dec_round(v:bat[:sht], 
r:sht):bat[:sht] ",      "sht_bat_dec_round_wrap;",      "round off the value v 
to nearests multiple of r"       ]
 [ "batsql",    "dense_rank",   "pattern batsql.dense_rank(b:bat[:any_1], 
p:any_2, o:any_3):bat[:int] ",        "SQLdense_rank;",       "return the 
densely ranked groups"      ]
 [ "batsql",    "diff", "pattern batsql.diff(b:bat[:any_1]):bat[:bit] ",        
"SQLdiff;",     "return true if cur != prev row"        ]
+[ "batsql",    "diff", "pattern batsql.diff(p:bat[:bit], b:any_1):bat[:bit] ", 
"SQLdiff;",     "return true if cur != prev row"        ]
 [ "batsql",    "diff", "pattern batsql.diff(p:bat[:bit], 
b:bat[:any_1]):bat[:bit] ",   "SQLdiff;",     "return true if cur != prev row"  
      ]
+[ "batsql",    "diff", "pattern batsql.diff(p:bit, b:bat[:any_1]):bat[:bit] ", 
"SQLdiff;",     "return true if cur != prev row"        ]
 [ "batsql",    "first_value",  "pattern batsql.first_value(b:bat[:any_1], 
s:bat[:lng], e:bat[:lng]):bat[:any_1] ",     "SQLfirst_value;",      "return 
the first value of groups"      ]
 [ "batsql",    "get_value",    "pattern batsql.get_value(sname:bat[:str], 
sequence:bat[:str]):bat[:lng] ",     "mvc_bat_get_value;",   "return the 
current value of sequences" ]
 [ "batsql",    "get_value",    "pattern batsql.get_value(sname:bat[:str], 
sequence:str):bat[:lng] ",   "mvc_bat_get_value;",   "return the current value 
of the sequence"      ]
@@ -12044,7 +12046,7 @@ stdout of test 'MAL-signatures` in direc
 [ "url",       "getQuery",     "command url.getQuery(u:url):str ",     
"URLgetQuery;", "Extract the query string from the URL" ]
 [ "url",       "getRobotURL",  "command url.getRobotURL(u:url):str ",  
"URLgetRobotURL;",      "Extract the location of the robot control file"        
]
 [ "url",       "getUser",      "command url.getUser(u:url):str ",      
"URLgetUser;",  "Extract the user identity from the URL"        ]
-[ "url",       "isaURL",       "command url.isaURL(u:url):bit ",       
"URLisaURL;",   "Check conformity of the URL syntax"    ]
+[ "url",       "isaURL",       "command url.isaURL(u:str):bit ",       
"URLisaURL;",   "Check conformity of the URL syntax"    ]
 [ "url",       "new",  "command url.new(prot:str, host:str, fnme:str):url ",   
"URLnew3;",     "Construct URL from protocol, host,and file"    ]
 [ "url",       "new",  "command url.new(p:str, h:str, prt:int, f:str):url ",   
"URLnew4;",     "Construct URL from protocol, host, port, and file"     ]
 [ "url",       "url",  "command url.url(s:str):url ",  "URLnew;",      "Create 
an URL from a string literal"   ]
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
@@ -12699,7 +12699,9 @@ stdout of test 'MAL-signatures` in direc
 [ "batsql",    "dec_round",    "command batsql.dec_round(v:bat[:sht], 
r:sht):bat[:sht] ",      "sht_bat_dec_round_wrap;",      "round off the value v 
to nearests multiple of r"       ]
 [ "batsql",    "dense_rank",   "pattern batsql.dense_rank(b:bat[:any_1], 
p:any_2, o:any_3):bat[:int] ",        "SQLdense_rank;",       "return the 
densely ranked groups"      ]
 [ "batsql",    "diff", "pattern batsql.diff(b:bat[:any_1]):bat[:bit] ",        
"SQLdiff;",     "return true if cur != prev row"        ]
+[ "batsql",    "diff", "pattern batsql.diff(p:bat[:bit], b:any_1):bat[:bit] ", 
"SQLdiff;",     "return true if cur != prev row"        ]
 [ "batsql",    "diff", "pattern batsql.diff(p:bat[:bit], 
b:bat[:any_1]):bat[:bit] ",   "SQLdiff;",     "return true if cur != prev row"  
      ]
+[ "batsql",    "diff", "pattern batsql.diff(p:bit, b:bat[:any_1]):bat[:bit] ", 
"SQLdiff;",     "return true if cur != prev row"        ]
 [ "batsql",    "first_value",  "pattern batsql.first_value(b:bat[:any_1], 
s:bat[:lng], e:bat[:lng]):bat[:any_1] ",     "SQLfirst_value;",      "return 
the first value of groups"      ]
 [ "batsql",    "get_value",    "pattern batsql.get_value(sname:bat[:str], 
sequence:bat[:str]):bat[:lng] ",     "mvc_bat_get_value;",   "return the 
current value of sequences" ]
 [ "batsql",    "get_value",    "pattern batsql.get_value(sname:bat[:str], 
sequence:str):bat[:lng] ",   "mvc_bat_get_value;",   "return the current value 
of the sequence"      ]
@@ -16464,7 +16466,7 @@ stdout of test 'MAL-signatures` in direc
 [ "url",       "getQuery",     "command url.getQuery(u:url):str ",     
"URLgetQuery;", "Extract the query string from the URL" ]
 [ "url",       "getRobotURL",  "command url.getRobotURL(u:url):str ",  
"URLgetRobotURL;",      "Extract the location of the robot control file"        
]
 [ "url",       "getUser",      "command url.getUser(u:url):str ",      
"URLgetUser;",  "Extract the user identity from the URL"        ]
-[ "url",       "isaURL",       "command url.isaURL(u:url):bit ",       
"URLisaURL;",   "Check conformity of the URL syntax"    ]
+[ "url",       "isaURL",       "command url.isaURL(u:str):bit ",       
"URLisaURL;",   "Check conformity of the URL syntax"    ]
 [ "url",       "new",  "command url.new(prot:str, host:str, fnme:str):url ",   
"URLnew3;",     "Construct URL from protocol, host,and file"    ]
 [ "url",       "new",  "command url.new(p:str, h:str, prt:int, f:str):url ",   
"URLnew4;",     "Construct URL from protocol, host, port, and file"     ]
 [ "url",       "url",  "command url.url(s:str):url ",  "URLnew;",      "Create 
an URL from a string literal"   ]
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
@@ -1926,7 +1926,7 @@ str URLgetProtocol(str *retval, url *tv)
 str URLgetQuery(str *retval, url *tv);
 str URLgetRobotURL(str *retval, url *tv);
 str URLgetUser(str *retval, url *tv);
-str URLisaURL(bit *retval, url *tv);
+str URLisaURL(bit *retval, str *tv);
 str URLnew(url *u, str *val);
 str URLnew3(url *u, str *protocol, str *server, str *file);
 str URLnew4(url *u, str *protocol, str *server, int *port, str *file);
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -1933,7 +1933,7 @@ format_result(Mapi mid, MapiHdl hdl, boo
                        SQLqueryEcho(hdl);
                        if (formatter == TABLEformatter ||
                            formatter == ROWCOUNTformatter)
-                               mnstr_printf(toConsole, "operation 
successful\n");
+                               mnstr_printf(toConsole, "auto commit mode: 
%s\n", mapi_get_autocommit(mid) ? "on" : "off");
                        timerHuman(sqloptimizer, maloptimizer, querytime, 
singleinstr, false);
                        continue;
                case Q_PREPARE:
diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c
--- a/gdk/gdk_posix.c
+++ b/gdk/gdk_posix.c
@@ -663,8 +663,7 @@ MT_path_absolute(const char *pathname)
 void *
 mdlopen(const char *library, int mode)
 {
-       (void) library;
-       return dlopen(NULL, mode);
+       return dlopen(library, mode);
 }
 
 #else /* WIN32 native */
diff --git a/monetdb5/extras/mal_optimizer_template/opt_sql_append.c 
b/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
--- a/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
+++ b/monetdb5/extras/mal_optimizer_template/opt_sql_append.c
@@ -294,11 +294,9 @@ str OPTsql_append(Client cntxt, MalBlkPt
        actions= OPTsql_appendImplementation(cntxt, mb,stk,p);
 
     /* Defense line against incorrect plans */
-       chkTypes(cntxt->usermodule, mb, FALSE);
-       if( msg == MAL_SUCCEED)
-               msg = chkFlow(mb);
-       if( msg == MAL_SUCCEED) 
-               msg = chkDeclarations(mb);
+       msg = chkTypes(cntxt->usermodule, mb, FALSE);
+       if( msg == MAL_SUCCEED) msg = chkFlow(mb);
+       if( msg == MAL_SUCCEED) msg = chkDeclarations(mb);
 #ifdef DEBUG_OPT_OPTIMIZERS
                mnstr_printf(cntxt->fdout,"=FINISHED sql_append %d\n",actions);
                printFunction(cntxt->fdout,mb,0,LIST_MAL_ALL );
diff --git a/monetdb5/mal/Tests/All b/monetdb5/mal/Tests/All
--- a/monetdb5/mal/Tests/All
+++ b/monetdb5/mal/Tests/All
@@ -190,6 +190,7 @@ tst908
 tst911
 tst912
 tst913
+tst914
 tst960
 
 #tests for garbage collection of strings
diff --git a/monetdb5/mal/Tests/tst008.stable.err 
b/monetdb5/mal/Tests/tst008.stable.err
--- a/monetdb5/mal/Tests/tst008.stable.err
+++ b/monetdb5/mal/Tests/tst008.stable.err
@@ -38,6 +38,8 @@ QUERY = function foo();
         end foo;
 ERROR = !SyntaxException:parseError:io.printi;
         !SyntaxException:parseError:         ^'(' expected
+        !SyntaxException:parseError:end foo;
+        !SyntaxException:parseError:    ^non matching end label
 
 
 # 10:46:01 >  
diff --git a/monetdb5/mal/Tests/tst054.stable.err 
b/monetdb5/mal/Tests/tst054.stable.err
--- a/monetdb5/mal/Tests/tst054.stable.err
+++ b/monetdb5/mal/Tests/tst054.stable.err
@@ -78,6 +78,8 @@ QUERY = function z()( :int,:int,:int,:in
         z();
 ERROR = !SyntaxException:parseError:return 
(1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0);
         !SyntaxException:parseError:        ^<identifier> expected
+        !SyntaxException:parseError:end z;
+        !SyntaxException:parseError:    ^non matching end label
 
 # 11:11:08 >  
 # 11:11:08 >  Done.
diff --git a/monetdb5/mal/Tests/tst914.malC b/monetdb5/mal/Tests/tst914.malC
new file mode 100644
--- /dev/null
+++ b/monetdb5/mal/Tests/tst914.malC
@@ -0,0 +1,2 @@
+function foo();
+io.printi;
diff --git a/monetdb5/mal/Tests/tst914.stable.err 
b/monetdb5/mal/Tests/tst914.stable.err
new file mode 100644
--- /dev/null
+++ b/monetdb5/mal/Tests/tst914.stable.err
@@ -0,0 +1,38 @@
+stderr of test 'tst914` in directory 'monetdb5/mal` itself:
+
+
+# 19:56:10 >  
+# 19:56:10 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=32833" "--set" 
"mapi_usock=/var/tmp/mtest-100483/.s.monetdb.32833" "--forcemito" 
"--dbpath=/home/ferreira/repositories/MonetDB-default/BUILD/var/MonetDB/mTests_monetdb5_mal"
 "--set" "embedded_c=true"
+# 19:56:10 >  
+
+# builtin opt  gdk_dbpath = 
/home/ferreira/repositories/MonetDB-default/BUILD/var/monetdb5/dbfarm/demo
+# builtin opt  mapi_port = 50000
+# builtin opt  mapi_open = false
+# builtin opt  mapi_ipv6 = false
+# builtin opt  mapi_autosense = false
+# builtin opt  sql_optimizer = default_pipe
+# builtin opt  sql_debug = 0
+# builtin opt  raw_strings = false
+# cmdline opt  gdk_nr_threads = 0
+# cmdline opt  mapi_open = true
+# cmdline opt  mapi_port = 32833
+# cmdline opt  mapi_usock = /var/tmp/mtest-100483/.s.monetdb.32833
+# cmdline opt  gdk_dbpath = 
/home/ferreira/repositories/MonetDB-default/BUILD/var/MonetDB/mTests_monetdb5_mal
+# cmdline opt  embedded_c = true
+#client2:!ERROR:SyntaxException:parseError:io.printi;
+#client2:!ERROR:SyntaxException:parseError:         ^'(' expected
+
+# 19:56:11 >  
+# 19:56:11 >  "mclient" "-lmal" "-ftest" "-tnone" "-Eutf-8" 
"--host=/var/tmp/mtest-100483" "--port=32833"
+# 19:56:11 >  
+
+MAPI  = (monetdb) /var/tmp/mtest-100483/.s.monetdb.32833
+QUERY = function foo();
+        io.printi;
+ERROR = !SyntaxException:parseError:io.printi;
+        !SyntaxException:parseError:         ^'(' expected
+
+# 19:56:14 >  
+# 19:56:14 >  "Done."
+# 19:56:14 >  
+
diff --git a/monetdb5/mal/Tests/tst914.stable.out 
b/monetdb5/mal/Tests/tst914.stable.out
new file mode 100644
--- /dev/null
+++ b/monetdb5/mal/Tests/tst914.stable.out
@@ -0,0 +1,70 @@
+stdout of test 'tst914` in directory 'monetdb5/mal` itself:
+
+
+# 19:56:10 >  
+# 19:56:10 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=32833" "--set" 
"mapi_usock=/var/tmp/mtest-100483/.s.monetdb.32833" "--forcemito" 
"--dbpath=/home/ferreira/repositories/MonetDB-default/BUILD/var/MonetDB/mTests_monetdb5_mal"
 "--set" "embedded_c=true"
+# 19:56:10 >  
+
+# MonetDB 5 server v11.36.0 (hg id: 14fbfe9d7b04)
+# This is an unreleased version
+# Serving database 'mTests_monetdb5_mal', using 8 threads
+# Compiled for x86_64-pc-linux-gnu/64bit with 128bit integers
+# Found 15.498 GiB available main-memory of which we use 12.631 GiB
+# Copyright (c) 1993 - July 2008 CWI.
+# Copyright (c) August 2008 - 2020 MonetDB B.V., all rights reserved
+# Visit https://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://NULL.Home:32833/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-100483/.s.monetdb.32833
+# MonetDB/GIS module loaded
+# SQL catalog created, loading sql scripts once
+# loading sql script: 09_like.sql
+# loading sql script: 10_math.sql
+# loading sql script: 12_url.sql
+# loading sql script: 13_date.sql
+# loading sql script: 14_inet.sql
+# loading sql script: 15_querylog.sql
+# loading sql script: 16_tracelog.sql
+# loading sql script: 17_temporal.sql
+# loading sql script: 18_index.sql
+# loading sql script: 20_vacuum.sql
+# loading sql script: 21_dependency_views.sql
+# loading sql script: 22_clients.sql
+# loading sql script: 23_skyserver.sql
+# loading sql script: 25_debug.sql
+# loading sql script: 26_sysmon.sql
+# loading sql script: 27_rejects.sql
+# loading sql script: 39_analytics.sql
+# loading sql script: 39_analytics_hge.sql
+# loading sql script: 40_geom.sql
+# loading sql script: 40_json.sql
+# loading sql script: 40_json_hge.sql
+# loading sql script: 41_md5sum.sql
+# loading sql script: 45_uuid.sql
+# loading sql script: 46_profiler.sql
+# loading sql script: 51_sys_schema_extension.sql
+# loading sql script: 58_hot_snapshot.sql
+# loading sql script: 60_wlcr.sql
+# loading sql script: 61_wlcr.sql
+# loading sql script: 72_fits.sql
+# loading sql script: 74_netcdf.sql
+# loading sql script: 75_lidar.sql
+# loading sql script: 75_shp.sql
+# loading sql script: 75_storagemodel.sql
+# loading sql script: 80_statistics.sql
+# loading sql script: 80_udf.sql
+# loading sql script: 80_udf_hge.sql
+# loading sql script: 85_bam.sql
+# loading sql script: 90_generator.sql
+# loading sql script: 90_generator_hge.sql
+# loading sql script: 99_system.sql
+# MonetDB/SQL module loaded
+
+# 19:56:11 >  
+# 19:56:11 >  "mclient" "-lmal" "-ftest" "-tnone" "-Eutf-8" 
"--host=/var/tmp/mtest-100483" "--port=32833"
+# 19:56:11 >  
+
+
+# 19:56:14 >  
+# 19:56:14 >  "Done."
+# 19:56:14 >  
+
diff --git a/monetdb5/mal/mal_builder.c b/monetdb5/mal/mal_builder.c
--- a/monetdb5/mal/mal_builder.c
+++ b/monetdb5/mal/mal_builder.c
@@ -24,9 +24,14 @@ InstrPtr
 newAssignment(MalBlkPtr mb)
 {
        InstrPtr q = newInstruction(mb,NULL,NULL);
+       int k;
+
        assert(q);
-       if ((getArg(q,0)= newTmpVariable(mb,TYPE_any)) < 0) 
+       k = newTmpVariable(mb,TYPE_any);
+       if (k < 0) {
                addMalException(mb, createException(MAL, "newAssignment", "Can 
not allocate variable"));
+       } else
+               getArg(q,0) =  k;
        pushInstruction(mb, q);
        return q;
 }
@@ -66,9 +71,14 @@ InstrPtr
 newReturnStmt(MalBlkPtr mb)
 {
        InstrPtr q = newInstruction(mb, NULL, NULL);
+       int k;
+
        assert(q);
-       if ((getArg(q,0)= newTmpVariable(mb,TYPE_any)) < 0 )
+       k = newTmpVariable(mb,TYPE_any);
+       if (k < 0 )
                addMalException(mb, createException(MAL, "newReturnStmt", "Can 
not allocate return variable"));
+       else
+               getArg(q,0) = k;
        q->barrier= RETURNsymbol;
        pushInstruction(mb, q);
        return q;
@@ -117,13 +127,18 @@ newCatchStmt(MalBlkPtr mb, str nme)
 {
        InstrPtr q = newAssignment(mb);
        int i= findVariable(mb,nme);
+       int k;
 
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to