Extracting and Loading Package Schemas
You can extract an exported package (as .scm and .ddb
-
It was exported from a schema in the same database.
-
An exported package defined and extracted from another database has first been loaded into the current database.
If you attempt to load an extracted schema containing imported classes and features before the schema containing the export schema is loaded, the schema load reports an error. You must therefore take care when loading a schema containing an imported package that you first load the schema containing the exported package. However, when loading a multiple extract file that contains both a schema containing an export package and a schema that imports that package, the dependency is understood at the time the multiple extract is performed and the schema containing the exported package is loaded first.
You can avoid problems of this nature if you maintain the exported package as a separate schema file from the schema or schemas into which it is to be imported. A user of the imported schema should first load the schema into which the package is to be imported and then load the separate package schema file into that schema. (For details about extracting an exported package, see "Extracting a Package", later in this chapter.)
The extraction of patches handles the extraction of partial packages and the loading of schemas handles partial packages. The following rules apply to the extraction of partial packages.
-
A full extract of a package for a patch is performed when:
-
The package was created in that patch.
-
An exported class or interface was removed from the package in that patch.
-
Package options were updated (for example, changing the application).
In all other cases, a partial extract is performed.
-
-
A full extract of an exported class or interface for a patch is performed when:
-
The class or interface was added to the package in that patch.
-
The exported class options were changed in that patch.
-
A property, constant, or method belonging to the class was deleted in that patch.
In all other cases, a partial extract is performed.
-
-
There are no JADE command file (jcf) commands to handle partial packages.
To handle the extraction and loading of partial packages, patch control functionality now records changes to individual entities in the package. The patch control hook is therefore called for every entity that is added to the patch history when dealing with packages and patch control extensions are enabled.