Changeset: d8430e01e38d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d8430e01e38d
Added Files:
        monetdb5/modules/mal/Tests/remote07.malC
Removed Files:
        monetdb5/modules/mal/Tests/remote07.mal
Modified Files:
        clients/R/MonetDB.R/man/mc.Rd
        clients/R/MonetDB.R/man/monetdbRtype.Rd
        monetdb5/mal/Tests/tst019.stable.out
        monetdb5/mal/Tests/tst027.stable.out
        monetdb5/mal/Tests/tst038.stable.out
        monetdb5/mal/Tests/tst070.stable.out
        monetdb5/mal/Tests/tst071.stable.out
        monetdb5/mal/Tests/tst102.stable.out
        monetdb5/mal/Tests/tst104.stable.out
        monetdb5/mal/Tests/tst105.stable.out
        monetdb5/mal/Tests/tst105a.stable.out
        monetdb5/mal/Tests/tst106.stable.out
        monetdb5/mal/Tests/tst115.stable.out
        monetdb5/mal/Tests/tst150.stable.out
        monetdb5/mal/Tests/tst161.stable.out
        monetdb5/mal/Tests/tst162.stable.out
        monetdb5/mal/Tests/tst163.stable.out
        monetdb5/mal/Tests/tst611.stable.out
        monetdb5/mal/Tests/tst755.stable.out
        monetdb5/mal/Tests/tst760.stable.out
        monetdb5/mal/mal_resolve.c
        monetdb5/modules/mal/Tests/All
        monetdb5/modules/mal/Tests/remote07.stable.out
        monetdb5/optimizer/Tests/inline08.stable.out
        monetdb5/optimizer/Tests/tst4700.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/ADT_not_available.SF-850137.stable.out
        
monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/split_inf_loop.SF-1161583.stable.out
        monetdb5/tests/BugReports/Tests/lngssaretruncated.stable.out
        monetdb5/tests/BugTracker/Tests/parser.SF-2051309.stable.out
        sql/backends/monet5/Tests/rapi01.sql
        sql/backends/monet5/Tests/rapi04.sql
        sql/backends/monet5/Tests/rapi11.sql
Branch: newstorage
Log Message:

merged with default


diffs (truncated from 491 to 300 lines):

diff --git a/clients/R/MonetDB.R/man/mc.Rd b/clients/R/MonetDB.R/man/mc.Rd
--- a/clients/R/MonetDB.R/man/mc.Rd
+++ b/clients/R/MonetDB.R/man/mc.Rd
@@ -34,4 +34,3 @@ mc(dbname="demo", user="monetdb", passwo
 \dontrun{
   con <- mc(dbname="demo",hostname="localhost")
 }}
-
diff --git a/clients/R/MonetDB.R/man/monetdbRtype.Rd 
b/clients/R/MonetDB.R/man/monetdbRtype.Rd
--- a/clients/R/MonetDB.R/man/monetdbRtype.Rd
+++ b/clients/R/MonetDB.R/man/monetdbRtype.Rd
@@ -16,4 +16,4 @@
  
 \value{
   String containing the R data type for the DB data type, e.g. 
\code{character} or \code{numeric}.
-}
\ No newline at end of file
+}
diff --git a/monetdb5/mal/Tests/tst019.stable.out 
b/monetdb5/mal/Tests/tst019.stable.out
--- a/monetdb5/mal/Tests/tst019.stable.out
+++ b/monetdb5/mal/Tests/tst019.stable.out
@@ -56,7 +56,7 @@ function user.welcome5(lim:int) (X_2:str
     i := 2;
     return (w,i) := ("hello",2);
 end user.welcome5;
-!TypeException:user.main[5]:'user.welcome2' undefined in: (x,y) := 
user.welcome2(1);
+!TypeException:user.main[5]:'user.welcome2' undefined in:     (x:any,y:str) := 
user.welcome2(1:int);
 function user.main():void;
     y := user.welcome1(1);
     io.print(y);
diff --git a/monetdb5/mal/Tests/tst027.stable.out 
b/monetdb5/mal/Tests/tst027.stable.out
--- a/monetdb5/mal/Tests/tst027.stable.out
+++ b/monetdb5/mal/Tests/tst027.stable.out
@@ -20,7 +20,7 @@ stdout of test 'tst027` in directory 'mo
 function user.test(s:str,b:bat[:oid,:any_1]...):void;
     io.print(s);
 end user.test;
-!TypeException:user.main[4]:'user.test' undefined in: user.test("hello",b,c);
+!TypeException:user.main[4]:'user.test' undefined in:     
user.test("hello":str,b:bat[:oid,:int],c:bat[:oid,:int]);
 function user.main():void;
 #variable arguments are only allowed in patterns 
     b := bat.new(:oid,:int);
diff --git a/monetdb5/mal/Tests/tst038.stable.out 
b/monetdb5/mal/Tests/tst038.stable.out
--- a/monetdb5/mal/Tests/tst038.stable.out
+++ b/monetdb5/mal/Tests/tst038.stable.out
@@ -20,9 +20,9 @@ stdout of test 'tst038` in directory 'mo
 function user.tst2(b:bat[:oid,:any_1]):void;
     bat.append(b,"hello");
 end user.tst2;
-!TypeException:user.tst2[1]:'bat.append' undefined in: bat.append(b,"hello");
+!TypeException:user.tst2[1]:'bat.append' undefined in:     
bat.append(b:bat[:oid,:int],"hello":str);
 !MALException:user.tst2[0]:Error in cloned function
-!TypeException:user.main[4]:'user.tst2' undefined in: user.tst2(b);
+!TypeException:user.main[4]:'user.tst2' undefined in:     
user.tst2(b:bat[:oid,:int]);
 function user.main():void;
 #test the capability to deal with unspecified bats. 
     b := bat.new(:oid,:int);
diff --git a/monetdb5/mal/Tests/tst070.stable.out 
b/monetdb5/mal/Tests/tst070.stable.out
--- a/monetdb5/mal/Tests/tst070.stable.out
+++ b/monetdb5/mal/Tests/tst070.stable.out
@@ -17,7 +17,7 @@ stdout of test 'tst070` in directory 'mo
 # Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-12850/.s.monetdb.31390
 # MonetDB/GIS module loaded
 # MonetDB/SQL module loaded
-!TypeException:user.foo[1]:'user.point' undefined in: (x,y) := user.point(1);
+!TypeException:user.foo[1]:'user.point' undefined in:     (x:any,y:any) := 
user.point(1:int);
 function user.foo():void;
     (x,y) := user.point(1);
     (initial:str,surname:str) := user.getName();
diff --git a/monetdb5/mal/Tests/tst071.stable.out 
b/monetdb5/mal/Tests/tst071.stable.out
--- a/monetdb5/mal/Tests/tst071.stable.out
+++ b/monetdb5/mal/Tests/tst071.stable.out
@@ -23,7 +23,7 @@ function user.swap(x:int,y:int) (a:int,b
     b := x;
     return (a,b) := (a,b);
 end user.swap;
-!TypeException:user.main[5]:'user.swap' undefined in: a := user.swap(3,4);
+!TypeException:user.main[5]:'user.swap' undefined in:     a:any := 
user.swap(3:int,4:int);
 function user.main():void;
 # parsing operations with multi-assignments 
     (x,y) := user.swap(1,2);
diff --git a/monetdb5/mal/Tests/tst102.stable.out 
b/monetdb5/mal/Tests/tst102.stable.out
--- a/monetdb5/mal/Tests/tst102.stable.out
+++ b/monetdb5/mal/Tests/tst102.stable.out
@@ -13,7 +13,7 @@ stdout of test 'tst102` in directory 'mo
 # Visit http://monetdb.cwi.nl/ for further information
 # Listening for connection requests on mapi:monetdb://eir.ins.cwi.nl:33388/
 command user.+(L:any_1,R:any_1):any_1 address addIntInt;
-!TypeException:user.main[2]:'calc.+' undefined in: a := calc.+(1,"hello");
+!TypeException:user.main[2]:'calc.+' undefined in:     a:any := 
calc.+(1:int,"hello":str);
 function user.main():void;
 # the calls are wrong, they violate the type constraint 
     a := calc.+(1,"hello");
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
@@ -17,7 +17,7 @@ stdout of test 'tst104` in directory 'mo
 # MonetDB/SQL module loaded
 command user.f(a:any_1,b:bat[:any_1,: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 := user.f(1@0,b,"hello");
+!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;
 # check propagation of type variables over bats 
 # can be checked after bat module has been added 
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
@@ -14,7 +14,7 @@ stdout of test 'tst105` in directory 'mo
 # 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;
 !TypeException:user.main[3]:object code for command bat2.new missing
-!TypeException:user.main[3]:'bat2.new' undefined in: a := bat2.new(:oid,:int);
+!TypeException:user.main[3]:'bat2.new' undefined in:     a:bat[:oid,:int] := 
bat2.new(:oid,:int);
 function user.main():void;
 # check propagation of type variables over bats 
 # can be checked after bat module has been added 
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
@@ -14,7 +14,7 @@ stdout of test 'tst105a` in directory 'm
 # 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;
 !TypeException:user.main[2]:object code for command bbp.new missing
-!TypeException:user.main[2]:'bbp.new' undefined in: b := bbp.new(:str,:int);
+!TypeException:user.main[2]:'bbp.new' undefined in:     b:bat[:str,:int] := 
bbp.new(:str,:int);
 function user.main():void;
 # check classification of functions in the proper module 
     b := bbp.new(:str,:int);
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
@@ -13,7 +13,7 @@ stdout of test 'tst106` in directory 'mo
 # 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 := user.f(1,2,"help");
+!TypeException:user.main[2]:'user.f' undefined in:     b:any := 
user.f(1:int,2:int,"help":str);
 function user.main():void;
 # check in-compatible polmorphic types 
     b := user.f(1,2,"help");
diff --git a/monetdb5/mal/Tests/tst115.stable.out 
b/monetdb5/mal/Tests/tst115.stable.out
--- a/monetdb5/mal/Tests/tst115.stable.out
+++ b/monetdb5/mal/Tests/tst115.stable.out
@@ -28,7 +28,7 @@ function user.doitTwice(i:int):int;
     i := calc.+(j,k);
     return doitTwice := i;
 end user.doitTwice;
-!TypeException:user.main[7]:'user.doitTwice' undefined in: d := 
user.doitTwice("wrong");
+!TypeException:user.main[7]:'user.doitTwice' undefined in:     d:int := 
user.doitTwice("wrong":str);
 function user.main():void;
 # the next step is to trace the call of a mal function call 
     a := 1;
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
@@ -23,7 +23,7 @@ function user.sample(nme:str,val:any_1):
     y := io.print(val);
     return sample := true;
 end user.sample;
-!TypeException:user.main[1]:'user.sample' undefined in: 
user.sample("hello","world");
+!TypeException:user.main[1]:'user.sample' undefined in:     
user.sample("hello":str,"world":str);
 function user.main():void;
     user.sample("hello","world");
     user.sample("hello",1);
diff --git a/monetdb5/mal/Tests/tst161.stable.out 
b/monetdb5/mal/Tests/tst161.stable.out
--- a/monetdb5/mal/Tests/tst161.stable.out
+++ b/monetdb5/mal/Tests/tst161.stable.out
@@ -16,7 +16,7 @@ stdout of test 'tst161` in directory 'mo
 function mytype.l():mytype;
     return l := "0":mytype;
 end mytype.l;
-!TypeException:user.main[2]:'mytype.l' undefined in: z := mytype.l();
+!TypeException:user.main[2]:'mytype.l' undefined in:     z:mytype := 
mytype.l();
 function user.main():void;
 # testing definition of new atom type based on ptr 
     z := mytype.l();
diff --git a/monetdb5/mal/Tests/tst162.stable.out 
b/monetdb5/mal/Tests/tst162.stable.out
--- a/monetdb5/mal/Tests/tst162.stable.out
+++ b/monetdb5/mal/Tests/tst162.stable.out
@@ -18,7 +18,7 @@ function strtype.l():strtype;
     l := "1":strtype;
     return l := nil:strtype;
 end strtype.l;
-!TypeException:user.main[3]:'strtype.l' undefined in: z := strtype.l();
+!TypeException:user.main[3]:'strtype.l' undefined in:     z:strtype := 
strtype.l();
 function user.main():void;
 # testing definition of new atom type based on ptr 
 # this definition caused an error 
diff --git a/monetdb5/mal/Tests/tst163.stable.out 
b/monetdb5/mal/Tests/tst163.stable.out
--- a/monetdb5/mal/Tests/tst163.stable.out
+++ b/monetdb5/mal/Tests/tst163.stable.out
@@ -14,7 +14,7 @@ stdout of test 'tst163` in directory 'mo
 #atom myint:int;
 #atom myint:int;
 !TypeException:atomDefinition:Redefinition of atom 'myint'
-!TypeException:user.main[3]:'calc.+' undefined in: j := calc.+(i,3);
+!TypeException:user.main[3]:'calc.+' undefined in:     j:any := 
calc.+(i:myint,3:int);
 function user.main():void;
 #multiple atomary types 
     i := "1":myint;
diff --git a/monetdb5/mal/Tests/tst611.stable.out 
b/monetdb5/mal/Tests/tst611.stable.out
--- a/monetdb5/mal/Tests/tst611.stable.out
+++ b/monetdb5/mal/Tests/tst611.stable.out
@@ -17,7 +17,7 @@ stdout of test 'tst611` in directory 'mo
 # Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-12850/.s.monetdb.31390
 # MonetDB/GIS module loaded
 # MonetDB/SQL module loaded
-!TypeException:user.main[7]:'bat.setWriteMode' undefined in: 
bat.setWriteMode(RKB);
+!TypeException:user.main[7]:'bat.setWriteMode' undefined in:     
bat.setWriteMode(RKB:any);
 function user.main():void;
 # initialization of BATs on the stack 
 # caused a problem when executed in interactve mode 
diff --git a/monetdb5/mal/Tests/tst755.stable.out 
b/monetdb5/mal/Tests/tst755.stable.out
--- a/monetdb5/mal/Tests/tst755.stable.out
+++ b/monetdb5/mal/Tests/tst755.stable.out
@@ -23,9 +23,9 @@ function user.test(b:bat[:any_1,:any_2],
     k := calc.+(1,"wrong");
     io.print(k);
 end user.test;
-!TypeException:user.test[1]:'calc.+' undefined in: k := calc.+(1,"wrong");
+!TypeException:user.test[1]:'calc.+' undefined in:     k:any := 
calc.+(1:int,"wrong":str);
 !MALException:user.test[0]:Error in cloned function
-!TypeException:user.main[5]:'user.test' undefined in: user.test(c,"hello");
+!TypeException:user.main[5]:'user.test' undefined in:     
user.test(c:bat[:oid,:str],"hello":str);
 function user.main():void;
 # Polymorphic function tests 
 # Catching a pervasive error a.s.a.p. 
diff --git a/monetdb5/mal/Tests/tst760.stable.out 
b/monetdb5/mal/Tests/tst760.stable.out
--- a/monetdb5/mal/Tests/tst760.stable.out
+++ b/monetdb5/mal/Tests/tst760.stable.out
@@ -22,9 +22,9 @@ function user.test(b:bat[:any,:any_2],c:
     k := calc.+(1,c);
     io.print(k);
 end user.test;
-!TypeException:user.test[1]:'calc.+' undefined in: k := calc.+(1,c);
+!TypeException:user.test[1]:'calc.+' undefined in:     k:any := 
calc.+(1:int,c:str);
 !MALException:user.test[0]:Error in cloned function
-!TypeException:user.main[4]:'user.test' undefined in: user.test(c,"hello");
+!TypeException:user.main[4]:'user.test' undefined in:     
user.test(c:bat[:oid,:str],"hello":str);
 function user.main():void;
 # Polymorphic function tests 
 # Catching a dynamic error 
diff --git a/monetdb5/mal/mal_resolve.c b/monetdb5/mal/mal_resolve.c
--- a/monetdb5/mal/mal_resolve.c
+++ b/monetdb5/mal/mal_resolve.c
@@ -58,7 +58,7 @@ polyInit(void)
                                p->token = CMDcall;                             
                                        \
                                p->fcn = getSignature(s)->fcn;      /* C 
implementation mandatory */ \
                                if (p->fcn == NULL) {                           
                                \
-                                       showScriptException(out, mb, getPC(mb, 
p), TYPE, \
+                                       if(!silent) showScriptException(out, 
mb, getPC(mb, p), TYPE, \
                                                                                
"object code for command %s.%s missing", \
                                                                                
p->modname, p->fcnname);        \
                                        p->typechk = TYPE_UNKNOWN;              
                                \
@@ -411,7 +411,7 @@ findFunctionType(stream *out, Module sco
                for (i = 0; i < p->retc; i++) {
                        int ts = returntype[i];
                        if (isVarConstant(mb, getArg(p, i))) {
-                               showScriptException(out, mb, getPC(mb, p), 
TYPE, "Assignment to constant");
+                               if( !silent) showScriptException(out, mb, 
getPC(mb, p), TYPE, "Assignment to constant");
                                p->typechk = TYPE_UNKNOWN;
                                mb->errors++;
                                goto wrapup;
@@ -660,7 +660,7 @@ typeChecker(stream *out, Module scope, M
                        if (!silent) {
                                char *errsig;
 
-                               errsig = instruction2str(mb,0,p,(LIST_MAL_NAME 
| LIST_MAL_VALUE));
+                               errsig = instruction2str(mb,0,p,(LIST_MAL_NAME 
| LIST_MAL_TYPE | LIST_MAL_VALUE));
                                showScriptException(out, mb, getPC(mb, p), TYPE,
                                                                        
"'%s%s%s' undefined in: %s",
                                                                        
(getModuleId(p) ? getModuleId(p) : ""),
@@ -675,7 +675,6 @@ typeChecker(stream *out, Module scope, M
                return;
        }
        /*
-        * @- Assignment
         * When we arrive here the operator is an assignment.
         * The language should also recognize (a,b):=(1,2);
         * This is achieved by propagation of the rhs types to the lhs
@@ -736,7 +735,7 @@ typeChecker(stream *out, Module scope, M
 }
 
 /*
- * @- Function binder
+ * Function binder
  * In some cases the front-end may already assure type correctness
  * of the MAL instruction generated (e.g. the SQL front-end)
  * In that case we merely have to locate the function address and
@@ -841,7 +840,7 @@ chkProgram(stream *out, Module s, MalBlk
 }
 
 /*
- * @- Polymorphic type analysis
+ * Polymorphic type analysis
  * MAL provides for type variables of the form any$N. This feature
  * supports polymorphic types, but also complicates the subsequent
  * analysis. A variable typed with any$N not occuring in the function
diff --git a/monetdb5/modules/mal/Tests/All b/monetdb5/modules/mal/Tests/All
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to