Class foreign_storage::ForeignTableSchema

class ForeignTableSchema

Public Functions

ForeignTableSchema(const int32_t db_id, const ForeignTable *foreign_table)
const ColumnDescriptor *getColumnDescriptor(const int column_id) const

Gets a pointer to the column descriptor object for the given column id.

const ColumnDescriptor *getLogicalColumn(const int column_id) const

Gets the logical column that is associated with the given column id. Given column id can be for a physical column or logical column (in this case, the column descriptor for the same column is returned)

int getParquetColumnIndex(const int column_id) const

Gets the Parquet column index that corresponds to the given column id.

const std::list<const ColumnDescriptor *> &getLogicalAndPhysicalColumns() const

Gets all the logical and physical columns for the foreign table.

int numLogicalAndPhysicalColumns() const

Gets the total number of logical and physical columns for the foreign table.

const std::list<const ColumnDescriptor *> &getLogicalColumns() const

Gets all the logical columns for the foreign table.

int numLogicalColumns() const

Gets the total number of logical columns for the foreign table.

const ForeignTable *getForeignTable() const

Private Functions

std::vector<int>::const_iterator getLogicalColumnIdIterator(const int column_id) const

Private Members

std::list<const ColumnDescriptor *> logical_and_physical_columns_
std::list<const ColumnDescriptor *> logical_columns_
std::vector<int> logical_column_ids_
const ForeignTable *foreign_table_
std::shared_ptr<Catalog_Namespace::Catalog> catalog_