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