Lbug C++ API
Loading...
Searching...
No Matches
lbug::main::Database Class Reference

Database class is the main class of Lbug. It manages all database components. More...

#include <database.h>

Public Member Functions

LBUG_API Database (std::string_view databasePath, SystemConfig systemConfig=SystemConfig())
 Creates a database object.
LBUG_API ~Database ()
 Destructs the database object.
LBUG_API void registerFileSystem (std::unique_ptr< common::FileSystem > fs)
LBUG_API void registerStorageExtension (std::string name, std::unique_ptr< storage::StorageExtension > storageExtension)
LBUG_API void addExtensionOption (std::string name, common::LogicalTypeID type, common::Value defaultValue, bool isConfidential=false)
LBUG_API void addTransformerExtension (std::unique_ptr< extension::TransformerExtension > transformerExtension)
std::vector< extension::TransformerExtension * > getTransformerExtensions ()
LBUG_API void addBinderExtension (std::unique_ptr< extension::BinderExtension > transformerExtension)
std::vector< extension::BinderExtension * > getBinderExtensions ()
LBUG_API void addPlannerExtension (std::unique_ptr< extension::PlannerExtension > plannerExtension)
std::vector< extension::PlannerExtension * > getPlannerExtensions ()
LBUG_API void addMapperExtension (std::unique_ptr< extension::MapperExtension > mapperExtension)
std::vector< extension::MapperExtension * > getMapperExtensions ()
catalog::Catalog * getCatalog ()
const DBConfiggetConfig () const
std::vector< storage::StorageExtension * > getStorageExtensions ()
uint64_t getNextQueryID ()
storage::StorageManager * getStorageManager ()
transaction::TransactionManager * getTransactionManager ()
DatabaseManager * getDatabaseManager ()
storage::MemoryManager * getMemoryManager ()
processor::QueryProcessor * getQueryProcessor ()
extension::ExtensionManager * getExtensionManager ()
common::VirtualFileSystem * getVFS ()

Friends

class EmbeddedShell
class ClientContext
class Connection
class testing::BaseGraphTest

Detailed Description

Database class is the main class of Lbug. It manages all database components.

Constructor & Destructor Documentation

◆ Database()

LBUG_API lbug::main::Database::Database ( std::string_view databasePath,
SystemConfig systemConfig = SystemConfig() )
explicit

Creates a database object.

Parameters
databasePathDatabase path. If left empty, or :memory: is specified, this will create an in-memory database.
systemConfigSystem configurations (buffer pool size and max num threads).

◆ ~Database()

LBUG_API lbug::main::Database::~Database ( )

Destructs the database object.

Member Function Documentation

◆ addBinderExtension()

LBUG_API void lbug::main::Database::addBinderExtension ( std::unique_ptr< extension::BinderExtension > transformerExtension)

◆ addExtensionOption()

LBUG_API void lbug::main::Database::addExtensionOption ( std::string name,
common::LogicalTypeID type,
common::Value defaultValue,
bool isConfidential = false )

◆ addMapperExtension()

LBUG_API void lbug::main::Database::addMapperExtension ( std::unique_ptr< extension::MapperExtension > mapperExtension)

◆ addPlannerExtension()

LBUG_API void lbug::main::Database::addPlannerExtension ( std::unique_ptr< extension::PlannerExtension > plannerExtension)

◆ addTransformerExtension()

LBUG_API void lbug::main::Database::addTransformerExtension ( std::unique_ptr< extension::TransformerExtension > transformerExtension)

◆ getBinderExtensions()

std::vector< extension::BinderExtension * > lbug::main::Database::getBinderExtensions ( )

◆ getCatalog()

catalog::Catalog * lbug::main::Database::getCatalog ( )
inline

◆ getConfig()

const DBConfig & lbug::main::Database::getConfig ( ) const
inline

◆ getDatabaseManager()

DatabaseManager * lbug::main::Database::getDatabaseManager ( )
inline

◆ getExtensionManager()

extension::ExtensionManager * lbug::main::Database::getExtensionManager ( )
inline

◆ getMapperExtensions()

std::vector< extension::MapperExtension * > lbug::main::Database::getMapperExtensions ( )

◆ getMemoryManager()

storage::MemoryManager * lbug::main::Database::getMemoryManager ( )
inline

◆ getNextQueryID()

uint64_t lbug::main::Database::getNextQueryID ( )

◆ getPlannerExtensions()

std::vector< extension::PlannerExtension * > lbug::main::Database::getPlannerExtensions ( )

◆ getQueryProcessor()

processor::QueryProcessor * lbug::main::Database::getQueryProcessor ( )
inline

◆ getStorageExtensions()

std::vector< storage::StorageExtension * > lbug::main::Database::getStorageExtensions ( )

◆ getStorageManager()

storage::StorageManager * lbug::main::Database::getStorageManager ( )
inline

◆ getTransactionManager()

transaction::TransactionManager * lbug::main::Database::getTransactionManager ( )
inline

◆ getTransformerExtensions()

std::vector< extension::TransformerExtension * > lbug::main::Database::getTransformerExtensions ( )

◆ getVFS()

common::VirtualFileSystem * lbug::main::Database::getVFS ( )
inline

◆ registerFileSystem()

LBUG_API void lbug::main::Database::registerFileSystem ( std::unique_ptr< common::FileSystem > fs)

◆ registerStorageExtension()

LBUG_API void lbug::main::Database::registerStorageExtension ( std::string name,
std::unique_ptr< storage::StorageExtension > storageExtension )

◆ ClientContext

friend class ClientContext
friend

◆ Connection

friend class Connection
friend

◆ EmbeddedShell

friend class EmbeddedShell
friend

◆ testing::BaseGraphTest

friend class testing::BaseGraphTest
friend

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