Online Documentation for SQL Manager for PostgreSQL

Определение функции


Основные параметры функции задайте на вкладке Function редактора функций.

 

Name

Укажите название функции. Из раскрывающегося списка выберите название схемы, которой эта функция будет принадлежать.

Function Editor - Editing function definition

Тип возвращаемого значения выберите в разделе Returns.

RadioButton Single value - функция возвращает одно значение.

RadioButton Set of values - функция возвращает набор значений.

RadioButton Table - таблицу. Столбцы возвращаемой таблицы необходимо указать в поле Return table.

RadioButton Nothing - функция возвращает void.

RadioButton Trigger - триггер.

Из раскрывающегося списка Return Type необходимо выбрать тип возвращаемого значения.

 

В списке Arguments указываются аргументы функции.

Работать с ними позволяет контекстное меню, которое появляется при нажатии правой кнопкой мыши на список аргументов.

 

iconPlus Add Argument - добавить аргумент в список.

iconMinus Delete Argument - удалить аргумент.

btnArrowUp Move Up - переместить на одну позицию вверх.

btnArrowDown Move Down - переместить вниз на одну позицию.

 

Для аргумента в списке можно задать:

Name - имя.

Type - тип данных, выбрать из списка.

Mode - тип параметра (in - входной, out - выходной, in/out - входной и выходной).

 

Language

Выберите язык программирования, применяемый для выполнения функции.

 

CheckBox Returns null on null input

Функция будет возвращать значение NULL, если хотя бы один входной параметр будет иметь значение NULL.

 

CheckBox Execute with definer's privileges

Функция при выполнении будет обладать правами того пользователя, который ее создал. Если флаг не установлен — то правами пользователя, который ее вызывает.

 

CheckBox Is window function

При включенной опции создается оконная функция. Она выполняет вычисления над списком строк в таблице, которые как-то относятся к текущей строке. В отличие от обычных агрегатных функций, использование оконной функции не заставляет строки группироваться в одну; строки сохраняют свои отдельные значения.

 

CheckBox Is leakproof function

Установите флаг для создания "герметичной" функции.

 

Optimization

Выберите поведение функции:

IMMUTABLE (постоянная) показывает, что функция если заданы одни и те же аргументы, то функция будет возвращать одни и те же результаты.

STABLE (стабильная) показывает, что внутри транзакции функция будет возвращать одни и те же результаты при одних

VOLATILE (изменчивая) показывает, что значение функции может меняться при задании одних и тех же аргументов.

 

Parallel

Укажите, может ли функция выполнятся в параллельном режиме.

UNSAFE — функцию нельзя выполнять параллельном режиме.

RESTRICTED — функцию можно выполнять в параллельном режиме, но только в ведущем процессе группы.

SAFE —  функция безопасна для выполнения в параллельном режиме без ограничений.

 

Planner options

Эти опции доступны только на сервере 8.3 и выше. Укажите необходимые числовые значения стоимости выполнения функции Estimated execution cost и примерное количество строк Estimated number of rows.

 

В редакторе Definition задается тело функции.

 

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

Для удобства работы с текстом функции осуществляется syntax highlight - подсветка синтаксиса и code folding - возможность задать иерархическую структуру текста с возможностью скрывать подобъекты. С помощью макросов можно записать и воспроизвести некоторые действия.

 

Для выполнения функции необходимо нажать кнопку btnExecuteQuery Execute на одной из панелей инструментов.