Search in sources :

Example 16 with Select

use of org.teiid.query.sql.lang.Select in project teiid by teiid.

the class TestExpressionMappingVisitor method testSelectAlias1.

@Test
public void testSelectAlias1() {
    // $NON-NLS-1$
    ElementSymbol x = new ElementSymbol("y.x");
    // $NON-NLS-1$
    ElementSymbol y = new ElementSymbol("z.x");
    HashMap<ElementSymbol, ElementSymbol> map = new HashMap<ElementSymbol, ElementSymbol>();
    map.put(x, y);
    LanguageObject toMap = new Select(Arrays.asList(x));
    ExpressionMappingVisitor.mapExpressions(toMap, map);
    // $NON-NLS-1$ //$NON-NLS-2$
    assertEquals("Did not get expected mapped expression", " z.x", toMap.toString());
}
Also used : HashMap(java.util.HashMap) Select(org.teiid.query.sql.lang.Select) LanguageObject(org.teiid.query.sql.LanguageObject) Test(org.junit.Test)

Example 17 with Select

use of org.teiid.query.sql.lang.Select in project teiid by teiid.

the class TestExpressionMappingVisitor method testSelectAlias.

@Test
public void testSelectAlias() {
    // $NON-NLS-1$
    ElementSymbol x = new ElementSymbol("y.x");
    // $NON-NLS-1$
    ElementSymbol y = new ElementSymbol("z.X");
    HashMap<Expression, Expression> map = new HashMap<Expression, Expression>();
    map.put(x, y);
    LanguageObject toMap = new Select(Arrays.asList(x));
    ExpressionMappingVisitor.mapExpressions(toMap, map);
    // $NON-NLS-1$ //$NON-NLS-2$
    assertEquals("Did not get expected mapped expression", " z.X AS x", toMap.toString());
}
Also used : HashMap(java.util.HashMap) Select(org.teiid.query.sql.lang.Select) LanguageObject(org.teiid.query.sql.LanguageObject) Test(org.junit.Test)

Example 18 with Select

use of org.teiid.query.sql.lang.Select in project teiid by teiid.

the class TestASTQueries method sampleQuery.

private Query sampleQuery() {
    List<ElementSymbol> symbols = new ArrayList<ElementSymbol>();
    // $NON-NLS-1$
    symbols.add(new ElementSymbol("e1"));
    // $NON-NLS-1$
    symbols.add(new ElementSymbol("e2"));
    Select select = new Select(symbols);
    From from = new From();
    // $NON-NLS-1$
    from.addGroup(new GroupSymbol("G1"));
    Query query = new Query();
    query.setSelect(select);
    query.setFrom(from);
    return query;
}
Also used : ElementSymbol(org.teiid.query.sql.symbol.ElementSymbol) Query(org.teiid.query.sql.lang.Query) ArrayList(java.util.ArrayList) Select(org.teiid.query.sql.lang.Select) GroupSymbol(org.teiid.query.sql.symbol.GroupSymbol) From(org.teiid.query.sql.lang.From)

Example 19 with Select

use of org.teiid.query.sql.lang.Select in project teiid by teiid.

the class TestLimitParsing method testLimitWithReferences3.

@Test
public void testLimitWithReferences3() {
    Query query = new Query();
    Select select = new Select(Arrays.asList(new MultipleElementSymbol()));
    // $NON-NLS-1$
    From from = new From(Arrays.asList(new UnaryFromClause(new GroupSymbol("a"))));
    query.setSelect(select);
    query.setFrom(from);
    query.setLimit(new Limit(new Reference(0), new Reference(1)));
    // $NON-NLS-1$ //$NON-NLS-2$
    helpTest("Select * from a limit ?,?", "SELECT * FROM a LIMIT ?, ?", query);
}
Also used : MultipleElementSymbol(org.teiid.query.sql.symbol.MultipleElementSymbol) Query(org.teiid.query.sql.lang.Query) SetQuery(org.teiid.query.sql.lang.SetQuery) UnaryFromClause(org.teiid.query.sql.lang.UnaryFromClause) Reference(org.teiid.query.sql.symbol.Reference) Select(org.teiid.query.sql.lang.Select) GroupSymbol(org.teiid.query.sql.symbol.GroupSymbol) From(org.teiid.query.sql.lang.From) Limit(org.teiid.query.sql.lang.Limit) Test(org.junit.Test)

Example 20 with Select

use of org.teiid.query.sql.lang.Select in project teiid by teiid.

the class TestLimitParsing method testLimitWithOffset.

@Test
public void testLimitWithOffset() {
    Query query = new Query();
    Select select = new Select(Arrays.asList(new MultipleElementSymbol()));
    // $NON-NLS-1$
    From from = new From(Arrays.asList(new UnaryFromClause(new GroupSymbol("a"))));
    query.setSelect(select);
    query.setFrom(from);
    query.setLimit(new Limit(new Constant(new Integer(50)), new Constant(new Integer(100))));
    // $NON-NLS-1$ //$NON-NLS-2$
    helpTest("Select * from a limit 50,100", "SELECT * FROM a LIMIT 50, 100", query);
}
Also used : MultipleElementSymbol(org.teiid.query.sql.symbol.MultipleElementSymbol) Query(org.teiid.query.sql.lang.Query) SetQuery(org.teiid.query.sql.lang.SetQuery) UnaryFromClause(org.teiid.query.sql.lang.UnaryFromClause) Constant(org.teiid.query.sql.symbol.Constant) Select(org.teiid.query.sql.lang.Select) GroupSymbol(org.teiid.query.sql.symbol.GroupSymbol) From(org.teiid.query.sql.lang.From) Limit(org.teiid.query.sql.lang.Limit) Test(org.junit.Test)

Aggregations

Select (org.teiid.query.sql.lang.Select)50 Query (org.teiid.query.sql.lang.Query)30 GroupSymbol (org.teiid.query.sql.symbol.GroupSymbol)26 MultipleElementSymbol (org.teiid.query.sql.symbol.MultipleElementSymbol)26 From (org.teiid.query.sql.lang.From)25 ElementSymbol (org.teiid.query.sql.symbol.ElementSymbol)24 Test (org.junit.Test)17 SetQuery (org.teiid.query.sql.lang.SetQuery)17 Constant (org.teiid.query.sql.symbol.Constant)15 UnaryFromClause (org.teiid.query.sql.lang.UnaryFromClause)11 Limit (org.teiid.query.sql.lang.Limit)10 ArrayList (java.util.ArrayList)5 CompareCriteria (org.teiid.query.sql.lang.CompareCriteria)5 Reference (org.teiid.query.sql.symbol.Reference)5 Element (org.jdom.Element)4 Expression (org.teiid.query.sql.symbol.Expression)4 List (java.util.List)3 Attribute (org.jdom.Attribute)3 PlanNode (org.teiid.query.optimizer.relational.plantree.PlanNode)3 LanguageObject (org.teiid.query.sql.LanguageObject)3