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

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

#include <catalog/systables/Index.h>

Public Member Functions

constexpr Oid idxid () const
 Returns the index ID. More...
 
constexpr Oid idxtabid () const
 Returns the table id of that the index is built on (may be InvalidOid). More...
 
constexpr uint8_t idxtyp () const
 Returns the type id of the index, see index/idxtyps.h. More...
 
constexpr bool idxunique () const
 Returns whether this is a unique index. More...
 
constexpr int16_t idxncols () const
 Returns the number of key columns. More...
 
constexpr uint32_t idxfid () const
 Returns the file ID of the index if any. More...
 
constexpr const std::string & idxname () const
 Returns the index name. More...
 

Static Public Member Functions

static constexpr FieldId idxid_colid ()
 
static constexpr FieldId idxtabid_colid ()
 
static constexpr FieldId idxtyp_colid ()
 
static constexpr FieldId idxunique_colid ()
 
static constexpr FieldId idxncols_colid ()
 
static constexpr FieldId idxfid_colid ()
 
static constexpr FieldId idxname_colid ()
 

Private Member Functions

 SysTable_Index (Oid idxid, Oid idxtabid, uint8_t idxtyp, bool idxunique, int16_t idxncols, uint32_t idxfid, std::string idxname)
 
std::vector< DatumGetDatumVector () const
 Returns all the fields as a datum vector. More...
 
 SysTable_Index (const SysTable_Index &)=default
 
SysTable_Indexoperator= (const SysTable_Index &)=default
 

Static Private Member Functions

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

Private Attributes

Oid m_idxid
 
Oid m_idxtabid
 
uint8_t m_idxtyp
 
bool m_idxunique
 
int16_t m_idxncols
 
uint32_t m_idxfid
 
std::string m_idxname
 

Friends

class BootstrapCatCache
 
class CatCacheInternalAccess
 

Detailed Description

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

Constructor & Destructor Documentation

◆ SysTable_Index() [1/2]

taco::SysTable_Index::SysTable_Index ( Oid  idxid,
Oid  idxtabid,
uint8_t  idxtyp,
bool  idxunique,
int16_t  idxncols,
uint32_t  idxfid,
std::string  idxname 
)
inlineprivate

◆ SysTable_Index() [2/2]

taco::SysTable_Index::SysTable_Index ( const SysTable_Index )
privatedefault

Member Function Documentation

◆ Create()

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

Creates a new SysTable_Index 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_Index::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.

◆ idxfid()

constexpr uint32_t taco::SysTable_Index::idxfid ( ) const
inlineconstexpr

Returns the file ID of the index if any.

◆ idxfid_colid()

static constexpr FieldId taco::SysTable_Index::idxfid_colid ( )
inlinestaticconstexpr

◆ idxid()

constexpr Oid taco::SysTable_Index::idxid ( ) const
inlineconstexpr

Returns the index ID.

◆ idxid_colid()

static constexpr FieldId taco::SysTable_Index::idxid_colid ( )
inlinestaticconstexpr

◆ idxname()

constexpr const std::string& taco::SysTable_Index::idxname ( ) const
inlineconstexpr

Returns the index name.

◆ idxname_colid()

static constexpr FieldId taco::SysTable_Index::idxname_colid ( )
inlinestaticconstexpr

◆ idxncols()

constexpr int16_t taco::SysTable_Index::idxncols ( ) const
inlineconstexpr

Returns the number of key columns.

◆ idxncols_colid()

static constexpr FieldId taco::SysTable_Index::idxncols_colid ( )
inlinestaticconstexpr

◆ idxtabid()

constexpr Oid taco::SysTable_Index::idxtabid ( ) const
inlineconstexpr

Returns the table id of that the index is built on (may be InvalidOid).

◆ idxtabid_colid()

static constexpr FieldId taco::SysTable_Index::idxtabid_colid ( )
inlinestaticconstexpr

◆ idxtyp()

constexpr uint8_t taco::SysTable_Index::idxtyp ( ) const
inlineconstexpr

Returns the type id of the index, see index/idxtyps.h.

◆ idxtyp_colid()

static constexpr FieldId taco::SysTable_Index::idxtyp_colid ( )
inlinestaticconstexpr

◆ idxunique()

constexpr bool taco::SysTable_Index::idxunique ( ) const
inlineconstexpr

Returns whether this is a unique index.

◆ idxunique_colid()

static constexpr FieldId taco::SysTable_Index::idxunique_colid ( )
inlinestaticconstexpr

◆ operator=()

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

Friends And Related Function Documentation

◆ BootstrapCatCache

friend class BootstrapCatCache
friend

◆ CatCacheInternalAccess

friend class CatCacheInternalAccess
friend

Member Data Documentation

◆ m_idxfid

uint32_t taco::SysTable_Index::m_idxfid
private

◆ m_idxid

Oid taco::SysTable_Index::m_idxid
private

◆ m_idxname

std::string taco::SysTable_Index::m_idxname
private

◆ m_idxncols

int16_t taco::SysTable_Index::m_idxncols
private

◆ m_idxtabid

Oid taco::SysTable_Index::m_idxtabid
private

◆ m_idxtyp

uint8_t taco::SysTable_Index::m_idxtyp
private

◆ m_idxunique

bool taco::SysTable_Index::m_idxunique
private

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