@@ -135,9 +135,9 @@ type ProjectIter struct {
135
135
}
136
136
137
137
type nestedIterState struct {
138
- projections []sql.Expression
139
- sourceRow sql.Row
140
- iterEvaluators []* RowIterEvaluator
138
+ projections []sql.Expression
139
+ sourceRow sql.Row
140
+ iterEvaluators []* RowIterEvaluator
141
141
}
142
142
143
143
func (i * ProjectIter ) Next (ctx * sql.Context ) (sql.Row , error ) {
@@ -175,7 +175,7 @@ func (i *ProjectIter) ProjectRowWithNestedIters(
175
175
) (sql.Row , error ) {
176
176
177
177
projections := i .projs
178
-
178
+
179
179
// For the set of iterators, we return one row each element in the longest of the iterators provided.
180
180
// Other iterator values will be NULL after they are depleted. All non-iterator fields for the row are returned
181
181
// identically for each row in the result set.
@@ -185,7 +185,7 @@ func (i *ProjectIter) ProjectRowWithNestedIters(
185
185
return nil , err
186
186
}
187
187
188
- nestedIterationFinished := true
188
+ nestedIterationFinished := true
189
189
for _ , evaluator := range i .nestedState .iterEvaluators {
190
190
if ! evaluator .finished && evaluator .iter != nil {
191
191
nestedIterationFinished = false
@@ -197,20 +197,20 @@ func (i *ProjectIter) ProjectRowWithNestedIters(
197
197
i .nestedState = nil
198
198
return i .ProjectRowWithNestedIters (ctx )
199
199
}
200
-
200
+
201
201
return row , nil
202
202
}
203
203
204
204
row , err := i .childIter .Next (ctx )
205
205
if err != nil {
206
206
return nil , err
207
207
}
208
-
208
+
209
209
i .nestedState = & nestedIterState {
210
210
sourceRow : row ,
211
211
}
212
-
213
- // We need a new set of projections, with any iterator-returning expressions replaced by new expressions that will
212
+
213
+ // We need a new set of projections, with any iterator-returning expressions replaced by new expressions that will
214
214
// return the result of the iteration on each call to Eval. We also need to keep a list of all such iterators, so
215
215
// that we can tell when they have all finished their iterations.
216
216
var rowIterEvaluators []* RowIterEvaluator
@@ -230,20 +230,20 @@ func (i *ProjectIter) ProjectRowWithNestedIters(
230
230
rowIterEvaluators = append (rowIterEvaluators , evaluator )
231
231
return evaluator , transform .NewTree , nil
232
232
}
233
-
233
+
234
234
return e , transform .SameTree , nil
235
235
})
236
-
236
+
237
237
if err != nil {
238
238
return nil , err
239
239
}
240
240
241
241
newProjs [i ] = p
242
242
}
243
-
243
+
244
244
i .nestedState .projections = newProjs
245
245
i .nestedState .iterEvaluators = rowIterEvaluators
246
-
246
+
247
247
return i .ProjectRowWithNestedIters (ctx )
248
248
}
249
249
0 commit comments