Class InfoSchemaRecordGenerator<S>

java.lang.Object
org.apache.drill.exec.store.ischema.InfoSchemaRecordGenerator<S>
Direct Known Subclasses:
InfoSchemaRecordGenerator.Catalogs, InfoSchemaRecordGenerator.Columns, InfoSchemaRecordGenerator.Files, InfoSchemaRecordGenerator.Partitions, InfoSchemaRecordGenerator.Schemata, InfoSchemaRecordGenerator.Tables, InfoSchemaRecordGenerator.Views

public abstract class InfoSchemaRecordGenerator<S> extends Object
Generates records for POJO RecordReader by scanning the given schema. At every level (catalog, schema, table, field, partition, file), level specific object is visited and decision is taken to visit the contents of the object. Object here is catalog, schema, table, field, partition, file.
  • Field Details

    • records

      protected List<S> records
  • Constructor Details

    • InfoSchemaRecordGenerator

      public InfoSchemaRecordGenerator(FilterEvaluator filterEvaluator)
  • Method Details

    • registerRecordCollector

      public void registerRecordCollector(RecordCollector recordCollector)
    • scanSchema

      public void scanSchema(org.apache.calcite.schema.SchemaPlus root)
    • scanSchema

      protected void scanSchema(String schemaPath, org.apache.calcite.schema.SchemaPlus schema)
      Recursively scans the given schema, invoking the visitor as appropriate.
      Parameters:
      schemaPath - the path to the given schema, so far
      schema - the given schema
    • visit

      protected final void visit(String schemaPath, org.apache.calcite.schema.SchemaPlus schema)
    • getRecordReader

      public abstract PojoRecordReader<S> getRecordReader()
    • collect

      protected abstract List<S> collect(RecordCollector recordCollector, String schemaPath, org.apache.calcite.schema.SchemaPlus schema)