@Override protected FromItem clone() { FromItem f = new FromItem(); f._alias = _alias; f._join = _join; f._table = _table; f._expression = _expression; if (_subQuery != null) { f._subQuery = _subQuery.clone(); } if (_leftOn != null && _leftSide != null && _rightOn != null && _rightSide != null) { f._leftSide = _leftSide.clone(); f._leftOn = _leftOn.clone(); f._rightSide = _rightSide.clone(); f._rightOn = _rightOn.clone(); } return f; }
@Override protected FromItem clone() { FromItem f = new FromItem(); f._alias = _alias; f._join = _join; f._table = _table; f._expression = _expression; if (_subQuery != null) { f._subQuery = _subQuery.clone(); } if (_leftOn != null && _leftSide != null && _rightOn != null && _rightSide != null) { f._leftSide = _leftSide.clone(); f._leftOn = _leftOn.clone(); f._rightSide = _rightSide.clone(); f._rightOn = _rightOn.clone(); } return f; }
/** * Creates a clone of the {@link SelectItem} for use within a cloned {@link Query}. * * @param clonedQuery a new {@link Query} object that represents the clone-to-be of a query. It is expected that * {@link FromItem}s have already been cloned in this {@link Query}. * @return */ protected SelectItem clone(Query clonedQuery) { final SelectItem subQuerySelectItem = (_subQuerySelectItem == null ? null : _subQuerySelectItem.clone()); final FromItem fromItem; if (_fromItem == null) { fromItem = null; } else if (clonedQuery != null && _query != null) { final int indexOfFromItem = _query.getFromClause().indexOf(_fromItem); if (indexOfFromItem != -1) { fromItem = clonedQuery.getFromClause().getItem(indexOfFromItem); } else { fromItem = _fromItem.clone(); } } else { fromItem = _fromItem.clone(); } final SelectItem s = new SelectItem(_column, fromItem, _function, _functionParameters, _expression, subQuerySelectItem, _alias, _functionApproximationAllowed); return s; }
/** * Creates a clone of the {@link SelectItem} for use within a cloned {@link Query}. * * @param clonedQuery a new {@link Query} object that represents the clone-to-be of a query. It is expected that * {@link FromItem}s have already been cloned in this {@link Query}. * @return */ protected SelectItem clone(Query clonedQuery) { final SelectItem subQuerySelectItem = (_subQuerySelectItem == null ? null : _subQuerySelectItem.clone()); final FromItem fromItem; if (_fromItem == null) { fromItem = null; } else if (clonedQuery != null && _query != null) { final int indexOfFromItem = _query.getFromClause().indexOf(_fromItem); if (indexOfFromItem != -1) { fromItem = clonedQuery.getFromClause().getItem(indexOfFromItem); } else { fromItem = _fromItem.clone(); } } else { fromItem = _fromItem.clone(); } final SelectItem s = new SelectItem(_column, fromItem, _function, _functionParameters, _expression, subQuerySelectItem, _alias, _functionApproximationAllowed); return s; }
@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; } }