//===----------------------------------------------------------------------===// // DuckDB // // duckdb/catalog/default/default_generator.hpp // // //===----------------------------------------------------------------------===// #pragma once #include "duckdb/catalog/catalog_entry.hpp" #include "duckdb/common/atomic.hpp" namespace duckdb { class ClientContext; class DefaultGenerator { public: explicit DefaultGenerator(Catalog &catalog) : catalog(catalog), created_all_entries(false) { } virtual ~DefaultGenerator() { } Catalog &catalog; atomic created_all_entries; public: //! Creates a default entry with the specified name, or returns nullptr if no such entry can be generated virtual unique_ptr CreateDefaultEntry(ClientContext &context, const string &entry_name) = 0; //! Get a list of all default entries in the generator virtual vector GetDefaultEntries() = 0; }; } // namespace duckdb