Skip to content

Commit

Permalink
TEIID-4015 correcting the evaluation of references
Browse files Browse the repository at this point in the history
  • Loading branch information
shawkins committed Mar 3, 2016
1 parent 1864529 commit 284473b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 3 deletions.
2 changes: 1 addition & 1 deletion engine/src/main/java/org/teiid/query/eval/Evaluator.java
Expand Up @@ -730,7 +730,7 @@ protected Object internalEvaluate(Expression expression, List<?> tuple)
if (ref.isPositional() && ref.getExpression() == null) {
return getContext(ref).getVariableContext().getGlobalValue(ref.getContextSymbol());
}
Object result = internalEvaluate(ref.getExpression(), tuple);
Object result = getContext(ref.getExpression()).getFromContext(ref.getExpression());
if (ref.getConstraint() != null) {
try {
ref.getConstraint().validate(result);
Expand Down
13 changes: 11 additions & 2 deletions engine/src/test/java/org/teiid/query/processor/TestProcessor.java
Expand Up @@ -7831,7 +7831,16 @@ private void sampleDataBQT2a(FakeDataManager dataMgr) throws Exception {
HardcodedDataManager dataManager = new HardcodedDataManager();
dataManager.addData("SELECT pm1.g1.e1, pm1.g1.e2 FROM pm1.g1", Arrays.asList("a,b", 1), Arrays.asList("a,b\n1,2\n3,4", 1));
TestProcessor.helpProcess(plan, dataManager, new List<?>[] {Arrays.asList("1", "2")});
}

}

@Test public void testSubqueriesWithMatchingCorrelationName() throws Exception {
String sql = "select e1, (select e1 from (select t1.e1 from pm1.g1 as t1) as t2 where t2.e1 = t1.e1) from pm2.g1 as t1";
ProcessorPlan plan = TestProcessor.helpGetPlan(sql, RealMetadataFactory.example1Cached());
HardcodedDataManager dataManager = new HardcodedDataManager();
dataManager.addData("SELECT pm2.g1.e1 FROM pm2.g1", Arrays.asList("a"));
dataManager.addData("SELECT pm1.g1.e1 FROM pm1.g1", Arrays.asList("a"), Arrays.asList("b"));
TestProcessor.helpProcess(plan, dataManager, new List<?>[] {Arrays.asList("a", "a")});
}

private static final boolean DEBUG = false;
}

0 comments on commit 284473b

Please sign in to comment.