## Uses of Class
org.modeshape.jcr.query.QueryContext

- Packages that use QueryContext
  Package | Description
  --- | ---
  org.modeshape.jcr.query | The Query API provides a mechanism for building and executing queries.
  org.modeshape.jcr.query.engine | This package contains several fully-functional query engine implementations.
  org.modeshape.jcr.query.optimize | This package contains the Optimizer interface, a rule-based optimizer implementation, and library of optimization rules.
  org.modeshape.jcr.query.plan | This package defines the `Planner` interface, the `CanonicalPlanner` implementation, and the `PlanNode` class that is used to represent a canonical query plan.
  org.modeshape.jcr.query.validate | This package provides the interfaces that define the tables and columns that can be queried.
  org.modeshape.jcr.spi.index.provider | This package contains the Service Provider Interface (SPI) for custom index providers, which are components that encapsulate how ModeShape updates and uses a set of particular indexes.

- - ### Uses of QueryContext in org.modeshape.jcr.query

    Methods in org.modeshape.jcr.query that return QueryContext
    Modifier and Type | Method and Description
    --- | ---
    `QueryContext` | QueryEngine.`createQueryContext(ExecutionContext context, RepositoryCache repositoryCache, Set<String> workspaceNames, Map<String,NodeCache> overriddenNodeCachesByWorkspaceName, Schemata schemata, RepositoryIndexes indexDefns, NodeTypes nodeTypes, BufferManager bufferManager, PlanHints hints, Map<String,Object> variables)` Create a new context for query execution.
    `QueryContext` | QueryContext.`with(Map<String,Object> variables)` Obtain a copy of this context, except that the copy uses the supplied variables.
    `QueryContext` | QueryContext.`with(PlanHints hints)` Obtain a copy of this context, except that the copy uses the supplied hints.
    `QueryContext` | QueryContext.`with(Problems problems)` Obtain a copy of this context, except that the copy uses the supplied problem container.
    `QueryContext` | QueryContext.`with(Schemata schemata)` Obtain a copy of this context, except that the copy uses the supplied schemata.

    Methods in org.modeshape.jcr.query with parameters of type QueryContext
    Modifier and Type | Method and Description
    --- | ---
    `QueryResults` | QueryEngine.`execute(QueryContext context, QueryCommand query)` Execute the supplied query by planning, optimizing, and then processing it.

    Constructors in org.modeshape.jcr.query with parameters of type QueryContext
    Constructor and Description
    `QueryContext(QueryContext original)` Create a new context that is a copy of the supplied context.

  - ### Uses of QueryContext in org.modeshape.jcr.query.engine

    Methods in org.modeshape.jcr.query.engine that return QueryContext
    Modifier and Type | Method and Description
    --- | ---
    `QueryContext` | ScanningQueryEngine.`createQueryContext(ExecutionContext context, RepositoryCache repositoryCache, Set<String> workspaceNames, Map<String,NodeCache> overriddenNodeCachesByWorkspaceName, Schemata schemata, RepositoryIndexes indexDefns, NodeTypes nodeTypes, BufferManager bufferManager, PlanHints hints, Map<String,Object> variables)`

    Methods in org.modeshape.jcr.query.engine with parameters of type QueryContext
    Modifier and Type | Method and Description
    --- | ---
    `void` | IndexQueryEngine.ProviderIndexPlanner.`applyIndexes(QueryContext context, SelectorName selector, List<Constraint> andedConstraints, Iterable<IndexDefinition> indexesOnSelector, IndexCollector indexes)`
    `abstract void` | IndexPlanners.`applyIndexes(QueryContext context, SelectorName selector, List<Constraint> andedConstraints, RepositoryIndexes indexDefinitions, IndexCollector indexes)` Examine the supplied constraints applied to the given selector in a query, and record in the supplied `IndexCollector` any and all indexes in this provider that can be used in this query.
    `protected RowExtractors.ExtractFromRow` | ScanningQueryEngine.`createExtractFromRow(DynamicOperand operand, QueryContext context, QueryResults.Columns columns, QuerySources sources, TypeSystem.TypeFactory<?> defaultType, boolean allowMultiValued, boolean isLike)` Create a `RowExtractors.ExtractFromRow` implementation that performs the supplied `DynamicOperand` against a current row in the current batch.
    `protected RowExtractors.ExtractFromRow` | ScanningQueryEngine.`createExtractFromRow(String selectorName, String propertyName, QueryContext context, QueryResults.Columns columns, QuerySources sources, TypeSystem.TypeFactory<?> defaultType, boolean allowMultiValued)` Create a `RowExtractors.ExtractFromRow` implementation that accesses the value(s) in the property identified by the supplied selector and property names.
    `protected RowExtractors.ExtractFromRow` | ScanningQueryEngine.`createExtractReferencesFromRow(String selectorName, QueryContext context, QueryResults.Columns columns, QuerySources sources, TypeSystem.TypeFactory<?> defaultType)` Create a `RowExtractors.ExtractFromRow` implementation that accesses the REFERENCE value(s) in the properties of the node identified by the supplied selector names.
    `protected NodeSequence` | ScanningQueryEngine.`createNodeSequenceForSource(QueryCommand originalQuery, QueryContext context, PlanNode sourceNode, IndexPlan index, QueryResults.Columns columns, QuerySources sources)` Create a node sequence for the given index
    `protected NodeSequence` | IndexQueryEngine.`createNodeSequenceForSource(QueryCommand originalQuery, QueryContext context, PlanNode sourceNode, IndexPlan indexPlan, QueryResults.Columns columns, QuerySources sources)`
    `protected NodeSequence` | ScanningQueryEngine.`createNodeSequenceForSource(QueryCommand originalQuery, QueryContext context, PlanNode sourceNode, QueryResults.Columns columns, QuerySources sources)` Create a node sequence for the given source.
    `protected NodeSequence.RowFilter` | ScanningQueryEngine.`createRowFilter(Constraint constraint, QueryContext context, QueryResults.Columns columns, QuerySources sources)` Create a `NodeSequence.RowFilter` implementation given the supplied constraints.
    `protected RowExtractors.ExtractFromRow` | ScanningQueryEngine.`createSortingExtractor(List<Ordering> orderings, Map<SelectorName,SelectorName> sourceNamesByAlias, QueryContext context, QueryResults.Columns columns, QuerySources sources)` Create an `RowExtractors.ExtractFromRow` instance that produces for given row a single object that can be used to sort all rows in the specified order.
    `protected RowExtractors.ExtractFromRow` | ScanningQueryEngine.`createSortingExtractor(Ordering ordering, Map<SelectorName,SelectorName> sourceNamesByAlias, QueryContext context, QueryResults.Columns columns, QuerySources sources)` Create an `RowExtractors.ExtractFromRow` instance that produces for given row a single object that can be used to sort all rows in the specified order.
    `protected TypeSystem.TypeFactory<?>` | ScanningQueryEngine.`determineType(DynamicOperand operand, QueryContext context, QueryResults.Columns columns)`
    `QueryResults` | ScanningQueryEngine.`execute(QueryContext queryContext, QueryCommand query)` Execute the supplied query by planning, optimizing, and then processing it.
    `protected static Object` | ScanningQueryEngine.`literalValue(StaticOperand staticOperand, QueryContext context, TypeSystem.TypeFactory<?> type)` Get the literal value that is defined in the supplied `StaticOperand`.
    `protected static Set<?>` | ScanningQueryEngine.`literalValues(SetCriteria setCriteria, QueryContext context, TypeSystem.TypeFactory<?> type)`

  - ### Uses of QueryContext in org.modeshape.jcr.query.optimize

    Methods in org.modeshape.jcr.query.optimize with parameters of type QueryContext
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | AddJoinConditionColumnsToSources.`addEquiJoinColumn(QueryContext context, PlanNode node, Column joinColumn)` Make sure that the supplied column is included in the `projected columns` on the supplied plan node or its children.
    `protected boolean` | AddOrderingColumnsToSources.`addIfMissing(QueryContext context, Column column, List<Column> columns, List<String> columnTypes)` Check the supplied list of columns for an existing column that matches the supplied `Column`, and if none is found add the supplied Column to the list and add an appropriate type.
    `protected boolean` | AddJoinConditionColumnsToSources.`addIfMissing(QueryContext context, Column column, List<Column> columns, List<String> columnTypes)` Check the supplied list of columns for an existing column that matches the supplied `Column`, and if none is found add the supplied Column to the list and add an appropriate type.
    `protected boolean` | AddOrderingColumnsToSources.`addSortColumn(QueryContext context, PlanNode node, Column sortColumn)` Make sure that the supplied column is included in the `projected columns` on the supplied plan node or its children.
    `protected int` | RewriteAsRangeCriteria.`compareStaticOperands(QueryContext context, Comparison comparison1, Comparison comparison2)` Compare the values used in the two comparisons
    `protected PlanNode` | RaiseSelectCriteria.`copySelectNode(QueryContext context, PlanNode selectNode, SelectorName selectorName, String propertyName, SelectorName copySelectorName, String copyPropertyName)`
    `protected PlanNode` | CopyCriteria.`copySelectNode(QueryContext context, PlanNode selectNode, SelectorName selectorName, String propertyName, SelectorName copySelectorName, String copyPropertyName)`
    `protected void` | CopyCriteria.`copySelectNodes(QueryContext context, PlanNode fromJoined, PlanNode toJoined)`
    `PlanNode` | RightOuterToLeftOuterJoins.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | RewritePseudoColumns.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | RewritePathAndNameCriteria.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | RewriteIdentityJoins.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | RewriteAsRangeCriteria.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | ReplaceViews.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | ReorderSortAndRemoveDuplicates.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | RemoveEmptyAccessNodes.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | RaiseVariableName.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | RaiseSelectCriteria.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | PushSelectCriteria.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | PushProjects.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | OrderIndexesByCost.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | OptimizerRule.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)` Optimize the supplied plan using the supplied context, hints, and yet-to-be-run rules.
    `PlanNode` | JoinOrder.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | CopyCriteria.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | ChooseJoinAlgorithm.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | AddOrderingColumnsToSources.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | AddJoinConditionColumnsToSources.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | AddIndexes.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `PlanNode` | AddAccessNodes.`execute(QueryContext context, PlanNode plan, LinkedList<OptimizerRule> ruleStack)`
    `protected Comparison` | RewriteAsRangeCriteria.`getComparison(QueryContext context, Comparison comparison1, Comparison comparison2, boolean smallest)` Get the comparison with the smallest (or largest) value.
    `protected Object` | RewriteAsRangeCriteria.`getValue(QueryContext context, StaticOperand operand)` Get the value associated with the static operand of the comparison.
    `PlanNode` | RuleBasedOptimizer.`optimize(QueryContext context, PlanNode plan)`
    `PlanNode` | Optimizer.`optimize(QueryContext context, PlanNode plan)` Optimize the supplied query plan and produce an executable processor plan.
    `protected Constraint` | RewritePseudoColumns.`rewrite(QueryContext context, Constraint constraint)`
    `protected DynamicOperand` | RewritePseudoColumns.`rewrite(QueryContext context, DynamicOperand operand)`
    `protected JoinCondition` | RewritePseudoColumns.`rewrite(QueryContext context, JoinCondition condition)`
    `protected Constraint` | RewriteAsRangeCriteria.`rewrite(QueryContext context, List<Comparison> comparisons)` Rewrite the supplied comparisons, returning the new constraint and nulling in the supplied list those comparisons that were rewritten (and leaving those that were not rewritten)
    `protected List<Constraint>` | RewritePseudoColumns.`rewrite(QueryContext context, List<Constraint> constraints)`
    `protected Constraint` | RewritePathAndNameCriteria.`rewriteCriteria(QueryContext context, Constraint constraint)`
    `protected void` | RewriteIdentityJoins.`rewriteJoinNode(QueryContext context, PlanNode joinNode, Map<SelectorName,SelectorName> rewrittenSelectors)`

  - ### Uses of QueryContext in org.modeshape.jcr.query.plan

    Methods in org.modeshape.jcr.query.plan with parameters of type QueryContext
    Modifier and Type | Method and Description
    --- | ---
    `static PlanNode` | PlanUtil.`addMissingProjectColumns(QueryContext context, PlanNode node, List<Column> allProjectedColumns)`
    `protected PlanNode` | CanonicalPlanner.`attachCriteria(QueryContext context, PlanNode plan, Constraint constraint, List<? extends Column> columns, Map<String,Subquery> subqueriesByVariableName)` Attach all criteria above the join nodes.
    `protected PlanNode` | CanonicalPlanner.`attachDuplicateRemoval(QueryContext context, PlanNode plan)` Attach DUP_REMOVE node at top of tree.
    `protected PlanNode` | CanonicalPlanner.`attachLimits(QueryContext context, PlanNode plan, Limit limit)` Attach a LIMIT node at the top of the plan tree.
    `protected PlanNode` | CanonicalPlanner.`attachProject(QueryContext context, PlanNode plan, List<? extends Column> columns, Map<SelectorName,Schemata.Table> selectors)` Attach a PROJECT node at the top of the plan tree.
    `protected PlanNode` | CanonicalPlanner.`attachSorting(QueryContext context, PlanNode plan, List<? extends Ordering> orderings)` Attach SORT node at top of tree.
    `protected PlanNode` | CanonicalPlanner.`attachSubqueries(QueryContext context, PlanNode plan, Map<String,Subquery> subqueriesByVariableName)` Attach plan nodes for each subquery, resulting with the first subquery at the top of the plan tree.
    `protected PlanNode` | CanonicalPlanner.`createCanonicalPlan(QueryContext context, Query query)` Create a canonical query plan for the given query.
    `protected PlanNode` | CanonicalPlanner.`createCanonicalPlan(QueryContext context, SetQuery query)` Create a canonical query plan for the given set query.
    `PlanNode` | Planner.`createPlan(QueryContext context, QueryCommand query)` Create a canonical query plan for the given command.
    `PlanNode` | CanonicalPlanner.`createPlan(QueryContext context, QueryCommand query)`
    `protected PlanNode` | CanonicalPlanner.`createPlanNode(QueryContext context, Source source, Map<SelectorName,Schemata.Table> usedSelectors)` Create a JOIN or SOURCE node that contain the source information.
    `static List<Column>` | PlanUtil.`findRequiredColumns(QueryContext context, PlanNode planNode)` Collected the minimum set of columns from the supplied table that are required by or used within the plan at the supplied node or above.
    `static List<String>` | PlanUtil.`findRequiredColumnTypes(QueryContext context, List<Column> columns, PlanNode node)`
    `static Constraint` | PlanUtil.`replaceAliasesWithProperties(QueryContext context, Constraint constraint, Map<String,String> propertyByAlias)`
    `static DynamicOperand` | PlanUtil.`replaceAliasesWithProperties(QueryContext context, DynamicOperand operand, Map<String,String> propertyByAlias)`
    `protected static PropertyValue` | PlanUtil.`replaceAliasesWithProperties(QueryContext context, PropertyValue value, Map<String,String> propertyByAlias)`
    `static Constraint` | PlanUtil.`replaceReferences(QueryContext context, Constraint constraint, PlanUtil.ColumnMapping mapping, PlanNode node)`
    `static Constraint` | PlanUtil.`replaceReferencesToRemovedSource(QueryContext context, Constraint constraint, Map<SelectorName,SelectorName> rewrittenSelectors)`
    `static DynamicOperand` | PlanUtil.`replaceReferencesToRemovedSource(QueryContext context, DynamicOperand operand, Map<SelectorName,SelectorName> rewrittenSelectors)`
    `static JoinCondition` | PlanUtil.`replaceReferencesToRemovedSource(QueryContext context, JoinCondition joinCondition, Map<SelectorName,SelectorName> rewrittenSelectors)`
    `static void` | PlanUtil.`replaceReferencesToRemovedSource(QueryContext context, PlanNode planNode, Map<SelectorName,SelectorName> rewrittenSelectors)`
    `static Constraint` | PlanUtil.`replaceSubqueriesWithBindVariables(QueryContext context, Constraint constraint, Map<String,Subquery> subqueriesByVariableName)`
    `static StaticOperand` | PlanUtil.`replaceSubqueriesWithBindVariables(QueryContext context, StaticOperand staticOperand, Map<String,Subquery> subqueriesByVariableName)`
    `static DynamicOperand` | PlanUtil.`replaceViewReferences(QueryContext context, DynamicOperand operand, PlanUtil.ColumnMapping mapping, PlanNode node)`
    `static JoinCondition` | PlanUtil.`replaceViewReferences(QueryContext context, JoinCondition joinCondition, PlanUtil.ColumnMapping mapping, PlanNode node)`
    `static void` | PlanUtil.`replaceViewReferences(QueryContext context, PlanNode topOfViewInPlan, PlanUtil.ColumnMapping mappings)`
    `protected static void` | PlanUtil.`replaceViewReferences(QueryContext context, PlanNode node, PlanUtil.ColumnMapping mappings, SelectorName viewName, List<PlanNode> potentiallyRemovableSources)`
    `protected void` | CanonicalPlanner.`validate(QueryContext context, QueryCommand query, Map<SelectorName,Schemata.Table> usedSelectors)` Validate the supplied query.

  - ### Uses of QueryContext in org.modeshape.jcr.query.validate

    Constructors in org.modeshape.jcr.query.validate with parameters of type QueryContext
    Constructor and Description
    `Validator(QueryContext context, Map<SelectorName,Schemata.Table> selectorsByName)`

  - ### Uses of QueryContext in org.modeshape.jcr.spi.index.provider

    Methods in org.modeshape.jcr.spi.index.provider with parameters of type QueryContext
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | IndexPlanner.`applyIndexes(QueryContext context, SelectorName selector, List<Constraint> andedConstraints, Iterable<IndexDefinition> indexesOnSelector, IndexCollector indexes)` Examine the supplied constraints applied to the given selector in a query, and record in the supplied `IndexCollector` any and all indexes in this provider that can be used in this query.

Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.