IPrimaryPostgresSPLD.ServerCursorsDisabled

Синтаксис

ServerCursorsDisabled: Boolean;

Описание

Свойство ServerCursorsDisabled определяет признак отключения использования серверных курсоров при выполнении запросов.

Комментарии

Серверные курсоры - это объекты, которые позволяют последовательно извлекать данные из результатов запросов, не перегружая память.

Свойство ServerCursorsDisabled влияет на работу только баз данных и реляционных объектов, создаваемых в репозитории. Системные запросы, формируемые ядром платформы, всегда используют серверные курсоры. По умолчанию свойству установлено значение False, при этом для извлечения данных в СУБД отправляется запрос с использованием серверного курсора, например:

SQL: DECLARE C1 CURSOR WITH HOLD FOR select a.ID,a.NAME from T_DATA a

SQL: FETCH FORWARD 10000 FROM C1

SQL: CLOSE C1

При установке свойству ServerCursorsDisabled значения True серверные курсоры использоваться не будут, отправляемый запрос будет иметь вид:

SQL: select a.ID,a.NAME from T_DATA a

Пример

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

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

Sub UserProc;
Var
    Mb: IMetabase;
    Db: IDatabase;
    LogonData: IPrimaryPostgresSPLD;
Begin
    Mb := MetabaseClass.Active;
    Db := Mb.ItemById("DB_TEST").Edit As IDatabase;
    LogonData := Db.LogonData As IPrimaryPostgresSPLD;
    // Выключение серверных курсоров
    LogonData.ServerCursorsDisabled := True;
    // Сохранение изменений 
    (Db As IMetabaseObject).Save;
End Sub UserProc;

При выполнении примера в указанной базе данных будет отключена возможность использования серверных курсоров.

См. также:

IPrimaryPostgresSPLD