In file naivespj.h:

class RelSPJNaiveOptimizer : public RelSPJOptimizer

The most naive SPJ optimizer

Inheritance:


Public Classes

class SPJNaivePlan : public RelOptEngine::PlanObject

Public Methods

static XxxErrCode CreateSMPlanOp (RelPlanOp*& PlanOp, int NumChildren, RelPlanOp* Children[], RelCatalogInfo* CatInfo, XxxValExprPlanList* ExprPlanList, XxxBooleanExpressionPlan** SelPredPlans, XxxBooleanExpressionPlan** JoinPredPlans, XxxBooleanExpressionPlan** ResidPredPlans, XxxBooleanExpressionPlan* InitPlan, const SMPlanGlue& Glue)
Creates a Sort-merge Join planOp, placing sort planOps below if incoming tuple streams are not already sorted
static void MakeSMGlue (int NumChildren, const RelPlanOp** Children, const XxxRelBooleanPlan *JoinPlan, SMPlanGlue& Glue)
Determines the glue information to decide what sorts are needed on the inputs for a SM join

Protected Methods

XxxErrCode constructRemap (SPJNaivePlan* SPJPlan, XxxExprPlan::VarRemapping& Remap, int NewArity, int *InputArity, XxxBool MapAttrs)
/ Construct a remapping
XxxErrCode createPreds (SPJNaivePlan* SPJPlan, RelSPJOptimizer::PredPlanStruct& PredPlans)
/ Create the preds to be applied during the joins
XxxErrCode exprRemap (XxxExprPlan::VarRemapping& Remap, RelSPJOptimizer::PredPlanStruct& PredPlans, int NumChildren, XxxValExprPlanList* ExprPlanList)
/ Modify all the expressions using the VarRemapping
XxxErrCode getChildPlans (SPJNaivePlan* SPJPlan, RelPlanOp** ChildPlanOps, int* InputArity)
/ Get plans for children of this block
XxxErrCode getInitPlan (SPJNaivePlan* SPJPlan, XxxBooleanExpressionPlan*& InitPlan)
/ Get the InitPlan -- used by createPreds
XxxErrCode getJoinPlans (SPJNaivePlan* SPJPlan, RelSPJOptimizer::PredPlanStruct& PredPlans, int NumChildren, int JoinOffset, int SkipTemporary)
/ Get the preds for the joins -- used by createPreds

Inherited from RelSPJOptimizer:

Public Classes

class PlanGlue
class RelSPJBlockPlan: public RelBlockPlan
class SMPlanGlue: public PlanGlue
XxxBool MaterializeLtInput
/ indicate whether the inputs need a temp to sort them
int LeftRunSize
/ indicate max run sizes for sorting

Documentation

The most naive SPJ optimizer
class SPJNaivePlan: public RelOptEngine::PlanObject

static void MakeSMGlue(int NumChildren, const RelPlanOp** Children, const XxxRelBooleanPlan *JoinPlan, SMPlanGlue& Glue)
Determines the glue information to decide what sorts are needed on the inputs for a SM join

static XxxErrCode CreateSMPlanOp(RelPlanOp*& PlanOp, int NumChildren, RelPlanOp* Children[], RelCatalogInfo* CatInfo, XxxValExprPlanList* ExprPlanList, XxxBooleanExpressionPlan** SelPredPlans, XxxBooleanExpressionPlan** JoinPredPlans, XxxBooleanExpressionPlan** ResidPredPlans, XxxBooleanExpressionPlan* InitPlan, const SMPlanGlue& Glue)
Creates a Sort-merge Join planOp, placing sort planOps below if incoming tuple streams are not already sorted

XxxErrCode getChildPlans(SPJNaivePlan* SPJPlan, RelPlanOp** ChildPlanOps, int* InputArity)
/ Get plans for children of this block

XxxErrCode createPreds(SPJNaivePlan* SPJPlan, RelSPJOptimizer::PredPlanStruct& PredPlans)
/ Create the preds to be applied during the joins

XxxErrCode getInitPlan(SPJNaivePlan* SPJPlan, XxxBooleanExpressionPlan*& InitPlan)
/ Get the InitPlan -- used by createPreds

XxxErrCode getJoinPlans(SPJNaivePlan* SPJPlan, RelSPJOptimizer::PredPlanStruct& PredPlans, int NumChildren, int JoinOffset, int SkipTemporary)
/ Get the preds for the joins -- used by createPreds

XxxErrCode constructRemap(SPJNaivePlan* SPJPlan, XxxExprPlan::VarRemapping& Remap, int NewArity, int *InputArity, XxxBool MapAttrs)
/ Construct a remapping

XxxErrCode exprRemap(XxxExprPlan::VarRemapping& Remap, RelSPJOptimizer::PredPlanStruct& PredPlans, int NumChildren, XxxValExprPlanList* ExprPlanList)
/ Modify all the expressions using the VarRemapping


Direct child classes:
RelSPJSemiNaiveOpt

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de