DeferredLoading: Boolean;
The DeferredLoading property determines whether lazy loading of object descriptions when 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.
PostgreSQL.
SQLite.
To get supported DBMS version, see the Supported DBMS section.
If the property is set to True, on connecting the descriptions of only those objects will be loaded, which are required to work in the repository.
Loading of descriptors will be executed in the following order:
If the last selected object is not specified, the first two levels of the repository tree are loaded. If child objects are not found for the objects of the first level, the + character is removed next to the folder or container objects.
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 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 the selection including lazy loading of repository descriptors is set for the specified description of repository objects.
See also: