use of org.teiid.query.sql.lang.From in project teiid by teiid.
the class TestLimitParsing method testFetchFirstRow.
@Test
public void testFetchFirstRow() {
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(1)));
// $NON-NLS-1$ //$NON-NLS-2$
helpTest("Select * from a fetch first row only", "SELECT * FROM a LIMIT 1", query);
}
use of org.teiid.query.sql.lang.From in project teiid by teiid.
the class TestLimitParsing method testOffsetFetch.
@Test
public void testOffsetFetch() {
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(2), new Constant(5)));
// $NON-NLS-1$ //$NON-NLS-2$
helpTest("Select * from a offset 2 rows fetch first 5 rows only", "SELECT * FROM a LIMIT 2, 5", query);
}
use of org.teiid.query.sql.lang.From in project teiid by teiid.
the class TestSetQueryParsing method testUnionAll.
/**
* SELECT a FROM g UNION ALL select b from h
*/
@Test
public void testUnionAll() {
// $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(Operation.UNION);
setQuery.setAll(true);
setQuery.setLeftQuery(query1);
setQuery.setRightQuery(query2);
// $NON-NLS-1$
TestParser.helpTest(// $NON-NLS-1$
"SELECT a FROM g UNION ALL select b from h", // $NON-NLS-1$
"SELECT a FROM g UNION ALL SELECT b FROM h", setQuery);
}
use of org.teiid.query.sql.lang.From in project teiid by teiid.
the class TestSetQueryParsing method createTestQuery.
private Query createTestQuery(String group) {
GroupSymbol g = new GroupSymbol(group);
From from = new From();
from.addGroup(g);
Select select = new Select();
select.addSymbol(new MultipleElementSymbol());
Query query1 = new Query();
query1.setSelect(select);
query1.setFrom(from);
return query1;
}
use of org.teiid.query.sql.lang.From in project teiid by teiid.
the class TestSetQueryParsing method testThreeUnions.
/**
* select c1 from g1 union select c2 from g2 union all select c3 from g3 union select c4 from g4
*/
@Test
public void testThreeUnions() {
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(SetQuery.Operation.UNION, true, setQuery, query);
// $NON-NLS-1$
g = new GroupSymbol("g4");
from = new From();
from.addGroup(g);
select = new Select();
// $NON-NLS-1$
select.addSymbol(new ElementSymbol("c4"));
query = new Query();
query.setSelect(select);
query.setFrom(from);
setQuery = new SetQuery(SetQuery.Operation.UNION, false, setQuery, query);
// $NON-NLS-1$
TestParser.helpTest(// $NON-NLS-1$
"select c1 from g1 union select c2 from g2 union all select c3 from g3 union select c4 from g4", // $NON-NLS-1$
"SELECT c1 FROM g1 UNION SELECT c2 FROM g2 UNION ALL SELECT c3 FROM g3 UNION SELECT c4 FROM g4", setQuery);
}
Aggregations