23 "enable multiple table properties.",
24 [](std::vector<std::string_view> properties) {
26 std::unique_ptr<TableFactory> table_factory = std::make_unique<ConcreteTableFactory>();
27 for (
auto property : properties)
39void register_table_factories()
43 std::unique_ptr<TableFactory> table_factory = std::make_unique<ConcreteTableFactory>();
47 "enables multi-versioning");
__attribute__((constructor(202))) void register_table_factories()
void add(const char *group_name, const char *short_name, const char *long_name, const char *description, Callback &&callback)
Adds a new group option to the ArgParser.
The catalog contains all Databases and keeps track of all meta information of the database system.
std::unique_ptr< TableFactory > apply_table_property(const ThreadSafePooledString &name, std::unique_ptr< TableFactory > table_factory) const
Applies the TableFactoryDecorator corresponding to name to table_factory.
ThreadSafePooledString pool(const char *str) const
Creates an internalized copy of the string str by adding it to the internal StringPool.
void register_table_property(ThreadSafePooledString name, const char *description=nullptr)
Registers a new TableFactoryDecorator with the given name.
static Catalog & Get()
Return a reference to the single Catalog instance.
m::ArgParser & arg_parser()
std::unique_ptr< TableFactory > table_factory(std::unique_ptr< TableFactory > table_factory)
Replaces the stored TableFactory with table_factory and returns the old TableFactory.