use of org.teiid.query.sql.lang.From in project teiid by teiid.
the class TestLimitParsing method testFetchFirst.
@Test
public void testFetchFirst() {
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(null, new Constant(2)));
// $NON-NLS-1$ //$NON-NLS-2$
helpTest("Select * from a fetch first 2 rows only", "SELECT * FROM a LIMIT 2", query);
}
use of org.teiid.query.sql.lang.From in project teiid by teiid.
the class TestSetQueryParsing method exampleSetQuery.
private SetQuery exampleSetQuery(Operation op) {
// $NON-NLS-1$
GroupSymbol g = new GroupSymbol("g");
From from = new From();
from.addGroup(g);
Select select = new Select();
// $NON-NLS-1$
select.addSymbol(new ElementSymbol("a"));
Query query1 = new Query();
query1.setSelect(select);
query1.setFrom(from);
// $NON-NLS-1$
g = new GroupSymbol("h");
from = new From();
from.addGroup(g);
select = new Select();
// $NON-NLS-1$
select.addSymbol(new ElementSymbol("b"));
Query query2 = new Query();
query2.setSelect(select);
query2.setFrom(from);
SetQuery setQuery = new SetQuery(op);
setQuery.setAll(false);
setQuery.setLeftQuery(query1);
setQuery.setRightQuery(query2);
return setQuery;
}
use of org.teiid.query.sql.lang.From 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);
}
use of org.teiid.query.sql.lang.From in project teiid by teiid.
the class TestGroupCollectorVisitor method testFrom2.
public void testFrom2() {
GroupSymbol gs1 = exampleGroupSymbol(1);
GroupSymbol gs2 = exampleGroupSymbol(2);
GroupSymbol gs3 = exampleGroupSymbol(3);
From from = new From();
from.addGroup(gs1);
from.addGroup(gs2);
from.addGroup(gs3);
List groups = new ArrayList();
groups.add(gs1);
groups.add(gs2);
groups.add(gs3);
helpTestGroups(from, false, groups);
}
use of org.teiid.query.sql.lang.From in project teiid by teiid.
the class TestGroupCollectorVisitor method testFrom4.
public void testFrom4() {
GroupSymbol gs1 = exampleGroupSymbol(1);
GroupSymbol gs2 = exampleGroupSymbol(2);
From from = new From();
from.addGroup(gs1);
from.addGroup(gs2);
from.addGroup(gs1);
List groups = new ArrayList();
groups.add(gs1);
groups.add(gs2);
groups.add(gs1);
helpTestGroups(from, false, groups);
}
Aggregations