// It is modeled as a sample scan public override LogicNode CreatePlan() { // disable memo optimization for it queryOpt_.optimize_.use_memo_ = false; logicPlan_ = new LogicIndex(select_.CreatePlan(), def_); return(logicPlan_); }
public override LogicNode SubstitutionOptimize() { var scan = select_.SubstitutionOptimize(); logicPlan_ = new LogicIndex(scan, def_); // convert to physical plan physicPlan_ = logicPlan_.DirectToPhysical(queryOpt_); return(logicPlan_); }
public override LogicNode SubstitutionOptimize() { Debug.Assert(object.ReferenceEquals(queryOpt_, select_.queryOpt_)); var scan = select_.SubstitutionOptimize(); logicPlan_ = new LogicIndex(scan, def_); // convert to physical plan physicPlan_ = logicPlan_.DirectToPhysical(queryOpt_); return(logicPlan_); }
public PhysicIndex(LogicIndex logic, PhysicNode l) : base(logic) => children_.Add(l);