Package com.orchestranetworks.query
Interface QueryBuilder
 - public interface QueryBuilderA builder for query objects, capable of creating queries which reference tables from multiple datasets.- The same builder can be used to create multiple queries. - Examples- The following query involves a single dataset: - Query<Tuple> query = dataset.createQuery("SELECT * FROM customer");- The following query involves a join between two datasets, where - dataset0is the default dataset and- dataset1is named- s1:- QueryBuilder builder = dataset0.createQueryBuilder().addDataset("s1", dataset1); Query<Tuple> query = builder .build("SELECT t1.c_custkey, t2.o_orderkey " + "FROM customer t1 " + "INNER JOIN s1.orders t2 " + " ON t1.c_custkey=t2.o_custkey.c_custkey ");- The default dataset - dataset0will have the default name- _public.- Since:
- 6.0.0
- See Also:
- Adaptation.createQueryBuilder()
 
-   Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description QueryBuilderaddDataset (String aName, Adaptation aDataset)Adds the specified dataset using the provided name.Query<Tuple>build (String aSql)Creates a query from the specified SQL string, whose result will returnTupleobjects.<T> Query<T>build (String aSql, Class<T> aClass)Creates a query from the specified SQL string, whose result will return objects of the specified type.
 
-   
-   Method Detail- addDataset- QueryBuilder addDataset(String aName, Adaptation aDataset) Adds the specified dataset using the provided name. If this builder previously contained a dataset with the same name, the old value is replaced.- Parameters:
- aName- the name under which the dataset is registered.
- aDataset- the dataset to be registered.
- Returns:
- the same builder object, with the result of this method applied. to it.
- Throws:
- IllegalArgumentException- if there are problems with the dataset, and it cannot be used.
 
 - build- Query<Tuple> build(String aSql) Creates a query from the specified SQL string, whose result will return- Tupleobjects.- Here is an example of a query returning - Tuples with several elements:- Query<Tuple> query = queryBuilder.build("SELECT id, name, dob FROM customer"); try (QueryResult<Tuple> result = query.getResult()) { for (Tuple t : result) { Integer id = t.get(0, Integer.class); String name = t.get(1, String.class); Date dob = t.get(2, Date.class); ... } }- Here is an example of a query returning - Tuples with one element (see- build(String, Class)for an alternative without- Tuple):- Query<Tuple> query = queryBuilder.build("SELECT name FROM customer"); try (QueryResult<Tuple> result = query.getResult()) { for (Tuple t : result) { String name = t.get(0, String.class); ... } }- Parameters:
- aSql- the SQL string that will be used to create the query object.
- Returns:
- a structurally valid query object which can be executed.
- Throws:
- QueryParseException- if the query string is not valid; for example, it contains syntax errors, it references missing tables, missing columns, etc.
 
 - build- <T> Query<T> build(String aSql, Class<T> aClass) Creates a query from the specified SQL string, whose result will return objects of the specified type. See SQL documentation to have more information about the mapping between SQL and Java types.- Here is an example of a query returning - Strings (see- build(String)for an alternative with- Tuple):- Query<String> query = queryBuilder.build("SELECT name FROM customer", String.class); try (QueryResult<String> result = query.getResult()) { for (String name : result) { ... } }- A typical example of the usage of this method is a COUNT query, which returns one (and only one) - Longresult:- Query<Long> query = queryBuilder.build("SELECT COUNT(*) FROM customer", Long.class); try (QueryResult<Long> result = query.getResult()) { Long count = result.iterator().next(); ... }- Parameters:
- aSql- the SQL string that will be used to create the query object.
- aClass- the class representing the row type of the query result; either- Tuple, or in the case of a 1-element row, the mapped Java type of this element.
- Returns:
- a structurally valid query object which can be executed.
- Throws:
- QueryParseException- if the SQL query is not valid; for example, it contains syntax errors, it references missing tables, missing columns, etc.
 
 
 
-