Package org.nuxeo.ecm.core.storage.dbs
Class DBSQueryOptimizer
- java.lang.Object
-
- org.nuxeo.ecm.core.storage.QueryOptimizer
-
- org.nuxeo.ecm.core.storage.dbs.DBSQueryOptimizer
-
public class DBSQueryOptimizer extends QueryOptimizer
DBS-specific query optimizer.Knows how reference prefixes are computed, especially for the ACL case which has a storage structure different than what the NXQL syntax suggests.
- Since:
- 9.3
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.nuxeo.ecm.core.storage.QueryOptimizer
QueryOptimizer.PrefixInfo, QueryOptimizer.ProjectionReferenceRenamer, QueryOptimizer.ProjectionWildcardsFinder, QueryOptimizer.ReferencePrefixAnalyzer
-
-
Field Summary
Fields Modifier and Type Field Description protected static Pattern
CORRELATED_ECM_TAG
protected static String
CORRELATED_ECM_TAG_IMPLICIT
protected static Pattern
CORRELATED_WILDCARD_SPLIT
-
Fields inherited from class org.nuxeo.ecm.core.storage.QueryOptimizer
CORR_BASE, correlationCounter, facetFilter, GROUPING_BY_EXPR_PREFIX, neverPerInstanceMixins, onlyRelations, schemaManager, TYPE_DOCUMENT, TYPE_RELATION, TYPE_ROOT
-
-
Constructor Summary
Constructors Constructor Description DBSQueryOptimizer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getCorrelatedWildcardPrefix(String name)
Gets the prefix to use for this reference name (NXQL) if it contains a correlated wildcard.-
Methods inherited from class org.nuxeo.ecm.core.storage.QueryOptimizer
addFacetFilters, addIsNotNullClauses, addTypes, addWhere, addWhere, addWildcardNotNullClauses, findPrefix, getDocumentTypeNamesExtending, getDocumentTypeNamesForFacet, getExpressionCount, getPredicatePrefix, getStringLiterals, isTypeRelation, makeSingleAndPredicate, optimize, reorganizeGroupedExpressions, simplifyTypes, withFacetFilter
-
-
-
-
Field Detail
-
CORRELATED_WILDCARD_SPLIT
protected static final Pattern CORRELATED_WILDCARD_SPLIT
-
CORRELATED_ECM_TAG
protected static final Pattern CORRELATED_ECM_TAG
-
CORRELATED_ECM_TAG_IMPLICIT
protected static final String CORRELATED_ECM_TAG_IMPLICIT
- See Also:
- Constant Field Values
-
-
Method Detail
-
getCorrelatedWildcardPrefix
public String getCorrelatedWildcardPrefix(String name)
Description copied from class:QueryOptimizer
Gets the prefix to use for this reference name (NXQL) if it contains a correlated wildcard.The prefix is used to group together sets of expression that all use references with the same prefix.
- Specified by:
getCorrelatedWildcardPrefix
in classQueryOptimizer
- Parameters:
name
- the reference name (NXQL)- Returns:
- the prefix, or an empty string if there is no correlated wildcard
-
-