You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mrql.apache.org by fe...@apache.org on 2015/01/22 01:57:25 UTC

incubator-mrql git commit: MRQL-61: Fix bug on select over union queries

Repository: incubator-mrql
Updated Branches:
  refs/heads/master ce2ff692d -> 4d5ef9b75


MRQL-61: Fix bug on select over union queries


Project: http://git-wip-us.apache.org/repos/asf/incubator-mrql/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mrql/commit/4d5ef9b7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mrql/tree/4d5ef9b7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mrql/diff/4d5ef9b7

Branch: refs/heads/master
Commit: 4d5ef9b75a91f22e991129a9dec2c3e15e2d8215
Parents: ce2ff69
Author: fegaras <fe...@cse.uta.edu>
Authored: Wed Jan 21 18:56:58 2015 -0600
Committer: fegaras <fe...@cse.uta.edu>
Committed: Wed Jan 21 18:56:58 2015 -0600

----------------------------------------------------------------------
 core/src/main/java/org/apache/mrql/Interpreter.gen   | 6 ++++++
 core/src/main/java/org/apache/mrql/Normalization.gen | 3 +++
 2 files changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mrql/blob/4d5ef9b7/core/src/main/java/org/apache/mrql/Interpreter.gen
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mrql/Interpreter.gen b/core/src/main/java/org/apache/mrql/Interpreter.gen
index a3237d5..e22afbe 100644
--- a/core/src/main/java/org/apache/mrql/Interpreter.gen
+++ b/core/src/main/java/org/apache/mrql/Interpreter.gen
@@ -132,6 +132,12 @@ public class Interpreter extends TypeInference {
             return #<callM(coerce,`coerce_method,`((float)(((MR_double)x).get())),`(MRContainer.DOUBLE))>;
         else if (x instanceof MR_bool)
             return (((MR_bool)x).get()) ? #<true> : #<false>;
+        else if (x instanceof MR_dataset) {
+            Trees vs = #[ ];
+            for ( MRData v: ((MR_dataset)x).dataset().take(Integer.MAX_VALUE))
+                vs = vs.append(reify(v));
+            return #<list(...vs)>;
+        };
         throw new Error("wrong MRData: "+x);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-mrql/blob/4d5ef9b7/core/src/main/java/org/apache/mrql/Normalization.gen
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mrql/Normalization.gen b/core/src/main/java/org/apache/mrql/Normalization.gen
index 37d628e..8d89cb6 100644
--- a/core/src/main/java/org/apache/mrql/Normalization.gen
+++ b/core/src/main/java/org/apache/mrql/Normalization.gen
@@ -332,6 +332,9 @@ public class Normalization extends Translator {
             return normalize(#<select(`(subst(v,d,u)),
                                       from(...bl,...(subst_list(v,d,al))),
                                       `(subst(v,d,c)))>);
+        case select(`u,from(...bl,bind(`v,call(plus,`X,`Y)),...al),where(`c)):
+            return normalize(#<call(plus,select(`u,from(...bl,bind(`v,`X),...al),where(`c)),
+                                    select(`u,from(...bl,bind(`v,`Y),...al),where(`c)))>);
         case select(`u,from(...bl),where(`c)):
             Trees es = has_existential(c);
             if (es.length() <= 1)