The most naive SPJ optimizer
![]() | SPJNaivePlan : public RelOptEngine::PlanObject |
![]() | 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 |
![]() | 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 |
![]() | constructRemap (SPJNaivePlan* SPJPlan, XxxExprPlan::VarRemapping& Remap, int NewArity, int *InputArity, XxxBool MapAttrs) / Construct a remapping |
![]() | createPreds (SPJNaivePlan* SPJPlan, RelSPJOptimizer::PredPlanStruct& PredPlans) / Create the preds to be applied during the joins |
![]() | exprRemap (XxxExprPlan::VarRemapping& Remap, RelSPJOptimizer::PredPlanStruct& PredPlans, int NumChildren, XxxValExprPlanList* ExprPlanList) / Modify all the expressions using the VarRemapping |
![]() | getChildPlans (SPJNaivePlan* SPJPlan, RelPlanOp** ChildPlanOps, int* InputArity) / Get plans for children of this block |
![]() | getInitPlan (SPJNaivePlan* SPJPlan, XxxBooleanExpressionPlan*& InitPlan) / Get the InitPlan -- used by createPreds |
![]() | getJoinPlans (SPJNaivePlan* SPJPlan, RelSPJOptimizer::PredPlanStruct& PredPlans, int NumChildren, int JoinOffset, int SkipTemporary) / Get the preds for the joins -- used by createPreds |
The most naive SPJ optimizer
static void MakeSMGlue(int NumChildren, const RelPlanOp** Children, const XxxRelBooleanPlan *JoinPlan, SMPlanGlue& Glue)
static XxxErrCode CreateSMPlanOp(RelPlanOp*& PlanOp, int NumChildren, RelPlanOp* Children[], RelCatalogInfo* CatInfo, XxxValExprPlanList* ExprPlanList, XxxBooleanExpressionPlan** SelPredPlans, XxxBooleanExpressionPlan** JoinPredPlans, XxxBooleanExpressionPlan** ResidPredPlans, XxxBooleanExpressionPlan* InitPlan, const SMPlanGlue& Glue)
XxxErrCode getChildPlans(SPJNaivePlan* SPJPlan, RelPlanOp** ChildPlanOps, int* InputArity)
XxxErrCode createPreds(SPJNaivePlan* SPJPlan, RelSPJOptimizer::PredPlanStruct& PredPlans)
XxxErrCode getInitPlan(SPJNaivePlan* SPJPlan, XxxBooleanExpressionPlan*& InitPlan)
XxxErrCode getJoinPlans(SPJNaivePlan* SPJPlan, RelSPJOptimizer::PredPlanStruct& PredPlans, int NumChildren, int JoinOffset, int SkipTemporary)
XxxErrCode constructRemap(SPJNaivePlan* SPJPlan, XxxExprPlan::VarRemapping& Remap, int NewArity, int *InputArity, XxxBool MapAttrs)
XxxErrCode exprRemap(XxxExprPlan::VarRemapping& Remap, RelSPJOptimizer::PredPlanStruct& PredPlans, int NumChildren, XxxValExprPlanList* ExprPlanList)
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de