Class InnodbTable

All Implemented Interfaces:
QueryableTable, Table, TranslatableTable, Wrapper

public class InnodbTable extends AbstractQueryableTable implements TranslatableTable
Table based on an InnoDB data file.
  • Constructor Details

  • Method Details

    • toString

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

      public RelDataType getRowType(RelDataTypeFactory typeFactory)
      Description copied from interface: Table
      Returns this table's row type.

      This is a struct type whose fields describe the names and types of the columns in this table.

      The implementer must use the type factory provided. This ensures that the type is converted into a canonical form; other equal types in the same query will use the same object.

      Specified by:
      getRowType in interface Table
      Parameters:
      typeFactory - Type factory with which to create the type
      Returns:
      Row type
    • getTableDef

      public com.alibaba.innodb.java.reader.schema.TableDef getTableDef()
    • getIndexesNameSet

      public Set<String> getIndexesNameSet()
      Get index name set.
      Returns:
      set of index names
    • query

      public Enumerable<Object> query(com.alibaba.innodb.java.reader.TableReaderFactory tableReaderFactory)
    • query

      public Enumerable<Object> query(com.alibaba.innodb.java.reader.TableReaderFactory tableReaderFactory, List<Map.Entry<String,Class>> fields, List<Map.Entry<String,String>> selectFields, IndexCondition condition, Boolean ascOrder)
      Executes a query on the underlying InnoDB table.
      Parameters:
      tableReaderFactory - InnoDB Java table reader factory
      fields - list of fields
      selectFields - list of fields to project
      condition - push down index condition
      ascOrder - if scan ordering is ascending
      Returns:
      Enumerator of results
    • asQueryable

      public <T> Queryable<T> asQueryable(QueryProvider queryProvider, SchemaPlus schema, String tableName)
      Description copied from interface: QueryableTable
      Converts this table into a Queryable.
      Specified by:
      asQueryable in interface QueryableTable
    • toRel

      public RelNode toRel(RelOptTable.ToRelContext context, RelOptTable relOptTable)
      Description copied from interface: TranslatableTable
      Converts this table into a relational expression.
      Specified by:
      toRel in interface TranslatableTable