Currently there's no formal contract for the input/output of an exec node. This causes mismatches between node.schema and the schema of the record batches from the schema (because node.schema is not guaranteed to match output or the input).
An example of brittleness and hacks that we have to build in is in #686
We should make it so that:
- Each exec node declares it's output schema formally
- Add unit tests to make sure the output schema is enforced
- Add integration tests to make sure the possible IO plans are valid
Currently there's no formal contract for the input/output of an exec node. This causes mismatches between node.schema and the schema of the record batches from the schema (because node.schema is not guaranteed to match output or the input).
An example of brittleness and hacks that we have to build in is in #686
We should make it so that: