Eval implements the TypedExpr interface.
(ctx *EvalContext)
| 4360 | |
| 4361 | // Eval implements the TypedExpr interface. |
| 4362 | func (t *ArrayFlatten) Eval(ctx *EvalContext) (Datum, error) { |
| 4363 | array, err := arrayOfType(t.ResolvedType()) |
| 4364 | if err != nil { |
| 4365 | return nil, err |
| 4366 | } |
| 4367 | |
| 4368 | d, err := t.Subquery.(TypedExpr).Eval(ctx) |
| 4369 | if err != nil { |
| 4370 | return nil, err |
| 4371 | } |
| 4372 | |
| 4373 | tuple, ok := d.(*DTuple) |
| 4374 | if !ok { |
| 4375 | return nil, errors.AssertionFailedf("array subquery result (%v) is not DTuple", d) |
| 4376 | } |
| 4377 | array.Array = tuple.D |
| 4378 | return array, nil |
| 4379 | } |
| 4380 | |
| 4381 | // Eval implements the TypedExpr interface. |
| 4382 | func (t *DBitArray) Eval(_ *EvalContext) (Datum, error) { |
nothing calls this directly
no test coverage detected