diff options
-rw-r--r-- | odb/schema-catalog.cxx | 7 | ||||
-rw-r--r-- | odb/schema-catalog.hxx | 9 |
2 files changed, 16 insertions, 0 deletions
diff --git a/odb/schema-catalog.cxx b/odb/schema-catalog.cxx index cd1ded4..f834b1d 100644 --- a/odb/schema-catalog.cxx +++ b/odb/schema-catalog.cxx @@ -27,6 +27,13 @@ namespace odb schema_catalog_impl* schema_catalog_init::catalog = 0; size_t schema_catalog_init::count = 0; + bool schema_catalog:: + exists (database_id id, const std::string& name) + { + const schema_catalog_impl& c (*schema_catalog_init::catalog); + return c.find (key (id, name)) != c.end (); + } + void schema_catalog:: create_schema (database& db, const string& name) { diff --git a/odb/schema-catalog.hxx b/odb/schema-catalog.hxx index 861c3d0..0048644 100644 --- a/odb/schema-catalog.hxx +++ b/odb/schema-catalog.hxx @@ -20,6 +20,15 @@ namespace odb public: static void create_schema (database&, const std::string& name = ""); + + static bool + exists (database_id, const std::string& name); + + static bool + exists (const database& db, const std::string& name) + { + return exists (db.id (), name); + } }; namespace common |