@Override public boolean containsCollectionFetches() { errorIfDML(); List collectionFetches = ( (QueryNode) sqlAst ).getFromClause().getCollectionFetches(); return collectionFetches != null && collectionFetches.size() > 0; } @Override
private void createSelectClauseFromFromClause(QueryNode qn) throws SemanticException { AST select = astFactory.create( SELECT_CLAUSE, "{derived select clause}" ); AST sibling = qn.getFromClause(); qn.setFirstChild( select ); select.setNextSibling( sibling ); selectClause = (SelectClause) select; selectClause.initializeDerivedSelectClause( currentFromClause ); LOG.debug( "Derived SELECT clause created." ); }
public void processJoins(QueryNode query) { final FromClause fromClause = query.getFromClause();
final Lockable drivingPersister = (Lockable) select.getFromClause() .findFromElementByUserOrSqlAlias( userAlias, drivingSqlAlias ) .getQueryable();
try { inEntityGraph = true; qn.getFromClause().getFromElements().addAll( queryTranslatorImpl.getEntityGraphQueryHint().toFromElements( qn.getFromClause(), this ) ); Iterator itr = qn.getFromClause().getProjectionList().iterator(); while ( itr.hasNext() ) { final FromElement fromElement = (FromElement) itr.next();
&& ( (QueryNode) selectExpression ).getFromClause().getParentFromClause() != null; if ( getWalker().getStatementType() == HqlSqlTokenTypes.INSERT && inSubquery ) {
List collectionFetches = query.getFromClause().getCollectionFetches(); if ( collectionFetches.isEmpty() ) { return;
public boolean containsCollectionFetches() { errorIfDML(); List collectionFetches = ( ( QueryNode ) sqlAst ).getFromClause().getCollectionFetches(); return collectionFetches != null && collectionFetches.size() > 0; }
public boolean containsCollectionFetches() { errorIfDML(); List collectionFetches = ( ( QueryNode ) sqlAst ).getFromClause().getCollectionFetches(); return collectionFetches != null && collectionFetches.size() > 0; }
public static void removeFromElementsExcept(QueryNode queryNode, Set<FromElement> usedFromElements) { AST whereAst = ASTUtil.findTypeInChildren(queryNode, WHERE); if (whereAst != null) { updateUsedFromElements(whereAst, usedFromElements); } removeFromElementsExceptImpl(queryNode.getFromClause(), usedFromElements); }
public void processJoins(QueryNode query) { final FromClause fromClause = query.getFromClause();
@SuppressWarnings("unchecked") protected boolean shouldUseDistinctQuery() { if (this.pathPlan.containsCollectionJoins()) { return true; } QueryNode queryNode = (QueryNode)this.getSqlAST(); boolean foundFrom = false; for (FromElement fromElement : (List<FromElement>)queryNode.getFromClause().getFromElements()) { if (fromElement.getClass() == FromElement.class ) { if (!fromElement.getText().contains(" join ")) { if (foundFrom) { return true; } foundFrom = true; } else if (fromElement.getText().startsWith("cross ")) { return true; } else if (fromElement.getQueryableCollection() != null) { return true; } } } return false; }
@Override public String getSqlAlias(EntityManager em, Query query, String alias) { SessionImplementor session = em.unwrap(SessionImplementor.class); HQLQueryPlan plan = getOriginalQueryPlan(session, query); if (plan.getTranslators().length > 1) { throw new IllegalArgumentException("No support for multiple translators yet!"); } QueryTranslator translator = plan.getTranslators()[0]; QueryNode queryNode = getField(translator, "sqlAst"); FromElement fromElement = queryNode.getFromClause().getFromElement(alias); if (fromElement == null) { throw new IllegalArgumentException("The alias " + alias + " could not be found in the query: " + query); } return fromElement.getTableAlias(); }
private void createSelectClauseFromFromClause(QueryNode qn) throws SemanticException { AST select = astFactory.create( SELECT_CLAUSE, "{derived select clause}" ); AST sibling = qn.getFromClause(); qn.setFirstChild( select ); select.setNextSibling( sibling ); selectClause = ( SelectClause ) select; selectClause.initializeDerivedSelectClause( currentFromClause ); LOG.debug( "Derived SELECT clause created." ); }
private void createSelectClauseFromFromClause(QueryNode qn) throws SemanticException { AST select = astFactory.create( SELECT_CLAUSE, "{derived select clause}" ); AST sibling = qn.getFromClause(); qn.setFirstChild( select ); select.setNextSibling( sibling ); selectClause = ( SelectClause ) select; selectClause.initializeDerivedSelectClause( currentFromClause ); LOG.debug( "Derived SELECT clause created." ); }
Set<FromElement> collectionLeftJoins = new HashSet<>(ReferenceEqualityComparator.getInstance()); boolean foundFrom = false; for (FromElement fromElement : (List<FromElement>)queryNode.getFromClause().getFromElements()) { if (fromElement.getClass() == FromElement.class ) { if (!fromElement.getText().contains(" join ")) {
final Lockable drivingPersister = ( Lockable ) select.getFromClause() .findFromElementByUserOrSqlAlias( userAlias, drivingSqlAlias ) .getQueryable();
final Lockable drivingPersister = ( Lockable ) select.getFromClause() .findFromElementByUserOrSqlAlias( userAlias, drivingSqlAlias ) .getQueryable();
QueryNode queryNode = (QueryNode)sqlAst; Set<FromElement> usedFromElements = new HashSet<>(ReferenceEqualityComparator.getInstance()); for (FromElement fromElement : (List<FromElement>)queryNode.getFromClause().getFromElements()) { if (fromElement.getClass() == FromElement.class && fromElement.getWithClauseFragment() == null) { if (distinct || fromElement.getQueryableCollection() == null) {
List collectionFetches = query.getFromClause().getCollectionFetches(); if ( collectionFetches.isEmpty() ) { return;