public class PConstraintInfo extends java.lang.Object implements IConstraintEvaluationContext
Constructor and Description |
---|
PConstraintInfo(PConstraint constraint,
java.util.Set<PVariable> boundMaskVariables,
java.util.Set<PVariable> freeMaskVariables,
java.util.Set<PConstraintInfo> sameWithDifferentBindings,
IQueryBackendContext context,
com.google.common.base.Function<IConstraintEvaluationContext,java.lang.Double> costFunction)
Instantiates the wrapper
|
Modifier and Type | Method and Description |
---|---|
java.util.Set<PVariable> |
getBoundVariables()
Bound variables at the time of evaluating the constraint
|
PConstraintCategory |
getCategory(PBody pBody,
java.util.Set<PVariable> boundVariables) |
PConstraint |
getConstraint()
Get the constraint to be evaluated
|
double |
getCost() |
java.util.Set<PVariable> |
getFreeVariables()
Unbound variables at the time of evaluating the constraint
|
QueryAnalyzer |
getQueryAnalyzer() |
IQueryRuntimeContext |
getRuntimeContext() |
java.util.Set<PConstraintInfo> |
getSameWithDifferentBindings() |
IQueryResultProviderAccess |
resultProviderAccess() |
java.lang.String |
toString() |
public PConstraintInfo(PConstraint constraint, java.util.Set<PVariable> boundMaskVariables, java.util.Set<PVariable> freeMaskVariables, java.util.Set<PConstraintInfo> sameWithDifferentBindings, IQueryBackendContext context, com.google.common.base.Function<IConstraintEvaluationContext,java.lang.Double> costFunction)
constraintfor
- which the information is added and storedboundMaskVariablesthe
- bound variables in the operation maskfreeMaskVariablesthe
- free variables in the operation masksameWithDifferentBindingsduring
- the planning process, multiple operation adornments are considered for a constraint, so that it
is represented by multiple plan infos. This parameter contains all plan infos that are for the same
constraint, but with different adornmentcontext
- the query backend contextpublic IQueryRuntimeContext getRuntimeContext()
getRuntimeContext
in interface IConstraintEvaluationContext
public QueryAnalyzer getQueryAnalyzer()
getQueryAnalyzer
in interface IConstraintEvaluationContext
public PConstraint getConstraint()
IConstraintEvaluationContext
getConstraint
in interface IConstraintEvaluationContext
public java.util.Set<PVariable> getFreeVariables()
IConstraintEvaluationContext
getFreeVariables
in interface IConstraintEvaluationContext
public java.util.Set<PVariable> getBoundVariables()
IConstraintEvaluationContext
getBoundVariables
in interface IConstraintEvaluationContext
public java.util.Set<PConstraintInfo> getSameWithDifferentBindings()
public double getCost()
public PConstraintCategory getCategory(PBody pBody, java.util.Set<PVariable> boundVariables)
public java.lang.String toString()
toString
in class java.lang.Object
public IQueryResultProviderAccess resultProviderAccess()
resultProviderAccess
in interface IConstraintEvaluationContext