Interface MetadataManager

All Known Implementing Classes:
ImplicitColumnManager, NoOpMetadataManager

public interface MetadataManager
Queries can contain a wildcard (*), table columns, or special system-defined columns (the file metadata columns AKA implicit columns, the `columns` column of CSV, etc.).

This class provides a generalized way of handling such extended columns. That is, this handles metadata for columns defined by the scan or file; columns defined by the table (the actual data metadata) is handled elsewhere.

Objects of this interface are driven by the projection processing framework which provides a vector cache from which to obtain materialized columns. The implementation must provide a projection parser to pick out the columns which this object handles.

A better name might be ImplicitMetadataManager to signify that this is about metadata other than table columns.

  • Method Details

    • bind

      void bind(ResultVectorCache vectorCache)
    • projectionParser

    • resolver

    • define

      void define()
      Define (materialize) the columns which this manager represents.
    • load

      void load(int rowCount)
      Load data into the custom columns, if needed (such as for null or implicit columns.)
      Parameters:
      rowCount - number of rows read into a batch.
    • endFile

      void endFile()
      Event indicating the end of a file (or other data source.)
    • close

      void close()
      Event indicating the end of a scan.