public override void IntersectAll(RowSetNavigatorData other) { object[] b = null; this.SortFull(); this.Reset(); other.SortFull(); IRowIterator emptyIterator = this._fullIndex.GetEmptyIterator(); while (base.HasNext()) { object[] next = base.GetNext(); if ((b == null) || (this._fullIndex.CompareRowNonUnique(this._session, next, b, this._fullIndex.GetColumnCount()) > 0)) { b = next; emptyIterator = other.FindFirstRow(next); } Row nextRow = emptyIterator.GetNextRow(); object[] objArray3 = (nextRow == null) ? null : nextRow.RowData; if ((objArray3 == null) || (this._fullIndex.CompareRowNonUnique(this._session, next, objArray3, this._fullIndex.GetColumnCount()) != 0)) { this.Remove(); } } other.Close(); }
public void Initialize(RowSetNavigatorData navigator) { navigator.Reset(); while (navigator.HasNext()) { this.Add(navigator.GetNext()); } }
public virtual void Copy(RowSetNavigatorData other, int[] rightColumnIndexes) { while (other.HasNext()) { object[] next = other.GetNext(); this.AddAdjusted(next, rightColumnIndexes); } other.Close(); }
public void UnionAll(RowSetNavigatorData other) { other.Reset(); while (other.HasNext()) { object[] next = other.GetNext(); this.Add(next); } other.Close(); this.Reset(); }
public virtual void Intersect(RowSetNavigatorData other) { this.RemoveDuplicates(); other.SortFull(); while (base.HasNext()) { object[] next = base.GetNext(); if (!other.ContainsRow(next)) { this.Remove(); } } other.Close(); this.Reset(); }
public override void Union(RowSetNavigatorData other) { this.RemoveDuplicates(); this.Reset(); while (other.HasNext()) { object[] next = other.GetNext(); if (!this.FindFirstRow(next).HasNext()) { next = ArrayUtil.ResizeArrayIfDifferent <object>(next, this.table.GetColumnCount()); this.Add(next); } } other.Close(); }
public override void Except(RowSetNavigatorData other) { this.RemoveDuplicates(); this.Reset(); other.SortFull(); while (base.HasNext()) { object[] next = base.GetNext(); if (other.ContainsRow(next)) { this.Remove(); } } other.Close(); }
public virtual void Union(RowSetNavigatorData other) { this.RemoveDuplicates(); other.RemoveDuplicates(); while (other.HasNext()) { object[] next = other.GetNext(); int num = ArraySort.SearchFirst <object[]>(this._table, 0, base.Size, next, this); if (num < 0) { num = -num - 1; base.CurrentPos = num; this.Insert(next); } } other.Close(); this.Reset(); }
public virtual void IntersectAll(RowSetNavigatorData other) { object[] b = null; this.SortFull(); other.SortFull(); IRowIterator emptyIterator = this._queryExpression.FullIndex.GetEmptyIterator(); while (base.HasNext()) { object[] next = base.GetNext(); if ((b == null) || (this._queryExpression.FullIndex.CompareRowNonUnique((Session)base.session, next, b, this._visibleColumnCount) > 0)) { b = next; emptyIterator = other.FindFirstRow(next); } object[] objArray3 = emptyIterator.GetNext(); if ((objArray3 == null) || (this._queryExpression.FullIndex.CompareRowNonUnique((Session)base.session, next, objArray3, this._visibleColumnCount) != 0)) { this.Remove(); } } other.Close(); this.Reset(); }
public DataIterator(int position, RowSetNavigatorData o) { this._pos = position; this._o = o; }
public RowSetNavigatorDataTable(Session session, QuerySpecification select, RowSetNavigatorData navigator) : this(session, select) { }