DeferredLoading: Boolean;
The DeferredLoading property determines whether the lazy loading of object descriptions on working in the repository is executed.
The property is available for use if on the server where the repository is located, one of the following DBMS is used:
Oracle.
Microsoft SQL.
Ole DB;
Teradata;
PostgreSQL;
SQLite.
To get supported DBMS version, see theSupported DBMS section.
If the property has the True value then on connecting the descriptions of only those objects will be loaded which are required to work in the repository.
Loading of descriptors will be performed in the following order:
If the last selected object is not specified, the first two levels of the repository tree level are loaded. If for the objects of the first level children objects are not found, the + character is removed next to the folder ot objects-containers.
If the last selected object is specified, descriptors of this object with all parent objects and objects of the same level for each parent up to the root are loaded.
The loaded descriptions will be cached in memory.
NOTE. The property does not affect the objects, for which the IMetabaseObjectDescritpor.IsDeferred attribute is set.
Executing the example requires that the repository manager contains a schema with the WAREHOUSE identifier. The type of the repository server supporting the lazy loading of descriptors must be selected.
Add a link to the Metabase system assembly.
Sub UserProc;
Var
MAN: IMetabaseManager;
Defs: IMetabaseDefinitions;
Def: IMetabaseDefinition;
Begin
MAN := MetabaseManagerFactory.Active;
Defs := MAN.Definitions;
Def := Defs.FindById("Warehouse");
If (Def.DriverId <> "ORCL") And (Def.DriverId <> "MSSQL") Then
Def.DeferredLoading := True;
Def.Save;
End If;
End Sub UserProc;
After executing the example for the specified description of the repository objects the label including the lazy loading of repository descriptors will be set.
See also: