@Override public Schema getModelID(String modelName) throws TeiidComponentException, QueryMetadataException { Schema s = this.getMetadataStore().getSchema(modelName); if (s == null) { throw new QueryMetadataException(QueryPlugin.Event.TEIID30352, modelName+TransformationMetadata.NOT_EXISTS_MESSAGE); } return s; }
@Override public Schema getModelID(String modelName) throws TeiidComponentException, QueryMetadataException { Schema s = this.getMetadataStore().getSchema(modelName); if (s == null) { throw new QueryMetadataException(QueryPlugin.Event.TEIID30352, modelName+TransformationMetadata.NOT_EXISTS_MESSAGE); } return s; }
@Test public void testIsNull3() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); helpTestVisitor("pm1.g1.e1 IS NULL", modelID, metadata, capFinder, true, false); }
@Test public void testPlanNodeAnnotation() throws Exception { PlanNode pn = new PlanNode(); TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("pm1"); AnalysisRecord record = new AnalysisRecord(true, true); pn.recordDebugAnnotation("hello", modelID, "world", record, metadata); assertEquals("[LOW [Relational Planner] hello pm1 - world Unknown: 0(groups=[]]", record.getAnnotations().toString()); }
@Test public void testSupportsSelfJoin4() throws Exception { // Set up metadata TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Schema modelID = metadata.getMetadataStore().getSchema("PM1"); // Test capabilities util boolean actual = CapabilitiesUtil.supportsSelfJoins(modelID, metadata, new DefaultCapabilitiesFinder()); assertEquals("Got wrong answer for supports", false, actual); //$NON-NLS-1$ }
public void helpTestSupportsScalar(SourceCapabilities caps, Function function, boolean expectedValue) throws QueryMetadataException, TeiidComponentException, QueryResolverException { // Set up metadata TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Schema modelID = metadata.getMetadataStore().getSchema("PM1"); // Set up capabilities FakeCapabilitiesFinder finder = new FakeCapabilitiesFinder(); finder.addCapabilities("pm1", caps); //$NON-NLS-1$ ResolverVisitor.resolveLanguageObject(function, metadata); // Test capabilities util boolean actual = CapabilitiesUtil.supportsScalarFunction(modelID, function, metadata, finder); assertEquals("Got wrong answer for supports", expectedValue, actual); //$NON-NLS-1$ }
@Test public void testCompareCriteriaOpCapFail3() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_ORDERED, false); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitor("pm1.g1.e1 < 'x'", modelID, metadata, capFinder, false, false); }
@Test public void testSubqueryCompareCriteriaFail3() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_QUANTIFIED_SOME, false); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitorWithCommand("SELECT e1 FROM pm1.g1 WHERE pm1.g1.e1 = ANY (SELECT e1 FROM pm1.g2)", modelID, metadata, capFinder, false, false); //$NON-NLS-1$ }
@Test public void testSubqueryCompareCriteriaOpCapFail2() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, false); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitorWithCommand("SELECT e1 FROM pm1.g1 WHERE pm1.g1.e1 <> ANY (SELECT e1 FROM pm1.g2)", modelID, metadata, capFinder, false, false); //$NON-NLS-1$ }
@Test public void testSubqueryCompareCriteriaOpCapFail3() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_ORDERED, false); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitorWithCommand("SELECT e1 FROM pm1.g1 WHERE pm1.g1.e1 < ANY (SELECT e1 FROM pm1.g2)", modelID, metadata, capFinder, false, false); //$NON-NLS-1$ }
@Test public void testSubqueryCompareCriteriaOpCapFail5() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_ORDERED, false); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitorWithCommand("SELECT e1 FROM pm1.g1 WHERE pm1.g1.e1 > ANY (SELECT e1 FROM pm1.g2)", modelID, metadata, capFinder, false, false); //$NON-NLS-1$ }
@Test public void testCompareCriteriaOpCapFail1() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, false); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitor("pm1.g1.e1 = 'x'", modelID, metadata, capFinder, false, false); }
@Test public void testCompoundCriteriaAnd1() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitor("pm1.g1.e1 = 'x' AND 0 = 1", modelID, metadata, capFinder, true, false); }
@Test public void testSubqueryCompareCriteriaOpCapFail1() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, false); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitorWithCommand("SELECT e1 FROM pm1.g1 WHERE pm1.g1.e1 = ANY (SELECT e1 FROM pm1.g2)", modelID, metadata, capFinder, false, false); //$NON-NLS-1$ }
@Test public void testMatchCriteriaSuccess2() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_LIKE, true); caps.setCapabilitySupport(Capability.CRITERIA_LIKE_ESCAPE, true); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitor("pm1.g1.e1 LIKE 'x' ESCAPE '#'", modelID, metadata, capFinder, true, false); }
@Test public void testMatchCriteriaSuccess3() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_LIKE, true); caps.setCapabilitySupport(Capability.CRITERIA_NOT, true); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitor("pm1.g1.e1 NOT LIKE 'x'", modelID, metadata, capFinder, true, false); }
@Test public void testSetCriteria7() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_IN, true); caps.setCapabilitySupport(Capability.CRITERIA_NOT, true); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitor("pm1.g1.e1 NOT IN ('x')", modelID, metadata, capFinder, true, false); //$NON-NLS-1$ }
@Test public void testScalarFunction1() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1Cached(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true); caps.setFunctionSupport("curtime", true); //$NON-NLS-1$ capFinder.addCapabilities("pm1", caps); helpTestVisitor("curtime() = {t'10:00:00'}", modelID, metadata, capFinder, true, false); }
@Test public void testCompareCriteriaSearchableFail() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1(); Object modelID = metadata.getMetadataStore().getSchema("PM1"); Column e1 = metadata.getElementID("pm1.g1.e1"); e1.setSearchType(SearchType.Like_Only); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitor("pm1.g1.e1 = 'x'", modelID, metadata, capFinder, false, false); }
@Test public void testSubqueryCompareCriteriaSearchableFail() throws Exception { TransformationMetadata metadata = RealMetadataFactory.example1(); Schema modelID = metadata.getMetadataStore().getSchema("PM1"); Column e1 = metadata.getElementID("pm1.g1.e1"); e1.setSearchType(SearchType.Like_Only); FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); BasicSourceCapabilities caps = new BasicSourceCapabilities(); caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true); capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$ helpTestVisitorWithCommand("SELECT e1 FROM pm1.g1 WHERE pm1.g1.e1 = ANY (SELECT e1 FROM pm1.g2)", modelID, metadata, capFinder, false, false); //$NON-NLS-1$ }