示例#1
0
        // 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_);
        }
示例#2
0
        public override LogicNode SubstitutionOptimize()
        {
            var scan = select_.SubstitutionOptimize();

            logicPlan_ = new LogicIndex(scan, def_);
            // convert to physical plan
            physicPlan_ = logicPlan_.DirectToPhysical(queryOpt_);
            return(logicPlan_);
        }
示例#3
0
        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_);
        }
示例#4
0
 public PhysicIndex(LogicIndex logic, PhysicNode l) : base(logic) => children_.Add(l);