Interface Summary |
ConditionAtomiser |
An interface for classes that take a query plan (DNF vector) from
a top-level NodeLogical) and break it down into conditions and
phrases representing disjunctions of conditions, which can then
be distributed across multiple sub-queries without destroying the
sense of the original query. |
ConditionDistributor |
An interface for classes that distribute minimal conditions
(gleaned from a query) across new subqueries (SimpleQueries). |
DeclarationOrderingScheme |
An interface for classes that take a list of variable declarations
and provide a preferred ordering for them based on properties of the variables
and/or their types. |
QueryRewriter |
An interface for a class that accepts a query plan and
can rewrite the contents according to a set of rewriting rules
or heuristics, and also rewrite the results to match the form
expected by the provider of the original query. |
RewriterConstants |
A utility class providing constants for use across the rewriter package. |
Class Summary |
ConditionDistributorTemplate |
This class provides a template algorithm for the condition distribution process,
implementing the features that should be common to any rewriting, while leaving
as abstract the core distribution algorithm, which provides a solution to the
constraint-satisfaction problem of distributing the remaining conditions. |
DeclarableVariable |
A class encapsulating details about a variable which is to be declared in a suitable
SimpleQuery during a query rewrite. |
DefaultConditionAtomiser |
This implementation of ConditionAtomiser uses information internal to the NodeLogical
in order to infer the points at which the constituent conditions of the query plan may
be broken up. |
DefaultConditionDistributor |
This implementation first creates skeleton subqueries without conditions, for any undeclared variables;
orders them by the summed frequencies of the variables declared in each; then distributes the remaining
conditions by placing them as early as possible in the sequence of subqueries. |
DefaultDeclarationOrderingScheme |
This implementation of DeclarationOrderingScheme uses corpus statistics
concerning the frequency of declared types to calculate scores for declarations. |
DefaultQueryRewriter |
The default implementation of the QueryRewriter, implementing our first guess at a set of
rewriting rules. |
MinimalCondition |
A class encapsulating details about a condition (NodeLogical or NodeCondition)
which is to be assigned to a new SimpleQuery during a query rewrite. |
QueryStringRewriter |
|
SimpleQueryCreator |
A class which creates SimpleQueries from DeclarableVariables and MinimalConditions. |
SubqueryTemplate |
A class recording the information which will eventually be used to create a subquery Node
for the new query. |