Changeset: 2ea2bfb52657 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2ea2bfb52657
Modified Files:
        monetdb5/modules/mal/manifold.c
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
Branch: Oct2014
Log Message:

Use the proper return type.
The MAL program already set the proper return type, use it for
the manifold call.
This also leads to proper use in the nil_2dec sql test output


diffs (81 lines):

diff --git a/monetdb5/modules/mal/manifold.c b/monetdb5/modules/mal/manifold.c
--- a/monetdb5/modules/mal/manifold.c
+++ b/monetdb5/modules/mal/manifold.c
@@ -201,17 +201,7 @@ MANIFOLDtypecheck(Client cntxt, MalBlkPt
                getVarConstant(mb,getArg(pci,pci->retc+1)).val.sval);
 
        // Prepare the single result variable
-       tpe = TYPE_any;
-       for( i = pci->retc+2; i < pci->argc; i++)
-               if ( isaBatType(getArgType(mb,pci,i)) ){
-                       tpe =getColumnType(getArgType(mb,pci,i));
-                       break;
-               }
-       if( tpe == TYPE_any ){
-               freeMalBlk(nmb);
-               return NULL;
-       }
-       
+       tpe =getColumnType(getArgType(mb,pci,0));
        k= getArg(q,0);
        setVarType(nmb,k,tpe);
        setVarFixed(nmb,k);
diff --git a/sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out 
b/sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
--- a/sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
+++ b/sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
@@ -45,7 +45,7 @@ Ready.
 % clob # type
 % 187 # length
 function user.s5_1{autoCommit=true}(A0:timestamp,A1:timestamp,A2:void):void;
-barrier X_115 := language.dataflow();
+barrier X_116 := language.dataflow();
     X_6:bat[:oid,:lng]  := bat.new(nil:oid,nil:lng);
     X_5 := sql.mvc();
     X_67:bat[:oid,:oid]  := sql.tid(X_5,"sys","foo_nil_2dec",0,2);
@@ -88,37 +88,18 @@ barrier X_115 := language.dataflow();
     X_108 := mat.packIncrement(X_98,2);
     X_34 := mat.packIncrement(X_108,X_99);
     X_35 := bat.append(X_24,X_34,true);
-    X_100:bat[:oid,:void]  := algebra.project(X_84,A2);
+    X_100 := algebra.project(X_84,A2);
+    X_102 := mal.manifold("calc","lng",X_100,18,9);
+    X_101 := algebra.project(X_85,A2);
+    X_103 := mal.manifold("calc","lng",X_101,18,9);
+    X_110 := mat.packIncrement(X_102,2);
+    X_36:bat[:oid,:lng]  := mat.packIncrement(X_110,X_103);
+    X_41 := bat.append(X_35,X_36,true);
     language.pass(X_67);
     language.pass(X_69);
     language.pass(X_84);
-exit X_115;
-    X_118:bat[:void,:oid]  := bat.reverse(X_100);
-    X_120 := bat.new(nil:oid,nil:lng);
-barrier (X_124,X_125) := iterator.new(X_100);
-    X_127 := calc.lng(X_125,18,9);
-    X_128 := algebra.fetch(X_118,X_124);
-    bat.insert(X_120,X_128,X_127);
-    redo (X_124,X_125) := iterator.next(X_100);
-exit (X_124,X_125);
-    X_100:bat[:oid,:void]  := nil:bat[:oid,:void];
-    X_118:bat[:void,:oid]  := nil:bat[:void,:oid];
-    X_102 := X_120;
-    X_101:bat[:oid,:void]  := algebra.project(X_85,A2);
-    X_134:bat[:void,:oid]  := bat.reverse(X_101);
-    X_136 := bat.new(nil:oid,nil:lng);
-barrier (X_138,X_139) := iterator.new(X_101);
-    X_141 := calc.lng(X_139,18,9);
-    X_142 := algebra.fetch(X_134,X_138);
-    bat.insert(X_136,X_142,X_141);
-    redo (X_138,X_139) := iterator.next(X_101);
-exit (X_138,X_139);
-    X_101:bat[:oid,:void]  := nil:bat[:oid,:void];
-    X_134:bat[:void,:oid]  := nil:bat[:void,:oid];
-    X_103 := X_136;
-    X_110 := mat.packIncrement(X_102,2);
-    X_36:bat[:oid,:lng]  := mat.packIncrement(X_110,X_103);
-    X_41 := bat.append(X_35,X_36,true);
+    language.pass(X_85);
+exit X_116;
     X_42 := sql.resultSet(2,1,X_22);
     sql.rsColumn(X_42,".L5","L2","bigint",64,0,X_22);
     sql.rsColumn(X_42,".L5","v","decimal",18,9,X_41);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to