Пример #1
0
        public TableScanNode(
            PlanNodeId id,
            TableHandle table,
            IEnumerable <Symbol> outputSymbols,
            IDictionary <string, dynamic> assignments,
            TableLayoutHandle layout,
            TupleDomainPlaceHolder <dynamic> currentConstraint,
            dynamic originalConstraint
            ) : base(id)
        {
            this.Table              = table ?? throw new ArgumentNullException("table");
            this.OutputSymbols      = outputSymbols ?? throw new ArgumentNullException("outputSymbols");
            this.Assignments        = assignments ?? throw new ArgumentNullException("assignments");
            this.OriginalConstraint = originalConstraint;
            this.Layout             = layout ?? throw new ArgumentNullException("layout");
            this.CurrentConstraint  = currentConstraint ?? throw new ArgumentNullException("currentConstraint");

            ParameterCheck.Check(this.OutputSymbols.All(x => this.Assignments.Keys.Contains(x.ToString())), "Assignments does not cover all of outputs.");
        }
Пример #2
0
 public IndexSourceNode(
     PlanNodeId id,
     IndexHandle indexHandle,
     TableHandle tableHandle,
     TableLayoutHandle tableLayout,
     HashSet <Symbol> lookupSymbols,
     IEnumerable <Symbol> outputSymbols,
     IDictionary <string, dynamic> assignments,
     TupleDomainPlaceHolder <dynamic> currentConstraint
     ) : base(id)
 {
     this.IndexHandle       = indexHandle ?? throw new ArgumentNullException("indexHandle");
     this.TableHandle       = tableHandle ?? throw new ArgumentNullException("tableHanlde");
     this.TableLayout       = tableLayout;
     this.LookupSymbols     = lookupSymbols ?? throw new ArgumentNullException("lookupSymbols");
     this.OutputSymbols     = outputSymbols ?? throw new ArgumentNullException("outputSymbols");
     this.Assignments       = assignments ?? throw new ArgumentNullException("assignments");
     this.CurrentConstraint = currentConstraint ?? throw new ArgumentNullException("currentConstraint");
 }