Search in sources :

Example 86 with Column

use of org.teiid.metadata.Column in project teiid by teiid.

the class TestCriteriaCapabilityValidatorVisitor method testSubqueryCompareCriteriaSearchableFail.

// element not searchable
@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);
    // $NON-NLS-1$
    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);
}
Also used : FakeCapabilitiesFinder(org.teiid.query.optimizer.capabilities.FakeCapabilitiesFinder) TransformationMetadata(org.teiid.query.metadata.TransformationMetadata) Column(org.teiid.metadata.Column) BasicSourceCapabilities(org.teiid.query.optimizer.capabilities.BasicSourceCapabilities) Schema(org.teiid.metadata.Schema) Test(org.junit.Test)

Example 87 with Column

use of org.teiid.metadata.Column in project teiid by teiid.

the class TestCreateDrop method testForeignTemp.

@Test
public void testForeignTemp() {
    Create create = new Create();
    // $NON-NLS-1$
    create.setTable(new GroupSymbol("tempTable"));
    create.setOn("source");
    Table t = new Table();
    t.setName("tempTable");
    t.setUUID("tid:0");
    Column c = new Column();
    c.setName("x");
    c.setUUID("tid:0");
    Datatype string = SystemMetadata.getInstance().getRuntimeTypeMap().get("string");
    c.setDatatype(string, true, 0);
    t.addColumn(c);
    c = new Column();
    c.setName("y");
    c.setUUID("tid:0");
    Datatype decimal = SystemMetadata.getInstance().getRuntimeTypeMap().get("decimal");
    c.setDatatype(decimal, true, 0);
    t.addColumn(c);
    t.setCardinality(10000);
    create.setTableMetadata(t);
    // $NON-NLS-1$ //$NON-NLS-2$
    helpTest("create foreign temporary table tempTable (x string, y decimal) options (cardinality 10000) on source", "CREATE FOREIGN TEMPORARY TABLE tempTable (\n	x string,\n	y bigdecimal\n) OPTIONS (CARDINALITY 10000) ON 'source'", create);
}
Also used : Table(org.teiid.metadata.Table) Column(org.teiid.metadata.Column) Create(org.teiid.query.sql.lang.Create) GroupSymbol(org.teiid.query.sql.symbol.GroupSymbol) Datatype(org.teiid.metadata.Datatype) Test(org.junit.Test)

Example 88 with Column

use of org.teiid.metadata.Column in project teiid by teiid.

the class TestCalculateCostUtil method testEstimateCostOfCriteriaTime2.

/**
 *  Time Criteria - case using invalid max and min time strings
 */
@Test
public void testEstimateCostOfCriteriaTime2() throws Exception {
    TransformationMetadata metadata = RealMetadataFactory.example1();
    // $NON-NLS-1$
    Column e3 = metadata.getElementID("pm3.g1.e3");
    // $NON-NLS-1$
    e3.setMinimumValue("2007-04-03 12:12:12.10");
    // $NON-NLS-1$
    e3.setMaximumValue("2007-06-03 12:12:12.10");
    // $NON-NLS-1$
    String critString = "pm3.g1.e3 <= {t'11:11:11'}";
    helpTestEstimateCost(critString, 100, 33, metadata);
}
Also used : TransformationMetadata(org.teiid.query.metadata.TransformationMetadata) Column(org.teiid.metadata.Column) Test(org.junit.Test)

Example 89 with Column

use of org.teiid.metadata.Column in project teiid by teiid.

the class TestCalculateCostUtil method testEstimateCostOfCriteriaTimestamp1.

/**
 *  Timestamp Criteria - case using valid max and min timestamp strings
 */
@Test
public void testEstimateCostOfCriteriaTimestamp1() throws Exception {
    TransformationMetadata metadata = RealMetadataFactory.example1();
    // $NON-NLS-1$
    Column e4 = metadata.getElementID("pm3.g1.e4");
    // $NON-NLS-1$
    e4.setMinimumValue("2007-04-03 12:12:12.10");
    // $NON-NLS-1$
    e4.setMaximumValue("2007-04-03 12:12:12.10");
    // $NON-NLS-1$
    String critString = "pm3.g1.e4 <= {ts'2007-04-03 12:12:12.10'}";
    helpTestEstimateCost(critString, 100, 1, metadata);
}
Also used : TransformationMetadata(org.teiid.query.metadata.TransformationMetadata) Column(org.teiid.metadata.Column) Test(org.junit.Test)

Example 90 with Column

use of org.teiid.metadata.Column in project teiid by teiid.

the class TestSwaggerMetadataProcessor method testReftoResponse.

@Test
public void testReftoResponse() throws TranslatorException {
    SwaggerExecutionFactory translator = new SwaggerExecutionFactory();
    translator.start();
    MetadataFactory mf = petstoreMetadata(translator);
    Procedure p = mf.getSchema().getProcedure("findPetsByTags");
    assertNotNull(p);
    assertEquals("GET", p.getProperty(RestMetadataExtension.METHOD, false).toUpperCase());
    assertEquals("http://petstore.swagger.io/v2/pet/findByTags", p.getProperty(RestMetadataExtension.URI, false));
    assertNotNull(p.getResultSet());
    List<Column> columns = p.getResultSet().getColumns();
    assertEquals(8, columns.size());
    Column pa = p.getResultSet().getColumnByName("id");
    assertNull(pa.getNameInSource());
    pa = p.getResultSet().getColumnByName("category_id");
    assertEquals("category/id", pa.getNameInSource());
    pa = p.getResultSet().getColumnByName("tags_Tag_id");
    assertEquals("tags[]/Tag/id", pa.getNameInSource());
}
Also used : RealMetadataFactory(org.teiid.query.unittest.RealMetadataFactory) MetadataFactory(org.teiid.metadata.MetadataFactory) Column(org.teiid.metadata.Column) Procedure(org.teiid.metadata.Procedure) Test(org.junit.Test)

Aggregations

Column (org.teiid.metadata.Column)210 Table (org.teiid.metadata.Table)72 ArrayList (java.util.ArrayList)47 TranslatorException (org.teiid.translator.TranslatorException)47 Test (org.junit.Test)39 TransformationMetadata (org.teiid.query.metadata.TransformationMetadata)21 MetadataFactory (org.teiid.metadata.MetadataFactory)20 ElementSymbol (org.teiid.query.sql.symbol.ElementSymbol)19 KeyRecord (org.teiid.metadata.KeyRecord)18 Schema (org.teiid.metadata.Schema)18 MetadataStore (org.teiid.metadata.MetadataStore)17 Procedure (org.teiid.metadata.Procedure)14 RealMetadataFactory (org.teiid.query.unittest.RealMetadataFactory)14 ColumnReference (org.teiid.language.ColumnReference)12 DerivedColumn (org.teiid.language.DerivedColumn)12 Expression (org.teiid.language.Expression)12 Literal (org.teiid.language.Literal)10 QueryNode (org.teiid.query.mapping.relational.QueryNode)9 Connection (java.sql.Connection)7 ResultSet (java.sql.ResultSet)7