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;
При выполнении примера в указанной базе данных будет отключена возможность использования серверных курсоров.
См. также: