public abstract class AbstractQueryMetaContext extends java.lang.Object implements IQueryMetaContext
IQueryMetaContext| Constructor and Description |
|---|
AbstractQueryMetaContext() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canLeadOutOfScope(IInputKey key)
Tells whether the given
IInputKey is an edge and may lead out of scope. |
java.util.Map<InputKeyImplication,java.util.Set<InputKeyImplication>> |
getConditionalImplications(IInputKey implyingKey)
Returns known "double dispatch" implications, where the given implying key implies other input keys under certain additional conditions (themselves input keys).
|
IPosetComparator |
getPosetComparator(java.lang.Iterable<IInputKey> key)
Returns an
IPosetComparator for the given set of IInputKeys. |
java.util.Comparator<IInputKey> |
getSuggestedEliminationOrdering()
For query normalizing, this is the order suggested for trying to eliminate input keys.
|
java.util.Collection<InputKeyImplication> |
getWeakenedAlternatives(IInputKey implyingKey)
Returns a set of implications (weakened alternatives),
with a suggestion for the query planner that satisfying them first may help in satisfying the implying key.
|
boolean |
isPosetKey(IInputKey key)
Returns true if the given
IInputKey represents a poset type. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetFunctionalDependencies, getImplications, isEnumerable, isStatelesspublic java.util.Map<InputKeyImplication,java.util.Set<InputKeyImplication>> getConditionalImplications(IInputKey implyingKey)
IQueryMetaContextNote that for the obvious reasons, enumerable keys can only be implied by enumerable keys (either as the implying key or as the additional condition).
Note that symmetry is not required, i.e. the additional conditions do not have to list the same conditional implication.
getConditionalImplications in interface IQueryMetaContextpublic boolean canLeadOutOfScope(IInputKey key)
IQueryMetaContextIInputKey is an edge and may lead out of scope.canLeadOutOfScope in interface IQueryMetaContextpublic java.util.Comparator<IInputKey> getSuggestedEliminationOrdering()
IQueryMetaContextgetSuggestedEliminationOrdering in interface IQueryMetaContextpublic java.util.Collection<InputKeyImplication> getWeakenedAlternatives(IInputKey implyingKey)
IQueryMetaContextNote that for the obvious reasons, enumerable keys can only be implied by enumerable keys.
Must follow directly or transitively from implications of IQueryMetaContext.getImplications(IInputKey).
getWeakenedAlternatives in interface IQueryMetaContextpublic boolean isPosetKey(IInputKey key)
IQueryMetaContextIInputKey represents a poset type.isPosetKey in interface IQueryMetaContextpublic IPosetComparator getPosetComparator(java.lang.Iterable<IInputKey> key)
IQueryMetaContextIPosetComparator for the given set of IInputKeys.getPosetComparator in interface IQueryMetaContextkey - an iterable collection of input keys