taco-db  0.1.0
Protected Member Functions | Static Protected Member Functions | List of all members
taco::CatCacheInternalAccess Class Reference

Some internal functions of catalog cache implementations. More...

#include <catalog/CatCacheBase.h>

Inheritance diagram for taco::CatCacheInternalAccess:
taco::CatCacheBase< VolatileCatCache > taco::CatCacheBase< PersistentCatCache > taco::CatCacheBase< CatCacheCls > taco::VolatileCatCache taco::PersistentCatCache taco::CatCache

Protected Member Functions

template<class T >
std::vector< DatumGetDatumVector (const T &systable_struct)
 

Static Protected Member Functions

static std::shared_ptr< void > CreateSysTableStruct (Oid tabid, const std::vector< Datum > &data)
 Creates a SysTable_xxx struct for a row stored in a record payout in the specified table. More...
 
template<class T >
static T * CreateSysTableStruct (const std::vector< Datum > &data)
 Creates a SysTable_xxx struct from a vector of data by invoking its Create() function. More...
 
template<class T >
static T * CopySysTableStruct (const T *s)
 
template<class T , class ... Args>
static T * ConstructSysTableStruct (Args &&...args)
 Constructs a SysTable_xxx struct from c++ values by invoking its constructor. More...
 

Detailed Description

Some internal functions of catalog cache implementations.

This is a friend class of all SysTable_xxx structs so that it can provide access to members that are otherwise inaccessible.

Member Function Documentation

◆ ConstructSysTableStruct()

template<class T , class ... Args>
static T* taco::CatCacheInternalAccess::ConstructSysTableStruct ( Args &&...  args)
inlinestaticprotected

Constructs a SysTable_xxx struct from c++ values by invoking its constructor.

◆ CopySysTableStruct()

template<class T >
static T* taco::CatCacheInternalAccess::CopySysTableStruct ( const T *  s)
inlinestaticprotected

◆ CreateSysTableStruct() [1/2]

template<class T >
static T* taco::CatCacheInternalAccess::CreateSysTableStruct ( const std::vector< Datum > &  data)
inlinestaticprotected

Creates a SysTable_xxx struct from a vector of data by invoking its Create() function.

This overload returns a plain pointer and the caller is responsible for managing the memory of the object, as the caller knows the exact type of the returned struct.

◆ CreateSysTableStruct() [2/2]

std::shared_ptr< void > taco::CatCacheInternalAccess::CreateSysTableStruct ( Oid  tabid,
const std::vector< Datum > &  data 
)
staticprotected

Creates a SysTable_xxx struct for a row stored in a record payout in the specified table.

This overload returns an std::shared_ptr<void> which is an alias for an std::shared_ptr<SysTable_xxx> and will automatically destruct the object when there's no reference to the object.

The implementation of this function is automatically generated in catalog/CatCacheBase_gen.cpp.

◆ GetDatumVector()

template<class T >
std::vector<Datum> taco::CatCacheInternalAccess::GetDatumVector ( const T &  systable_struct)
inlineprotected

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