Search in sources :

Example 41 with Select

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

the class TestSetQueryParsing method testTwoUnions.

/**
 * select c1 from g1 union select c2 from g2 union select c3 from g3
 */
@Test
public void testTwoUnions() {
    SetQuery setQuery = new SetQuery(Operation.UNION);
    setQuery.setAll(false);
    // $NON-NLS-1$
    GroupSymbol g = new GroupSymbol("g1");
    From from = new From();
    from.addGroup(g);
    Select select = new Select();
    // $NON-NLS-1$
    select.addSymbol(new ElementSymbol("c1"));
    Query query = new Query();
    query.setSelect(select);
    query.setFrom(from);
    setQuery.setLeftQuery(query);
    // $NON-NLS-1$
    g = new GroupSymbol("g2");
    from = new From();
    from.addGroup(g);
    select = new Select();
    // $NON-NLS-1$
    select.addSymbol(new ElementSymbol("c2"));
    query = new Query();
    query.setSelect(select);
    query.setFrom(from);
    setQuery.setRightQuery(query);
    // $NON-NLS-1$
    g = new GroupSymbol("g3");
    from = new From();
    from.addGroup(g);
    select = new Select();
    // $NON-NLS-1$
    select.addSymbol(new ElementSymbol("c3"));
    query = new Query();
    query.setSelect(select);
    query.setFrom(from);
    setQuery = new SetQuery(Operation.UNION, false, setQuery, query);
    // $NON-NLS-1$
    TestParser.helpTest(// $NON-NLS-1$
    "select c1 from g1 union select c2 from g2 union select c3 from g3", // $NON-NLS-1$
    "SELECT c1 FROM g1 UNION SELECT c2 FROM g2 UNION SELECT c3 FROM g3", setQuery);
}
Also used : ElementSymbol(org.teiid.query.sql.symbol.ElementSymbol) MultipleElementSymbol(org.teiid.query.sql.symbol.MultipleElementSymbol) SetQuery(org.teiid.query.sql.lang.SetQuery) Query(org.teiid.query.sql.lang.Query) SetQuery(org.teiid.query.sql.lang.SetQuery) GroupSymbol(org.teiid.query.sql.symbol.GroupSymbol) Select(org.teiid.query.sql.lang.Select) From(org.teiid.query.sql.lang.From) Test(org.junit.Test)

Example 42 with Select

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

the class TestStaticSymbolMappingVisitor method testVisitSelect3.

public void testVisitSelect3() {
    Select select = new Select();
    MultipleElementSymbol all = new MultipleElementSymbol();
    all.addElementSymbol(exampleElement(true, 0));
    select.addSymbol(all);
    helpTest(select, getSymbolMap());
}
Also used : MultipleElementSymbol(org.teiid.query.sql.symbol.MultipleElementSymbol) Select(org.teiid.query.sql.lang.Select)

Example 43 with Select

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

the class TestSelect method testGetProjectedNoElements.

// ################################## ACTUAL TESTS ################################
public void testGetProjectedNoElements() {
    Select select = new Select();
    select.addSymbol(new MultipleElementSymbol());
    List projectedSymbols = select.getProjectedSymbols();
    // $NON-NLS-1$
    assertEquals("Did not get empty list for select * with no elements: ", new ArrayList(), projectedSymbols);
}
Also used : MultipleElementSymbol(org.teiid.query.sql.symbol.MultipleElementSymbol) Select(org.teiid.query.sql.lang.Select) ArrayList(java.util.ArrayList) List(java.util.List) ArrayList(java.util.ArrayList)

Example 44 with Select

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

the class TestSelect method testNonEquivalence.

public void testNonEquivalence() {
    Select s1 = sample1();
    Select s2 = sample2();
    int equals = -1;
    UnitTestUtil.helpTestEquivalence(equals, s1, s2);
}
Also used : Select(org.teiid.query.sql.lang.Select)

Example 45 with Select

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

the class TestSubqueryFromClause method example2.

public static SubqueryFromClause example2() {
    Query query = new Query();
    Select select = new Select();
    // $NON-NLS-1$
    select.addSymbol(new ElementSymbol("c"));
    // $NON-NLS-1$
    select.addSymbol(new ElementSymbol("d"));
    query.setSelect(select);
    From from = new From();
    // $NON-NLS-1$
    from.addGroup(new GroupSymbol("m.g2"));
    query.setFrom(from);
    CompareCriteria crit = new CompareCriteria();
    // $NON-NLS-1$
    crit.setLeftExpression(new ElementSymbol("c"));
    crit.setRightExpression(new Constant(new Integer(10)));
    crit.setOperator(CompareCriteria.EQ);
    query.setCriteria(crit);
    // $NON-NLS-1$
    return new SubqueryFromClause("temp", query);
}
Also used : ElementSymbol(org.teiid.query.sql.symbol.ElementSymbol) Query(org.teiid.query.sql.lang.Query) 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) CompareCriteria(org.teiid.query.sql.lang.CompareCriteria) SubqueryFromClause(org.teiid.query.sql.lang.SubqueryFromClause)

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