Skip to content

Commit 0d4e630

Browse files
committed
Added type info to set iterator
1 parent 5ffb12b commit 0d4e630

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

sql/rowexec/rel_iters.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ func (i *ProjectIter) ProjectRowWithNestedIters(
225225

226226
evaluator := &RowIterEvaluator{
227227
iter: ri,
228+
typ: rie.Type(),
228229
}
229230
rowIterEvaluators = append(rowIterEvaluators, evaluator)
230231
return evaluator, transform.NewTree, nil
@@ -248,6 +249,7 @@ func (i *ProjectIter) ProjectRowWithNestedIters(
248249

249250
type RowIterEvaluator struct {
250251
iter sql.RowIter
252+
typ sql.Type
251253
finished bool
252254
}
253255

@@ -260,11 +262,11 @@ func (r RowIterEvaluator) String() string {
260262
}
261263

262264
func (r RowIterEvaluator) Type() sql.Type {
263-
return nil
265+
return r.typ
264266
}
265267

266268
func (r RowIterEvaluator) IsNullable() bool {
267-
return false
269+
return true
268270
}
269271

270272
func (r *RowIterEvaluator) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) {
@@ -286,13 +288,14 @@ func (r *RowIterEvaluator) Eval(ctx *sql.Context, row sql.Row) (interface{}, err
286288
}
287289

288290
func (r RowIterEvaluator) Children() []sql.Expression {
289-
// TODO implement me
290-
panic("implement me")
291+
return nil
291292
}
292293

293294
func (r RowIterEvaluator) WithChildren(children ...sql.Expression) (sql.Expression, error) {
294-
// TODO implement me
295-
panic("implement me")
295+
if len(children) != 0 {
296+
return nil, sql.ErrInvalidChildrenNumber.New(r, len(children), 0)
297+
}
298+
return &r, nil
296299
}
297300

298301
var _ sql.Expression = (*RowIterEvaluator)(nil)

0 commit comments

Comments
 (0)