30 const size_t entry_count,
31 const size_t emitted_keys_count)
62 &data_mgr, entries *
sizeof(int32_t), device_id);
class for a per-database catalog. also includes metadata for the current database and the current use...
Data_Namespace::DataMgr & getDataMgr() const
int8_t * getGpuBuffer() const override
int8_t * getCpuBuffer() override
HashType getLayout() const override
virtual int8_t * getMemoryPtr()=0
size_t getHashTableBufferSize(const ExecutorDeviceType device_type) const override
virtual size_t reservedSize() const =0
Data_Namespace::AbstractBuffer * gpu_hash_table_buff_
size_t getEntryCount() const override
size_t getEmittedKeysCount() const override
An AbstractBuffer is a unit of data management for a data manager.
size_t emitted_keys_count_
size_t gpuReservedSize() const
static Data_Namespace::AbstractBuffer * allocGpuAbstractBuffer(Data_Namespace::DataMgr *data_mgr, const size_t num_bytes, const int device_id)
PerfectHashTable(const Catalog_Namespace::Catalog *catalog, const HashType layout, const ExecutorDeviceType device_type, const size_t entry_count, const size_t emitted_keys_count)
void free(AbstractBuffer *buffer)
void allocateGpuMemory(const size_t entries, const int device_id)
std::vector< int32_t > cpu_hash_table_buff_
const Catalog_Namespace::Catalog * catalog_