public FromElement getFromElement() { // TODO: not sure about this one // List fromElements = getFromElements(); // if ( fromElements == null || fromElements.isEmpty() ) { // throw new QueryException( "Unable to locate from element" ); // } return (FromElement) getFromElements().get( 0 ); }
@Override protected void beforeSelectClause() throws SemanticException { // Turn off includeSubclasses on all FromElements. FromClause from = getCurrentFromClause(); List fromElements = from.getFromElements(); for ( Iterator iterator = fromElements.iterator(); iterator.hasNext(); ) { FromElement fromElement = (FromElement) iterator.next(); fromElement.setIncludeSubclasses( false ); } }
@Override public List<String> getPrimaryFromClauseTables() { return (List<String>) sqlAst.getWalker() .getFinalFromClause() .getFromElements() .stream() .map( elem -> ((FromElement) elem).getTableName() ). collect( Collectors.toList() ); }
private FromElement locateSingleFromElement() { List fromElements = getWalker().getCurrentFromClause().getFromElements(); if (fromElements == null || fromElements.size() != 1) { // TODO : should this be an error? return null; } FromElement element = (FromElement) fromElements.get(0); if (element.getClassAlias() != null) { // naked property-refs cannot be used with an aliased from element return null; } return element; }
public List<FromElement> toFromElements(FromClause fromClause, HqlSqlWalker walker) { // If a role already has an explicit fetch in the query, skip it in the graph. Map<String, FromElement> explicitFetches = new HashMap<String, FromElement>(); for ( Object o : fromClause.getFromElements() ) { final FromElement fromElement = (FromElement) o; if ( fromElement.getRole() != null && ! (fromElement instanceof ImpliedFromElement) ) { explicitFetches.put( fromElement.getRole(), fromElement ); } } return getFromElements( fromClause.getLevel() == FromClause.ROOT_LEVEL ? graph.getAttributeNodes(): Collections.emptyList(), fromClause.getFromElement(), fromClause, walker, explicitFetches ); }
ListIterator liter = fromClause.getFromElements().listIterator( fromClause.getFromElements().size() ); while ( liter.hasPrevious() ) { fromElements.add( liter.previous() ); fromElements = new ArrayList( fromClause.getFromElements().size() ); ListIterator<FromElement> liter = fromClause.getFromElements().listIterator(); while ( liter.hasNext() ) { FromElement fromElement = liter.next();
protected void postProcessDML(RestrictableStatement statement) throws SemanticException { statement.getFromClause().resolve(); FromElement fromElement = (FromElement) statement.getFromClause().getFromElements().get( 0 ); Queryable persister = fromElement.getQueryable(); // Make #@%$^#^&# sure no alias is applied to the table name fromElement.setText( persister.getTableName() ); // // append any filter fragments; the EMPTY_MAP is used under the assumption that // // currently enabled filters should not affect this process // if ( persister.getDiscriminatorType() != null ) { // new SyntheticAndFactory( getASTFactory() ).addDiscriminatorWhereFragment( // statement, // persister, // java.util.Collections.EMPTY_MAP, // fromElement.getTableAlias() // ); // } if ( persister.getDiscriminatorType() != null || !queryTranslatorImpl.getEnabledFilters().isEmpty() ) { new SyntheticAndFactory( this ).addDiscriminatorWhereFragment( statement, persister, queryTranslatorImpl.getEnabledFilters(), fromElement.getTableAlias() ); } }
try { inEntityGraph = true; qn.getFromClause().getFromElements().addAll( queryTranslatorImpl.getEntityGraphQueryHint().toFromElements( qn.getFromClause(), this ) );
public FromElement getFromElement() { // TODO: not sure about this one // List fromElements = getFromElements(); // if ( fromElements == null || fromElements.isEmpty() ) { // throw new QueryException( "Unable to locate from element" ); // } return (FromElement) getFromElements().get(0); }
public FromElement getFromElement() { // TODO: not sure about this one // List fromElements = getFromElements(); // if ( fromElements == null || fromElements.isEmpty() ) { // throw new QueryException( "Unable to locate from element" ); // } return (FromElement) getFromElements().get(0); }
@Override protected void beforeSelectClause() throws SemanticException { // Turn off includeSubclasses on all FromElements. FromClause from = getCurrentFromClause(); List fromElements = from.getFromElements(); for ( Iterator iterator = fromElements.iterator(); iterator.hasNext(); ) { FromElement fromElement = ( FromElement ) iterator.next(); fromElement.setIncludeSubclasses( false ); } }
@Override protected void beforeSelectClause() throws SemanticException { // Turn off includeSubclasses on all FromElements. FromClause from = getCurrentFromClause(); List fromElements = from.getFromElements(); for ( Iterator iterator = fromElements.iterator(); iterator.hasNext(); ) { FromElement fromElement = ( FromElement ) iterator.next(); fromElement.setIncludeSubclasses( false ); } }
private FromElement locateSingleFromElement() { List fromElements = getWalker().getCurrentFromClause().getFromElements(); if (fromElements == null || fromElements.size() != 1) { // TODO : should this be an error? return null; } FromElement element = (FromElement) fromElements.get(0); if (element.getClassAlias() != null) { // naked property-refs cannot be used with an aliased from element return null; } return element; }
private FromElement locateSingleFromElement() { List fromElements = getWalker().getCurrentFromClause().getFromElements(); if (fromElements == null || fromElements.size() != 1) { // TODO : should this be an error? return null; } FromElement element = (FromElement) fromElements.get(0); if (element.getClassAlias() != null) { // naked property-refs cannot be used with an aliased from element return null; } return element; }
ListIterator liter = fromClause.getFromElements().listIterator( fromClause.getFromElements().size() ); while ( liter.hasPrevious() ) { fromElements.add( liter.previous() ); fromElements = fromClause.getFromElements();
@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; }
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 ")) {
protected void postProcessDML(RestrictableStatement statement) throws SemanticException { statement.getFromClause().resolve(); FromElement fromElement = ( FromElement ) statement.getFromClause().getFromElements().get( 0 ); Queryable persister = fromElement.getQueryable(); // Make #@%$^#^&# sure no alias is applied to the table name fromElement.setText( persister.getTableName() ); // // append any filter fragments; the EMPTY_MAP is used under the assumption that // // currently enabled filters should not affect this process // if ( persister.getDiscriminatorType() != null ) { // new SyntheticAndFactory( getASTFactory() ).addDiscriminatorWhereFragment( // statement, // persister, // java.util.Collections.EMPTY_MAP, // fromElement.getTableAlias() // ); // } if ( persister.getDiscriminatorType() != null || ! queryTranslatorImpl.getEnabledFilters().isEmpty() ) { new SyntheticAndFactory( this ).addDiscriminatorWhereFragment( statement, persister, queryTranslatorImpl.getEnabledFilters(), fromElement.getTableAlias() ); } }
protected void postProcessDML(RestrictableStatement statement) throws SemanticException { statement.getFromClause().resolve(); FromElement fromElement = ( FromElement ) statement.getFromClause().getFromElements().get( 0 ); Queryable persister = fromElement.getQueryable(); // Make #@%$^#^&# sure no alias is applied to the table name fromElement.setText( persister.getTableName() ); // // append any filter fragments; the EMPTY_MAP is used under the assumption that // // currently enabled filters should not affect this process // if ( persister.getDiscriminatorType() != null ) { // new SyntheticAndFactory( getASTFactory() ).addDiscriminatorWhereFragment( // statement, // persister, // java.util.Collections.EMPTY_MAP, // fromElement.getTableAlias() // ); // } if ( persister.getDiscriminatorType() != null || ! queryTranslatorImpl.getEnabledFilters().isEmpty() ) { new SyntheticAndFactory( this ).addDiscriminatorWhereFragment( statement, persister, queryTranslatorImpl.getEnabledFilters(), fromElement.getTableAlias() ); } }
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) {