protected virtual void InitialiseIterator() { if (this.CondIndex == 0) { this.HasLeftOuterRow = base.RangeVar.IsLeftJoin; } if (this.Conditions[this.CondIndex].IsFalse) { base.It = this.Conditions[this.CondIndex].RangeIndex.GetEmptyIterator(); } else { SubQuery subQuery = base.RangeVar.RangeTable.GetSubQuery(); if (subQuery != null) { subQuery.MaterialiseCorrelated(base.session); } if (this.Conditions[this.CondIndex].IndexCond == null) { base.It = this.Conditions[this.CondIndex].Reversed ? this.Conditions[this.CondIndex].RangeIndex.LastRow(base.session, base.Store) : this.Conditions[this.CondIndex].RangeIndex.FirstRow(base.session, base.Store); } else { this.GetFirstRow(); if (!this.Conditions[this.CondIndex].IsJoin) { this.HasLeftOuterRow = false; } } } }