Class Data_Namespace::AbstractBuffer

class AbstractBuffer

An AbstractBuffer is a unit of data management for a data manager.

Subclassed by Buffer_Namespace::Buffer, File_Namespace::FileBuffer, foreign_storage::ForeignStorageBuffer, foreign_storage::PassThroughBuffer, foreign_storage::TypedParquetStorageBuffer< Type >, ForeignStorageBuffer, foreign_storage::TypedParquetStorageBuffer< ArrayDatum >, foreign_storage::TypedParquetStorageBuffer< std::string >

Public Functions

AbstractBuffer(const int device_id)
AbstractBuffer(const int device_id, const SQLTypeInfo sql_type)
virtual ~AbstractBuffer()
virtual void read(int8_t *const dst, const size_t num_bytes, const size_t offset = 0, const MemoryLevel dst_buffer_type = CPU_LEVEL, const int dst_device_id = -1) = 0
virtual void write(int8_t *src, const size_t num_bytes, const size_t offset = 0, const MemoryLevel src_buffer_type = CPU_LEVEL, const int src_device_id = -1) = 0
virtual void reserve(size_t num_bytes) = 0
virtual void append(int8_t *src, const size_t num_bytes, const MemoryLevel src_buffer_type = CPU_LEVEL, const int device_id = -1) = 0
virtual int8_t *getMemoryPtr() = 0
virtual void setMemoryPtr(int8_t *new_ptr)
virtual size_t pageCount() const = 0
virtual size_t pageSize() const = 0
virtual size_t reservedSize() const = 0
virtual MemoryLevel getType() const = 0
virtual int pin()
virtual int unPin()
virtual int getPinCount()
size_t size() const
int getDeviceId() const
bool isDirty() const
bool isAppended() const
bool isUpdated() const
bool hasEncoder() const
SQLTypeInfo getSqlType() const
void setSqlType(const SQLTypeInfo &sql_type)
Encoder *getEncoder() const
void setDirty()
void setUpdated()
void setAppended()
void setSize(const size_t size)
void clearDirtyBits()
void initEncoder(const SQLTypeInfo &tmp_sql_type)
void syncEncoder(const AbstractBuffer *src_buffer)
void copyTo(AbstractBuffer *destination_buffer, const size_t num_bytes = 0)
void resetToEmpty()

Protected Attributes

std::unique_ptr<Encoder> encoder_
SQLTypeInfo sql_type_
size_t size_
int device_id_

Private Members

bool is_dirty_
bool is_appended_
bool is_updated_