Author: shawkins
Date: 2011-10-14 11:23:51 -0400 (Fri, 14 Oct 2011)
New Revision: 3551
Modified:
branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePlanProcedures.java
branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java
Log:
TEIID-1780 fix for proc relational with no inputs
Modified:
branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePlanProcedures.java
===================================================================
---
branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePlanProcedures.java 2011-10-14
01:46:31 UTC (rev 3550)
+++
branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePlanProcedures.java 2011-10-14
15:23:51 UTC (rev 3551)
@@ -134,10 +134,12 @@
Criteria crit = Criteria.combineCriteria(conjuncts);
- accessNode.setProperty(NodeConstants.Info.PROCEDURE_CRITERIA, crit);
- accessNode.setProperty(NodeConstants.Info.PROCEDURE_INPUTS,
inputReferences);
- accessNode.setProperty(NodeConstants.Info.PROCEDURE_DEFAULTS, defaults);
- accessNode.setProperty(NodeConstants.Info.IS_DEPENDENT_SET, Boolean.TRUE);
+ if (crit != null) {
+ accessNode.setProperty(NodeConstants.Info.PROCEDURE_CRITERIA, crit);
+ accessNode.setProperty(NodeConstants.Info.PROCEDURE_INPUTS,
inputReferences);
+ accessNode.setProperty(NodeConstants.Info.PROCEDURE_DEFAULTS, defaults);
+ accessNode.setProperty(NodeConstants.Info.IS_DEPENDENT_SET, Boolean.TRUE);
+ }
}
return plan;
Modified:
branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java
===================================================================
---
branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java 2011-10-14
01:46:31 UTC (rev 3550)
+++
branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java 2011-10-14
15:23:51 UTC (rev 3551)
@@ -753,4 +753,16 @@
TestProcessor.helpProcess(plan, dataManager, expected);
}
+ @Test public void testProcRelationalWithNoInputs1() {
+ String sql = "select e1 from pm1.sp1"; //$NON-NLS-1$
+
+ List<?>[] expected = new List[] {
+ Arrays.asList("c") //$NON-NLS-1$
+ };
+ HardcodedDataManager dataManager = new HardcodedDataManager();
+ dataManager.addData("EXEC pm1.sp1()", expected);
+ ProcessorPlan plan = TestProcessor.helpGetPlan(sql,
RealMetadataFactory.createTransformationMetadata(RealMetadataFactory.example1Store(),
"e1"));
+ TestProcessor.helpProcess(plan, dataManager, expected);
+ }
+
}
Show replies by date