iceberg-cpp
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
catalog_store.h File Reference
#include <cstdint>
#include <functional>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <unordered_map>
#include <vector>
#include "iceberg/catalog/sql/iceberg_sql_catalog_export.h"
#include "iceberg/result.h"

Go to the source code of this file.

Classes

struct  iceberg::sql::NamespaceProperty
 A namespace property row. More...
 
struct  iceberg::sql::CatalogStoreOptions
 Connection parameters used to construct a built-in CatalogStore. More...
 
class  iceberg::sql::CatalogStore
 Semantic, driver-agnostic storage interface for the SQL catalog. More...
 

Namespaces

namespace  iceberg
 Core Apache Iceberg C++ APIs.
 
namespace  iceberg::sql
 SQL catalog APIs.
 

Functions

ICEBERG_SQL_CATALOG_EXPORT Result< std::shared_ptr< CatalogStore > > iceberg::sql::MakeSqliteCatalogStore (const CatalogStoreOptions &options)
 Build the built-in SQLite catalog store (sqlpp23 + SQLite3).
 
ICEBERG_SQL_CATALOG_EXPORT Result< std::shared_ptr< CatalogStore > > iceberg::sql::MakePostgreSqlCatalogStore (const CatalogStoreOptions &options)
 Build the built-in PostgreSQL catalog store (sqlpp23 + libpq).
 
ICEBERG_SQL_CATALOG_EXPORT Result< std::shared_ptr< CatalogStore > > iceberg::sql::MakeMySqlCatalogStore (const CatalogStoreOptions &options)
 Build the built-in MySQL catalog store (sqlpp23 + libmysqlclient).
 

Detailed Description

Storage abstraction for the SQL catalog.

CatalogStore persists SQL catalog rows. SqlCatalog owns Iceberg catalog semantics and uses this interface for database-specific row operations.