public InitFromBuilderImpl(DataContext dataContext) { this.dataContext = dataContext; this.query = new Query(); }
public InitFromBuilderImpl(DataContext dataContext) { this.dataContext = dataContext; this.query = new Query(); }
@Override protected DataSet materializeMainSchemaTable(Table table, List<Column> columns, int maxRows) { // find the appropriate datacontext to execute a simple // table materialization query final DataContext dc = _dataContextRetrievalFunction.apply(table); final Query q = new Query().select(columns).from(table); if (maxRows >= 0) { q.setMaxRows(maxRows); } return dc.executeQuery(q); }
@Override protected DataSet materializeMainSchemaTable(Table table, List<Column> columns, int maxRows) { // find the appropriate datacontext to execute a simple // table materialization query final DataContext dc = _dataContextRetrievalFunction.apply(table); final Query q = new Query().select(columns).from(table); if (maxRows >= 0) { q.setMaxRows(maxRows); } return dc.executeQuery(q); }
@Override protected RowProcessingQueryOptimizer getQueryOptimizer() { final Table table = getStream().getTable(); final Query q = new Query().from(table).select(table.getColumns()); return new NoopRowProcessingQueryOptimizer(q, getConsumersSorted()); } }
Query q = new Query(); q.select(primaryColumns); q.select(foreignColumns);
Query q = new Query().select(foreignColumns).select(countAllItem).from(table).groupBy( foreignColumns); DataSet data = executeQuery(q);
private SelectItem findSelectItem(String token, FromItem[] joinTables) { // first look in the original query SelectItemParser selectItemParser = new SelectItemParser(_query, false); SelectItem result = selectItemParser.findSelectItem(token); if (result == null) { // fail over and try with the from items available in the join that // is being built. final Query temporaryQuery = new Query().from(joinTables); selectItemParser = new SelectItemParser(temporaryQuery, false); result = selectItemParser.findSelectItem(token); if (result == null) { throw new QueryParserException("Not capable of parsing ON token: " + token); } // set the query on the involved query parts (since they have been // temporarily moved to the searched query). result.setQuery(_query); } return result; }
private long getRowCount(Query q) { q = q.clone(); SelectItem countAllItem = SelectItem.getCountAllItem(); if (q.getGroupByClause().getItemCount() > 0) { q = new Query().from(new FromItem(q).setAlias("sq")).select(countAllItem); } else { q.getSelectClause().removeItems(); q.select(countAllItem); } Row row = MetaModelHelper.executeSingleRowQuery(_dataContext, q); Number count = (Number) row.getValue(countAllItem); return count.longValue(); }
private SelectItem findSelectItem(String token, FromItem[] joinTables) { // first look in the original query SelectItemParser selectItemParser = new SelectItemParser(_query, false); SelectItem result = selectItemParser.findSelectItem(token); if (result == null) { // fail over and try with the from items available in the join that // is being built. final Query temporaryQuery = new Query().from(joinTables); selectItemParser = new SelectItemParser(temporaryQuery, false); result = selectItemParser.findSelectItem(token); if (result == null) { throw new QueryParserException("Not capable of parsing ON token: " + token); } // set the query on the involved query parts (since they have been // temporarily moved to the searched query). result.setQuery(_query); } return result; }
private long getRowCount(Query q) { q = q.clone(); SelectItem countAllItem = SelectItem.getCountAllItem(); if (q.getGroupByClause().getItemCount() > 0) { q = new Query().from(new FromItem(q).setAlias("sq")).select(countAllItem); } else { q.getSelectClause().removeItems(); q.select(countAllItem); } Row row = MetaModelHelper.executeSingleRowQuery(_dataContext, q); Number count = (Number) row.getValue(countAllItem); return count.longValue(); }
private void compileLookupQuery() { try { final Column[] queryOutputColumns = getQueryOutputColumns(false); final Column queryOutputColumn = queryOutputColumns[0]; final Table table = queryOutputColumn.getTable(); Query query = new Query().from(table).select(queryOutputColumns); if (!isCarthesianProductMode()) { final Column[] queryConditionColumns = getQueryConditionColumns(); for (int i = 0; i < queryConditionColumns.length; i++) { query = query.where(queryConditionColumns[i], OperatorType.EQUALS_TO, new QueryParameter()); } } if (joinSemantic == JoinSemantic.LEFT_JOIN_MAX_ONE) { query = query.setMaxRows(1); } lookupQuery = datastoreConnection.getDataContext().compileQuery(query); } catch (RuntimeException e) { logger.error("Error occurred while compiling lookup query", e); throw e; } }
private void compileLookupQuery() { try { final Column[] queryOutputColumns = getQueryOutputColumns(false); final Column queryOutputColumn = queryOutputColumns[0]; final Table table = queryOutputColumn.getTable(); Query query = new Query().from(table).select(queryOutputColumns); if (!isCarthesianProductMode()) { final Column[] queryConditionColumns = getQueryConditionColumns(); for (int i = 0; i < queryConditionColumns.length; i++) { query = query.where(queryConditionColumns[i], OperatorType.EQUALS_TO, new QueryParameter()); } } if (joinSemantic == JoinSemantic.LEFT_JOIN_MAX_ONE) { query = query.setMaxRows(1); } lookupQuery = datastoreConnection.getDataContext().compileQuery(query); } catch (final RuntimeException e) { logger.error("Error occurred while compiling lookup query", e); throw e; } }
public void initialize() { final Table table = _outputDataStreamJob.getOutputDataStream().getTable(); final Query query = new Query(); query.from(table).selectAll(); final List<SelectItem> selectItems = query.getSelectClause().getItems(); final ConsumeRowHandler consumeRowHandler = _publisher.createConsumeRowHandler(); _outputRowCollector = new OutputDataStreamRowCollector(_publisher, selectItems, consumeRowHandler); final OutputDataStream outputDataStream = _outputDataStreamJob.getOutputDataStream(); _component.initializeOutputDataStream(outputDataStream, query, _outputRowCollector); _publisher.getAnalysisListener() .rowProcessingBegin(_publisher.getAnalysisJob(), _publisher.getRowProcessingMetrics()); }
innerQuery.setMaxRows(null); final Query outerQuery = new Query(); final FromItem subQuerySelectItem = new FromItem(innerQuery).setAlias("metamodel_subquery"); outerQuery.from(subQuerySelectItem);
innerQuery.setMaxRows(null); final Query outerQuery = new Query(); final FromItem subQuerySelectItem = new FromItem(innerQuery).setAlias("metamodel_subquery"); outerQuery.from(subQuerySelectItem);
private List<Query> splitQueryBasedOnColumn(Column column) { SelectItem maxItem = new SelectItem(FunctionType.MAX, column); SelectItem minItem = new SelectItem(FunctionType.MIN, column); Query q = new Query().from(column.getTable()).select(maxItem, minItem); Row row = MetaModelHelper.executeSingleRowQuery(_dataContext, q); long max = ceil((Number) row.getValue(maxItem));
private List<Query> splitQueryBasedOnColumn(Column column) { SelectItem maxItem = new SelectItem(FunctionType.MAX, column); SelectItem minItem = new SelectItem(FunctionType.MIN, column); Query q = new Query().from(column.getTable()).select(maxItem, minItem); Row row = MetaModelHelper.executeSingleRowQuery(_dataContext, q); long max = ceil((Number) row.getValue(maxItem));
@Override public Query clone() { final Query q = new Query(); q.setMaxRows(_maxRows); q.setFirstRow(_firstRow); q.getSelectClause().setDistinct(_selectClause.isDistinct()); for (FromItem item : _fromClause.getItems()) { q.from(item.clone()); } for (SelectItem item : _selectClause.getItems()) { q.select(item.clone(q)); } for (FilterItem item : _whereClause.getItems()) { q.where(item.clone()); } for (GroupByItem item : _groupByClause.getItems()) { q.groupBy(item.clone()); } for (FilterItem item : _havingClause.getItems()) { q.having(item.clone()); } for (OrderByItem item : _orderByClause.getItems()) { q.orderBy(item.clone()); } return q; } }
@Override public Query clone() { final Query q = new Query(); q.setMaxRows(_maxRows); q.setFirstRow(_firstRow); q.getSelectClause().setDistinct(_selectClause.isDistinct()); for (FromItem item : _fromClause.getItems()) { q.from(item.clone()); } for (SelectItem item : _selectClause.getItems()) { q.select(item.clone(q)); } for (FilterItem item : _whereClause.getItems()) { q.where(item.clone()); } for (GroupByItem item : _groupByClause.getItems()) { q.groupBy(item.clone()); } for (FilterItem item : _havingClause.getItems()) { q.having(item.clone()); } for (OrderByItem item : _orderByClause.getItems()) { q.orderBy(item.clone()); } return q; } }