DeferredLoading: Boolean;
DerreredLoading: boolean;
The DeferredLoading property determines whether the deferred loading of object description on working in the repository is Performed.
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:
First two levels of the repository tree level are to be loaded if the last selected object is not specified. If for the objects of the first level children objects are not found, the + character is removed next to the folder ot objects-containers.
Descriptors of this object with all parent objects and objects of the same level for each parent up to the root are loaded, if the last object is specified.
The loaded descriptions will be cached in memory.
NOTE. The property does not influence the objects for which the IMetabaseObjectDescritpor.IsDeferred attribute is set.
Executing the example requires that the repository manager contains a schema with the RepositoryP7 identifier. The type of the repository server supporting the deferred 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("PPRepository");
If (Def.DriverId <> "ORCL") And (Def.DriverId <> "MSSQL") Then
Def.DeferredLoading := True;
Def.Save;
End If;
End Sub UserProc;
Public Sub UserProc(Params: StartParams);
Var
MbMan: IMetabaseManager;
MAN: MetabaseManagerFactory = New MetabaseManagerFactoryClass();
Defs: IMetabaseDefinitions;
Def: IMetabaseDefinition;
Begin
MbMan := MAN.Active;
Defs := MbMan.Definitions;
Def := Defs.FindById("PPRepository");
If (Def.DriverId <> "ORCL") And (Def.DriverId <> "MSSQL") Then
Def.DeferredLoading := True;
Def.Save();
End If;
End Sub;
After executing the example for the specified description of the repository objects the label including the deferred loading of the repository descriptors will be set.
See also: