Changeset: 3bd8d00f4525 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3bd8d00f4525 Modified Files: monetdb5/mal/Tests/tst077.mal monetdb5/mal/Tests/tst077.stable.out monetdb5/mal/Tests/tst104.mal monetdb5/mal/Tests/tst104.stable.out monetdb5/mal/Tests/tst105.mal monetdb5/mal/Tests/tst105.stable.out monetdb5/mal/Tests/tst105a.mal monetdb5/mal/Tests/tst105a.stable.out monetdb5/mal/Tests/tst106.mal monetdb5/mal/Tests/tst106.stable.out monetdb5/mal/Tests/tst150.mal monetdb5/mal/Tests/tst150.stable.out monetdb5/mal/Tests/tst220.mal monetdb5/mal/Tests/tst220.stable.out monetdb5/mal/Tests/tst233.mal monetdb5/mal/Tests/tst233.stable.out monetdb5/mal/Tests/tst234.mal monetdb5/mal/Tests/tst234.stable.out monetdb5/mal/Tests/tst750.mal monetdb5/mal/Tests/tst750.stable.out monetdb5/mal/Tests/tst755.mal monetdb5/mal/Tests/tst755.stable.out monetdb5/mal/Tests/tst760.mal monetdb5/mal/Tests/tst760.stable.out monetdb5/mal/Tests/tst770.mal monetdb5/mal/Tests/tst770.stable.out monetdb5/mal/Tests/tst802.mal monetdb5/mal/Tests/tst802.stable.out monetdb5/mal/Tests/tst908.mal monetdb5/mal/Tests/tst908.stable.out monetdb5/mal/mal_parser.c monetdb5/modules/mal/mal_mapi.mal monetdb5/optimizer/Tests/remap.mal monetdb5/optimizer/Tests/remap.stable.out monetdb5/optimizer/Tests/tst4630.mal monetdb5/optimizer/Tests/tst4630.stable.out monetdb5/tests/BugReports/Tests/gettype_in_function.mal monetdb5/tests/BugReports/Tests/gettype_in_function.stable.out monetdb5/tests/BugReports/Tests/no.163.mal monetdb5/tests/BugReports/Tests/no.163.stable.out Branch: default Log Message:
Closing in on headless, avoid non-headed bats in parser The MAL parser now does not allow the use of non-void headed BATs. diffs (truncated from 895 to 300 lines): diff --git a/monetdb5/mal/Tests/tst077.mal b/monetdb5/mal/Tests/tst077.mal --- a/monetdb5/mal/Tests/tst077.mal +++ b/monetdb5/mal/Tests/tst077.mal @@ -1,6 +1,6 @@ # parsing operations with multi-assignments -function swap(x:bat[:any_1,:int],y:bat[:any_1,:int]) - (a:str,b:bat[:any_1,:int]); +function swap(x:bat[:oid,:int],y:bat[:oid,:int]) + (a:str,b:bat[:oid,:int]); a:="done"; return (a,x); end swap; diff --git a/monetdb5/mal/Tests/tst077.stable.out b/monetdb5/mal/Tests/tst077.stable.out --- a/monetdb5/mal/Tests/tst077.stable.out +++ b/monetdb5/mal/Tests/tst077.stable.out @@ -17,7 +17,7 @@ stdout of test 'tst077` in directory 'mo # MonetDB/GIS module loaded # MonetDB/JAQL module loaded # MonetDB/SQL module loaded -function user.swap(x:bat[:any_1,:int],y:bat[:any_1,:int]) (a:str,b:bat[:any_1,:int]); +function user.swap(x:bat[:oid,:int],y:bat[:oid,:int]) (a:str,b:bat[:oid,:int]); a := "done"; return (a,b) := (a,x); end user.swap; diff --git a/monetdb5/mal/Tests/tst104.mal b/monetdb5/mal/Tests/tst104.mal --- a/monetdb5/mal/Tests/tst104.mal +++ b/monetdb5/mal/Tests/tst104.mal @@ -1,7 +1,7 @@ # check propagation of type variables over bats # can be checked after bat module has been added -command f(a:any_1, b:bat[:any_1,:any_2],c:any_2):any_2 +command f(a:any_1, b:bat[:oid,:any_2],c:any_2):any_2 address dummy; b:= bat.new(:oid,:str); diff --git a/monetdb5/mal/Tests/tst104.stable.out b/monetdb5/mal/Tests/tst104.stable.out --- a/monetdb5/mal/Tests/tst104.stable.out +++ b/monetdb5/mal/Tests/tst104.stable.out @@ -15,7 +15,7 @@ stdout of test 'tst104` in directory 'mo # MonetDB/GIS module loaded # MonetDB/JAQL module loaded # MonetDB/SQL module loaded -command user.f(a:any_1,b:bat[:any_1,:any_2],c:any_2):any_2 address dummy; +command user.f(a:any_1,b:bat[:oid,:any_2],c:any_2):any_2 address dummy; !TypeException:user.main[4]:object code for command user.f missing !TypeException:user.main[4]:'user.f' undefined in: a:str := user.f(1@0:oid,b:bat[:oid,:str],"hello":str); function user.main():void; diff --git a/monetdb5/mal/Tests/tst105.mal b/monetdb5/mal/Tests/tst105.mal --- a/monetdb5/mal/Tests/tst105.mal +++ b/monetdb5/mal/Tests/tst105.mal @@ -2,9 +2,9 @@ # can be checked after bat module has been added module bat2; -command new(h:any_1,t:any_2) :bat[:any_1, :any_2] +command new(t:any_2) :bat[:oid, :any_2] address GDKbatnew; -a:= bat2.new(:oid,:int); -b:= bat2.new(:oid,:int); -c:= bat.new(:oid,:int); +a:= bat2.new(:int); +b:= bat2.new(:int); +c:= bat.new(:int); diff --git a/monetdb5/mal/Tests/tst105.stable.out b/monetdb5/mal/Tests/tst105.stable.out --- a/monetdb5/mal/Tests/tst105.stable.out +++ b/monetdb5/mal/Tests/tst105.stable.out @@ -9,18 +9,25 @@ stdout of test 'tst105` in directory 'mo # Serving database 'mTests_src_mal', using 4 threads # Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked # Copyright (c) 1993-July 2008 CWI. -# Copyright (c) August 2008- MonetDB B.V., all rights reserved -# Visit http://monetdb.cwi.nl/ for further information -# Listening for connection requests on mapi:monetdb://eir.ins.cwi.nl:33388/ -command bat2.new(h:any_1,t:any_2):bat[:any_1,:any_2] address GDKbatnew; +# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://vienna.ins.cwi.nl:35645/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-15498/.s.monetdb.35645 +# MonetDB/GIS module loaded +# Start processing logs sql/sql_logs version 52200 +# Start reading the write-ahead log 'sql_logs/sql/log.4' +# Finished reading the write-ahead log 'sql_logs/sql/log.4' +# Finished processing logs sql/sql_logs +# MonetDB/SQL module loaded +command bat2.new(t:any_2):bat[:oid,:any_2] address GDKbatnew; !TypeException:user.main[3]:object code for command bat2.new missing -!TypeException:user.main[3]:'bat2.new' undefined in: a:bat[:oid,:int] := bat2.new(:oid,:int); +!TypeException:user.main[3]:'bat2.new' undefined in: a:bat[:oid,:int] := bat2.new(:int); function user.main():void; # check propagation of type variables over bats # can be checked after bat module has been added - a := bat2.new(:oid,:int); - b := bat2.new(:oid,:int); - c := bat.new(:oid,:int); + a := bat2.new(:int); + b := bat2.new(:int); + c := bat.new(:int); end user.main; # 07:58:56 > diff --git a/monetdb5/mal/Tests/tst105a.mal b/monetdb5/mal/Tests/tst105a.mal --- a/monetdb5/mal/Tests/tst105a.mal +++ b/monetdb5/mal/Tests/tst105a.mal @@ -1,7 +1,7 @@ # check classification of functions in the proper module module bbp; -command new(h:any_1,t:any_2):bat[:any_1,:any_2] +command new(t:any_2):bat[:oid,:any_2] address GDKbatnew; -b:= bbp.new(:str,:int); +b:= bbp.new(:int); diff --git a/monetdb5/mal/Tests/tst105a.stable.out b/monetdb5/mal/Tests/tst105a.stable.out --- a/monetdb5/mal/Tests/tst105a.stable.out +++ b/monetdb5/mal/Tests/tst105a.stable.out @@ -9,15 +9,22 @@ stdout of test 'tst105a` in directory 'm # Serving database 'mTests_src_mal', using 4 threads # Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked # Copyright (c) 1993-July 2008 CWI. -# Copyright (c) August 2008- MonetDB B.V., all rights reserved -# Visit http://monetdb.cwi.nl/ for further information -# Listening for connection requests on mapi:monetdb://eir.ins.cwi.nl:33388/ -command bbp.new(h:any_1,t:any_2):bat[:any_1,:any_2] address GDKbatnew; +# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://vienna.ins.cwi.nl:35645/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-15498/.s.monetdb.35645 +# MonetDB/GIS module loaded +# Start processing logs sql/sql_logs version 52200 +# Start reading the write-ahead log 'sql_logs/sql/log.4' +# Finished reading the write-ahead log 'sql_logs/sql/log.4' +# Finished processing logs sql/sql_logs +# MonetDB/SQL module loaded +command bbp.new(t:any_2):bat[:oid,:any_2] address GDKbatnew; !TypeException:user.main[2]:object code for command bbp.new missing -!TypeException:user.main[2]:'bbp.new' undefined in: b:bat[:str,:int] := bbp.new(:str,:int); +!TypeException:user.main[2]:'bbp.new' undefined in: b:bat[:oid,:int] := bbp.new(:int); function user.main():void; # check classification of functions in the proper module - b := bbp.new(:str,:int); + b := bbp.new(:int); end user.main; # 07:58:57 > diff --git a/monetdb5/mal/Tests/tst106.mal b/monetdb5/mal/Tests/tst106.mal --- a/monetdb5/mal/Tests/tst106.mal +++ b/monetdb5/mal/Tests/tst106.mal @@ -1,7 +1,7 @@ # check in-compatible polmorphic types -command f(a:any_1,b:any_2, c:any_1) :bat[:any_1, :any_2] +command f(b:any_2, c:any_1) :bat[:oid, :any_2] address f; -b:= user.f(1,2,"help"); -a:= user.f(1,2,1); +b:= user.f(2,"help"); +a:= user.f(2,1); diff --git a/monetdb5/mal/Tests/tst106.stable.out b/monetdb5/mal/Tests/tst106.stable.out --- a/monetdb5/mal/Tests/tst106.stable.out +++ b/monetdb5/mal/Tests/tst106.stable.out @@ -9,15 +9,23 @@ stdout of test 'tst106` in directory 'mo # Serving database 'mTests_src_mal', using 4 threads # Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked # Copyright (c) 1993-July 2008 CWI. -# Copyright (c) August 2008- MonetDB B.V., all rights reserved -# Visit http://monetdb.cwi.nl/ for further information -# Listening for connection requests on mapi:monetdb://eir.ins.cwi.nl:33388/ -command user.f(a:any_1,b:any_2,c:any_1):bat[:any_1,:any_2] address f; -!TypeException:user.main[2]:'user.f' undefined in: b:any := user.f(1:int,2:int,"help":str); +# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://vienna.ins.cwi.nl:35645/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-15498/.s.monetdb.35645 +# MonetDB/GIS module loaded +# Start processing logs sql/sql_logs version 52200 +# Start reading the write-ahead log 'sql_logs/sql/log.4' +# Finished reading the write-ahead log 'sql_logs/sql/log.4' +# Finished processing logs sql/sql_logs +# MonetDB/SQL module loaded +command user.f(b:any_2,c:any_1):bat[:oid,:any_2] address f; +!TypeException:user.main[2]:object code for command user.f missing +!TypeException:user.main[2]:'user.f' undefined in: b:bat[:oid,:int] := user.f(2:int,"help":str); function user.main():void; # check in-compatible polmorphic types - b := user.f(1,2,"help"); - a := user.f(1,2,1); + b := user.f(2,"help"); + a := user.f(2,1); end user.main; # 07:58:57 > diff --git a/monetdb5/mal/Tests/tst150.mal b/monetdb5/mal/Tests/tst150.mal --- a/monetdb5/mal/Tests/tst150.mal +++ b/monetdb5/mal/Tests/tst150.mal @@ -1,5 +1,6 @@ -command lookup(nme:str):bat[:str,:str] +command lookup(nme:str):bat[:oid,:str] address CMDlookup; + function sample(nme:str, val:any_1):bit; b := user.lookup(nme); #find a bat h := algebra.select(b,val,val); diff --git a/monetdb5/mal/Tests/tst150.stable.out b/monetdb5/mal/Tests/tst150.stable.out --- a/monetdb5/mal/Tests/tst150.stable.out +++ b/monetdb5/mal/Tests/tst150.stable.out @@ -9,10 +9,17 @@ stdout of test 'tst150` in directory 'mo # Serving database 'mTests_src_mal', using 4 threads # Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked # Copyright (c) 1993-July 2008 CWI. -# Copyright (c) August 2008- MonetDB B.V., all rights reserved -# Visit http://monetdb.cwi.nl/ for further information -# Listening for connection requests on mapi:monetdb://eir.ins.cwi.nl:33388/ -command user.lookup(nme:str):bat[:str,:str] address CMDlookup; +# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://vienna.ins.cwi.nl:35645/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-15498/.s.monetdb.35645 +# MonetDB/GIS module loaded +# Start processing logs sql/sql_logs version 52200 +# Start reading the write-ahead log 'sql_logs/sql/log.4' +# Finished reading the write-ahead log 'sql_logs/sql/log.4' +# Finished processing logs sql/sql_logs +# MonetDB/SQL module loaded +command user.lookup(nme:str):bat[:oid,:str] address CMDlookup; !TypeException:user.sample[1]:object code for command user.lookup missing function user.sample(nme:str,val:any_1):bit; b := user.lookup(nme); diff --git a/monetdb5/mal/Tests/tst220.mal b/monetdb5/mal/Tests/tst220.mal --- a/monetdb5/mal/Tests/tst220.mal +++ b/monetdb5/mal/Tests/tst220.mal @@ -1,5 +1,5 @@ # a test checking BAT reference counting under various situations -function steal(bb:bat[:any_1,:any_2]) :bat[:any_1,:any_2]; +function steal(bb:bat[:oid,:any_2]) :bat[:oid,:any_2]; i:= bbp.getLRefCount(bb); io.printf("enter function refcount =%d[2,3]\n",i); diff --git a/monetdb5/mal/Tests/tst220.stable.out b/monetdb5/mal/Tests/tst220.stable.out --- a/monetdb5/mal/Tests/tst220.stable.out +++ b/monetdb5/mal/Tests/tst220.stable.out @@ -5,25 +5,23 @@ stdout of test 'tst220` in directory 'mo # 08:01:01 > Mtimeout -timeout 60 Mserver "--config=/ufs/mk/monet5/Linux/etc/MonetDB5.conf" --debug=10 --set "monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB" --set "gdk_dbfarm=/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm" --set "sql_logdir=/ufs/mk/monet5/Linux/var/MonetDB5/log" --set mapi_port=42158 --set sql_port=55708 --set monet_prompt= --trace "--config=/ufs/mk/monet5/src/mal/Tests/All.conf" --dbname=mTests_src_mal tst220.mal </dev/null # 08:01:01 > -# Monet Database Server V4.99.19 -# Copyright (c) 1993-2004, CWI. All rights reserved. -# Compiled for i686-redhat-linux-gnu/32bit; dynamically linked. -# config:/ufs/mk/monet5/Linux/etc/MonetDB5.conf -# dbfarm:/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm -# dbname:mTests_src_mal -# Visit http://monetdb.cwi.nl/ for further information. -## a test checking BAT reference counting under various situations -#function steal(bb:bat[:any$1,:any$2]) :bat[:any$1,:any$2]; -# i:= getLRefCount(bb); -# printf("enter function refcount =%d[2]\n",i); -# -# loc:= bb; -# i:= getLRefCount(bb); -# printf("local in function refcount =%d[3]\n",i); -# -# return bb; -#end steal; -function user.steal(bb:bat[:any_1,:any_2]):bat[:any_1,:any_2]; +# MonetDB 5 server v11.22.0 +# This is an unreleased version +# Serving database 'mTests_monetdb5_mal', using 8 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs and 128bit integers dynamically linked +# Found 15.590 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://vienna.ins.cwi.nl:35645/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-15498/.s.monetdb.35645 +# MonetDB/GIS module loaded +# Start processing logs sql/sql_logs version 52200 +# Start reading the write-ahead log 'sql_logs/sql/log.4' +# Finished reading the write-ahead log 'sql_logs/sql/log.4' +# Finished processing logs sql/sql_logs +# MonetDB/SQL module loaded +function user.steal(bb:bat[:oid,:any_2]):bat[:oid,:any_2]; i := bbp.getLRefCount(bb); io.printf("enter function refcount =%d[2,3]\n",i); loc := bb; diff --git a/monetdb5/mal/Tests/tst233.mal b/monetdb5/mal/Tests/tst233.mal --- a/monetdb5/mal/Tests/tst233.mal +++ b/monetdb5/mal/Tests/tst233.mal @@ -9,7 +9,7 @@ function dir():void; end dir; -function tmp1(b:bat[:any_1,:any_2]):void; +function tmp1(b:bat[:oid,:any_2]):void; end tmp1; b:= bat.new(:oid,:int); diff --git a/monetdb5/mal/Tests/tst233.stable.out b/monetdb5/mal/Tests/tst233.stable.out _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list