Class MutableTupleSchema

java.lang.Object
org.apache.drill.exec.physical.impl.scan.v3.schema.MutableTupleSchema

public class MutableTupleSchema extends Object
A mutable form of a tuple schema. Allows insertions (at the wildcard position), and replacing columns (as the schema becomes resolved). Tracks implicit columns (those not filled in by the reader).

Does not implement the TupleMetadata interface because that interface has far more functionality than is needed here, and assumes that column order remains fixed (and hence columns can be addressed by position) which is not true for this class.

This class represents the top-level tuple (the row.) Maps are also dynamic, but provide a subset of resolution options: map fields cannot be implicit. They can, however, be defined, provided, discovered or missing. Map columns can start unresolved if the map comes from projection. A map itself can be resolved, but its members may be unresolved. New map members may only be added at the end (there is no equivalent of a wildcard position.)