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."); }
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"); }