public class BuildHelper
extends java.lang.Object
Constructor and Description |
---|
BuildHelper() |
Modifier and Type | Method and Description |
---|---|
static boolean |
areAllVariablesDetermined(SubPlan plan,
java.util.Collection<PVariable> determining,
IQueryMetaContext metaContext)
|
static boolean |
areAllVariablesDetermined(SubPlan plan,
java.util.Collection<PVariable> determining,
QueryAnalyzer analyzer,
boolean strict) |
static boolean |
areVariablesDetermined(SubPlan plan,
java.util.Collection<PVariable> determining,
java.util.Collection<PVariable> determined,
IQueryMetaContext metaContext)
|
static boolean |
areVariablesDetermined(SubPlan plan,
java.util.Collection<PVariable> determining,
java.util.Collection<PVariable> determined,
QueryAnalyzer analyzer,
boolean strict) |
static void |
finalCheck(PBody pSystem,
SubPlan plan,
IQueryMetaContext context)
Verifies whether all constraints are enforced and exported parameters are present.
|
static PConstraint |
getAnyUnenforcedConstraint(PBody pSystem,
SubPlan plan)
Finds an arbitrary constraint that is not enforced at the given plan.
|
static SubPlan |
trimUnneccessaryVariables(SubPlanFactory planFactory,
SubPlan plan,
boolean onlyIfNotDetermined,
IQueryMetaContext metaContext)
|
static SubPlan |
trimUnneccessaryVariables(SubPlanFactory planFactory,
SubPlan plan,
boolean onlyIfNotDetermined,
QueryAnalyzer analyzer)
Reduces the number of tuples by trimming (existentially quantifying) the set of variables that
are visible in the subplan,
are not exported parameters,
have all their constraints already enforced in the subplan,
and thus will not be needed anymore.
|
public static SubPlan trimUnneccessaryVariables(SubPlanFactory planFactory, SubPlan plan, boolean onlyIfNotDetermined, QueryAnalyzer analyzer)
onlyIfNotDetermined
- if true, no trimming performed unless there is at least one variable that is not functionally determined@Deprecated public static SubPlan trimUnneccessaryVariables(SubPlanFactory planFactory, SubPlan plan, boolean onlyIfNotDetermined, IQueryMetaContext metaContext)
public static boolean areAllVariablesDetermined(SubPlan plan, java.util.Collection<PVariable> determining, QueryAnalyzer analyzer, boolean strict)
strict
- if true, only "hard" dependencies are taken into account that are strictly enforced by the model representation;
if false, user-provided soft dependencies are included as well, that are anticipated but not guaranteed by the storage mechanism;
use true if superfluous dependencies may taint the correctness of a computation, false if they would merely impact performance@Deprecated public static boolean areAllVariablesDetermined(SubPlan plan, java.util.Collection<PVariable> determining, IQueryMetaContext metaContext)
public static boolean areVariablesDetermined(SubPlan plan, java.util.Collection<PVariable> determining, java.util.Collection<PVariable> determined, QueryAnalyzer analyzer, boolean strict)
strict
- if true, only "hard" dependencies are taken into account that are strictly enforced by the model representation;
if false, user-provided soft dependencies are included as well, that are anticipated but not guaranteed by the storage mechanism;
use true if superfluous dependencies may taint the correctness of a computation, false if they would merely impact performance@Deprecated public static boolean areVariablesDetermined(SubPlan plan, java.util.Collection<PVariable> determining, java.util.Collection<PVariable> determined, IQueryMetaContext metaContext)
public static PConstraint getAnyUnenforcedConstraint(PBody pSystem, SubPlan plan)
pSystem
- plan
- public static void finalCheck(PBody pSystem, SubPlan plan, IQueryMetaContext context) throws QueryProcessingException
pSystem
- plan
- QueryProcessingException