6.9. VDB Reuse
6.9. VDB Reuse VDBs may reuse other VDBs deployed in the same server instance by using an "import-vdb" declaration in the vdb.xml file (see Section 6.1, "VDB Definition" ). An imported VDB can have its tables and procedures referenced by views and procedures in the importing VDB as if they are part of the VDB. Imported VDBs are required to exist before an importing VDB may start. If an imported VDB is undeployed, then any importing VDB will be stopped. An imported VDB includes all of its models and may not conflict with any model, data policy, or source already defined in the importing VDB. Once a VDB is imported it is mostly operationally independent from the base VDB. Only cost related metadata may be updated for an object from an imported VDB in the scope of the importing VDB. All other updates must be made through the original VDB, but they will be visible in all imported VDBs. Even materialized views are separately maintained for an imported VDB in the scope of each importing VDB. Example 6.3. Example reuse VDB XML In the above example the reuse VDB will have access to all of the models defined in the common VDB and adds in the "new-model".
<vdb name="reuse" version="1"> <import-vdb name="common" version="1" import-data-policies="false"/> <model visible="true" type="VIRTUAL" name="new-model"> <metadata type = "DDL"><![CDATA[ CREATE VIEW x ( y varchar ) AS select * from old-model.tbl; ]]> </metadata> </model> </vdb>