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)