taco-db  0.1.0
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
taco::SysTable_Table Class Reference

SysTable_Table is an in-memory cached record in the system catalog SysTable_Table. More...

#include <catalog/systables/Table.h>

Public Member Functions

constexpr Oid tabid () const
 Returns the table ID. More...
 
constexpr bool tabissys () const
 Returns whether this table is a catalog table. More...
 
constexpr bool tabisvarlen () const
 Returns whether this table is stored as a variable-length heap file. More...
 
constexpr int16_t tabncols () const
 Returns the number of columns. More...
 
constexpr uint32_t tabfid () const
 Returns the file ID of the heap file of the table. More...
 
constexpr const std::string & tabname () const
 Returns the table name. More...
 

Static Public Member Functions

static constexpr FieldId tabid_colid ()
 
static constexpr FieldId tabissys_colid ()
 
static constexpr FieldId tabisvarlen_colid ()
 
static constexpr FieldId tabncols_colid ()
 
static constexpr FieldId tabfid_colid ()
 
static constexpr FieldId tabname_colid ()
 

Private Member Functions

 SysTable_Table (Oid tabid, bool tabissys, bool tabisvarlen, int16_t tabncols, uint32_t tabfid, std::string tabname)
 
std::vector< DatumGetDatumVector () const
 Returns all the fields as a datum vector. More...
 
 SysTable_Table (const SysTable_Table &)=default
 
SysTable_Tableoperator= (const SysTable_Table &)=default
 

Static Private Member Functions

static SysTable_TableCreate (const std::vector< Datum > &)
 Creates a new SysTable_Table with a data vector read from some record payload. More...
 

Private Attributes

Oid m_tabid
 
bool m_tabissys
 
bool m_tabisvarlen
 
int16_t m_tabncols
 
uint32_t m_tabfid
 
std::string m_tabname
 

Friends

class BootstrapCatCache
 
class CatCacheInternalAccess
 

Detailed Description

SysTable_Table is an in-memory cached record in the system catalog SysTable_Table.

Constructor & Destructor Documentation

◆ SysTable_Table() [1/2]

taco::SysTable_Table::SysTable_Table ( Oid  tabid,
bool  tabissys,
bool  tabisvarlen,
int16_t  tabncols,
uint32_t  tabfid,
std::string  tabname 
)
inlineprivate

◆ SysTable_Table() [2/2]

taco::SysTable_Table::SysTable_Table ( const SysTable_Table )
privatedefault

Member Function Documentation

◆ Create()

SysTable_Table * taco::SysTable_Table::Create ( const std::vector< Datum > &  data)
staticprivate

Creates a new SysTable_Table with a data vector read from some record payload.

This function is private and only accessible to the catalog cache implementation.

◆ GetDatumVector()

std::vector< Datum > taco::SysTable_Table::GetDatumVector ( ) const
private

Returns all the fields as a datum vector.

Note that the entry itself must be kept alive when the datum vector is accessed, as we may return references without copying the underlying data. This function is private and only accessible to the catalog cache implementation.

◆ operator=()

SysTable_Table& taco::SysTable_Table::operator= ( const SysTable_Table )
privatedefault

◆ tabfid()

constexpr uint32_t taco::SysTable_Table::tabfid ( ) const
inlineconstexpr

Returns the file ID of the heap file of the table.

◆ tabfid_colid()

static constexpr FieldId taco::SysTable_Table::tabfid_colid ( )
inlinestaticconstexpr

◆ tabid()

constexpr Oid taco::SysTable_Table::tabid ( ) const
inlineconstexpr

Returns the table ID.

◆ tabid_colid()

static constexpr FieldId taco::SysTable_Table::tabid_colid ( )
inlinestaticconstexpr

◆ tabissys()

constexpr bool taco::SysTable_Table::tabissys ( ) const
inlineconstexpr

Returns whether this table is a catalog table.

◆ tabissys_colid()

static constexpr FieldId taco::SysTable_Table::tabissys_colid ( )
inlinestaticconstexpr

◆ tabisvarlen()

constexpr bool taco::SysTable_Table::tabisvarlen ( ) const
inlineconstexpr

Returns whether this table is stored as a variable-length heap file.

◆ tabisvarlen_colid()

static constexpr FieldId taco::SysTable_Table::tabisvarlen_colid ( )
inlinestaticconstexpr

◆ tabname()

constexpr const std::string& taco::SysTable_Table::tabname ( ) const
inlineconstexpr

Returns the table name.

◆ tabname_colid()

static constexpr FieldId taco::SysTable_Table::tabname_colid ( )
inlinestaticconstexpr

◆ tabncols()

constexpr int16_t taco::SysTable_Table::tabncols ( ) const
inlineconstexpr

Returns the number of columns.

◆ tabncols_colid()

static constexpr FieldId taco::SysTable_Table::tabncols_colid ( )
inlinestaticconstexpr

Friends And Related Function Documentation

◆ BootstrapCatCache

friend class BootstrapCatCache
friend

◆ CatCacheInternalAccess

friend class CatCacheInternalAccess
friend

Member Data Documentation

◆ m_tabfid

uint32_t taco::SysTable_Table::m_tabfid
private

◆ m_tabid

Oid taco::SysTable_Table::m_tabid
private

◆ m_tabissys

bool taco::SysTable_Table::m_tabissys
private

◆ m_tabisvarlen

bool taco::SysTable_Table::m_tabisvarlen
private

◆ m_tabname

std::string taco::SysTable_Table::m_tabname
private

◆ m_tabncols

int16_t taco::SysTable_Table::m_tabncols
private

The documentation for this class was generated from the following files: