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
  • Field Details

    • 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:
  • Constructor Details

    • DBSQueryOptimizer

      public DBSQueryOptimizer()
  • Method Details

    • 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 class QueryOptimizer
      Parameters:
      name - the reference name (NXQL)
      Returns:
      the prefix, or an empty string if there is no correlated wildcard