IInMemManager.GetCubes

Синтаксис

GetCubes(Mb: IMetabase; WithSettings: Boolean; WithCache: Boolean): IInMemCubes;

Параметры

Mb. Репозиторий, в котором осуществляется поиск;

WithSettings. Признак наличия у куба собственных настроек файлового кеша;

WithCache. Признак наличия у куба сформированного файлового кеша.

Описание

Метод GetCubes получает список кубов репозитория, для которых заданы собственные настройки файлового кеша или сформирован файловый кеш.

Комментарии

Значения параметров WithSettings и WithCache объединяются по логическому «ИЛИ»:

Пример

Для выполнения примера в репозитории предполагается наличие нескольких кубов с настройками файлового кеша. Сами кубы закешированы.

Добавьте ссылки на системные сборки: Cubes, Metabase.

Sub UserProc;
Var
    Mb: IMetabase;
    InMem: IInMemManager;
    Cubes: IInMemCubes;
    Cube:IInMemCube;
    Caches: IInMemCubeCaches;
    Cache: IInMemCubeCache;
    i: Integer;
Begin
     Mb := MetabaseClass.Active;
    // Инициализация менеджера для работы с кешем
    InMem := New InMemManager.Create;
    // Получение коллекции кешированных кубов репозитория
    Cubes := InMem.GetCubes(Mb, TrueTrue);
    // Получение куба и его записи кеша
    Cube := Cubes.Item(0);
    Caches := Cube.Caches;
    // Просмотр информации о записях кеша куба
    For i := 0 To Caches.Count - 1 Do
        Cache := Caches.Item(i);
        Debug.WriteLine("Наименование куба, для которого создана запись: " + Cache.Cube.Name);
        Debug.WriteLine("Повреждения записи кеша отсутствуют: " + Cache.CacheIsValid.ToString);
        Debug.WriteLine("Дата и время создания записи: " + Cache.Created.ToString);
        Debug.WriteLine("Ключ варианта отображения куба, для которого сформирован кеш" + Cache.DestinationKey.ToString);
        Debug.WriteLine("Используемый объём дискового пространства: " + Cache.DiskUsed.ToString);       
        Debug.WriteLine("Параметры имеют значения: " + Cache.HasParamValues.ToString);
        Debug.WriteLine("Запись сформирована по частичной отметке: " + Cache.HasPartialRestriction.ToString);
        Debug.WriteLine("Идентификатор записи кеша: " + Cache.Id);
        Debug.WriteLine("Тип блокировки записи кеша: " + Cache.LockType.ToString);
        Debug.WriteLine("Количество точек в кешированной матрице куба: "+ Cache.MatrixCount.ToString);
        Debug.WriteLine("Дата и время последнего обновления записи кеша: " + Cache.Updated.ToString);
    End For;
End Sub UserProc;

При выполнении примера в окно консоли будут выведены информация о записи куба.

См. также:

IInMemManager