Class CsvFilterableTable

All Implemented Interfaces:
FilterableTable, Table, Wrapper

public class CsvFilterableTable extends CsvTable implements FilterableTable
Table based on a CSV file that can implement simple filtering.

It implements the FilterableTable interface, so Calcite gets data by calling the scan(DataContext, List) method.

  • Constructor Details

    • CsvFilterableTable

      public CsvFilterableTable(Source source, @Nullable RelProtoDataType protoRowType)
      Creates a CsvFilterableTable.
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • scan

      public Enumerable<@Nullable Object[]> scan(DataContext root, List<RexNode> filters)
      Description copied from interface: FilterableTable
      Returns an enumerator over the rows in this Table. Each row is represented as an array of its column values.

      The list of filters is mutable. If the table can implement a particular filter, it should remove that filter from the list. If it cannot implement a filter, it should leave it in the list. Any filters remaining will be implemented by the consuming Calcite operator.

      Specified by:
      scan in interface FilterableTable