| 1 | #include "duckdb/catalog/dependency_list.hpp" |
|---|---|
| 2 | #include "duckdb/catalog/catalog_entry.hpp" |
| 3 | #include "duckdb/catalog/catalog.hpp" |
| 4 | |
| 5 | namespace duckdb { |
| 6 | |
| 7 | void DependencyList::AddDependency(CatalogEntry &entry) { |
| 8 | if (entry.internal) { |
| 9 | return; |
| 10 | } |
| 11 | set.insert(x: entry); |
| 12 | } |
| 13 | |
| 14 | void DependencyList::VerifyDependencies(Catalog &catalog, const string &name) { |
| 15 | for (auto &dep_entry : set) { |
| 16 | auto &dep = dep_entry.get(); |
| 17 | if (&dep.ParentCatalog() != &catalog) { |
| 18 | throw DependencyException( |
| 19 | "Error adding dependency for object \"%s\" - dependency \"%s\" is in catalog " |
| 20 | "\"%s\", which does not match the catalog \"%s\".\nCross catalog dependencies are not supported.", |
| 21 | name, dep.name, dep.ParentCatalog().GetName(), catalog.GetName()); |
| 22 | } |
| 23 | } |
| 24 | } |
| 25 | |
| 26 | } // namespace duckdb |
| 27 |