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_Column Class Reference

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

#include <catalog/systables/Column.h>

Public Member Functions

constexpr Oid coltabid () const
 Returns table ID. More...
 
constexpr int16_t colid () const
 Returns column number (counting from 0 for ordinary columns). More...
 
constexpr bool colisarray () const
 Returns whether this is an array column. More...
 
constexpr bool colisnullable () const
 Returns whether this can be NULL value. More...
 
constexpr Oid coltypid () const
 Returns the type ID. More...
 
constexpr uint64_t coltypparam () const
 Returns the type parameter if any or 0 if there is no type parameter. More...
 
constexpr const std::string & colname () const
 Returns column name. More...
 

Static Public Member Functions

static constexpr FieldId coltabid_colid ()
 
static constexpr FieldId colid_colid ()
 
static constexpr FieldId colisarray_colid ()
 
static constexpr FieldId colisnullable_colid ()
 
static constexpr FieldId coltypid_colid ()
 
static constexpr FieldId coltypparam_colid ()
 
static constexpr FieldId colname_colid ()
 

Private Member Functions

 SysTable_Column (Oid coltabid, int16_t colid, bool colisarray, bool colisnullable, Oid coltypid, uint64_t coltypparam, std::string colname)
 
std::vector< DatumGetDatumVector () const
 Returns all the fields as a datum vector. More...
 
 SysTable_Column (const SysTable_Column &)=default
 
SysTable_Columnoperator= (const SysTable_Column &)=default
 

Static Private Member Functions

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

Private Attributes

Oid m_coltabid
 
int16_t m_colid
 
bool m_colisarray
 
bool m_colisnullable
 
Oid m_coltypid
 
uint64_t m_coltypparam
 
std::string m_colname
 

Friends

class BootstrapCatCache
 
class CatCacheInternalAccess
 

Detailed Description

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

Constructor & Destructor Documentation

◆ SysTable_Column() [1/2]

taco::SysTable_Column::SysTable_Column ( Oid  coltabid,
int16_t  colid,
bool  colisarray,
bool  colisnullable,
Oid  coltypid,
uint64_t  coltypparam,
std::string  colname 
)
inlineprivate

◆ SysTable_Column() [2/2]

taco::SysTable_Column::SysTable_Column ( const SysTable_Column )
privatedefault

Member Function Documentation

◆ colid()

constexpr int16_t taco::SysTable_Column::colid ( ) const
inlineconstexpr

Returns column number (counting from 0 for ordinary columns).

◆ colid_colid()

static constexpr FieldId taco::SysTable_Column::colid_colid ( )
inlinestaticconstexpr

◆ colisarray()

constexpr bool taco::SysTable_Column::colisarray ( ) const
inlineconstexpr

Returns whether this is an array column.

◆ colisarray_colid()

static constexpr FieldId taco::SysTable_Column::colisarray_colid ( )
inlinestaticconstexpr

◆ colisnullable()

constexpr bool taco::SysTable_Column::colisnullable ( ) const
inlineconstexpr

Returns whether this can be NULL value.

◆ colisnullable_colid()

static constexpr FieldId taco::SysTable_Column::colisnullable_colid ( )
inlinestaticconstexpr

◆ colname()

constexpr const std::string& taco::SysTable_Column::colname ( ) const
inlineconstexpr

Returns column name.

◆ colname_colid()

static constexpr FieldId taco::SysTable_Column::colname_colid ( )
inlinestaticconstexpr

◆ coltabid()

constexpr Oid taco::SysTable_Column::coltabid ( ) const
inlineconstexpr

Returns table ID.

◆ coltabid_colid()

static constexpr FieldId taco::SysTable_Column::coltabid_colid ( )
inlinestaticconstexpr

◆ coltypid()

constexpr Oid taco::SysTable_Column::coltypid ( ) const
inlineconstexpr

Returns the type ID.

◆ coltypid_colid()

static constexpr FieldId taco::SysTable_Column::coltypid_colid ( )
inlinestaticconstexpr

◆ coltypparam()

constexpr uint64_t taco::SysTable_Column::coltypparam ( ) const
inlineconstexpr

Returns the type parameter if any or 0 if there is no type parameter.

◆ coltypparam_colid()

static constexpr FieldId taco::SysTable_Column::coltypparam_colid ( )
inlinestaticconstexpr

◆ Create()

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

Creates a new SysTable_Column 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_Column::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_Column& taco::SysTable_Column::operator= ( const SysTable_Column )
privatedefault

Friends And Related Function Documentation

◆ BootstrapCatCache

friend class BootstrapCatCache
friend

◆ CatCacheInternalAccess

friend class CatCacheInternalAccess
friend

Member Data Documentation

◆ m_colid

int16_t taco::SysTable_Column::m_colid
private

◆ m_colisarray

bool taco::SysTable_Column::m_colisarray
private

◆ m_colisnullable

bool taco::SysTable_Column::m_colisnullable
private

◆ m_colname

std::string taco::SysTable_Column::m_colname
private

◆ m_coltabid

Oid taco::SysTable_Column::m_coltabid
private

◆ m_coltypid

Oid taco::SysTable_Column::m_coltypid
private

◆ m_coltypparam

uint64_t taco::SysTable_Column::m_coltypparam
private

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