×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

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

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

2.5.21. Псевдотипы

Тип Digital Q.DataBase система типов содержит ряд элементов специального назначения, которые в совокупности называются псевдотипы. Псевдотип не может быть использован в качестве типа данных столбца, но может применяться для объявления типа аргумента или результата функции. Каждый из доступных псевдотипов полезен в ситуациях, когда поведение функции не сводится к простому приему или возврату значения определенного SQL типа данных. Таблица 2.5.27 содержит перечень существующих псевдотипов.

Таблица 2.5.27. Псевдотипы

ИмяОписание
любойУказывает на то, что функция принимает любой входной тип данных.
anyelementУказывает на то, что функция принимает любой тип данных (см. Раздел 5.1.2.5).
anyarrayУказывает на то, что функция принимает любой тип данных «массив» (см. Раздел 5.1.2.5).
anynonarrayУказывает на то, что функция принимает любой тип данных, отличный от массива (см. Раздел 5.1.2.5).
anyenumУказывает на то, что функция принимает любой перечислимый тип данных (см. Раздел 5.1.2.5 и Раздел 2.5.7).
anyrangeУказывает на то, что функция принимает любой диапазонный тип данных (см. Раздел 5.1.2.5 и Раздел 2.5.17).
anymultirangeУказывает на то, что функция принимает любой мультидиапазонный тип данных (см. Раздел 5.1.2.5 и Раздел 2.5.17).
anycompatibleУказывает на то, что функция принимает любой тип данных, с автоматическим приведением нескольких аргументов к общему типу данных (см. Раздел 5.1.2.5).
anycompatiblearrayУказывает на то, что функция принимает любой тип данных «массив», с автоматическим приведением нескольких аргументов к общему типу данных (см. Раздел 5.1.2.5).
anycompatiblenonarrayУказывает на то, что функция принимает любой тип данных, отличный от массива, с автоматическим приведением нескольких аргументов к общему типу данных (см. Раздел 5.1.2.5).
anycompatiblerangeУказывает на то, что функция принимает любой диапазонный тип данных, с автоматическим приведением нескольких аргументов к общему типу данных (см. Раздел 5.1.2.5 и Раздел 2.5.17).
anycompatiblemultirangeУказывает на то, что функция принимает любой мультидиапазонный тип данных, с автоматическим приведением нескольких аргументов к общему типу данных (см. Раздел 5.1.2.5 и Раздел 2.5.17).
cstringУказывает на то, что функция принимает или возвращает C-строку с завершающим нулем.
internalУказывает на то, что функция принимает или возвращает внутренний тип данных сервера.
language_handlerОбработчик вызова процедурного языка объявляется как возвращающий language_handler.
fdw_handlerУказывает, что обработчик обертки сторонних данных возвращает тип fdw_handler.
table_am_handlerУказывает, что обработчик метода доступа к таблице возвращает тип table_am_handler.
index_am_handlerУказывает, что обработчик метода доступа к индексу возвращает тип index_am_handler.
tsm_handlerУказывает, что обработчик метода выборки данных (tablesample) возвращает тип tsm_handler.
recordИдентификация функции, принимающей или возвращающей неопределенный тип строки.
triggerУказывает, что триггерная функция возвращает тип trigger.
event_triggerУказывает, что функция триггера событий возвращает тип event_trigger.
pg_ddl_commandИдентификация представления DDL-команд, доступного для триггеров событий.
voidПризнак того, что функция не возвращает значения.
unknownИдентификация еще не разрешенного типа, например, для нетипизированного строкового литерала.

Функции, написанные на языке C (как встроенные, так и динамически загружаемые), могут быть объявлены как принимающие или возвращающие любые из этих псевдотипов. Обеспечение безопасной работы функции при использовании псевдотипа в качестве типа аргумента является обязанностью автора функции.

Использование псевдотипов в функциях на процедурных языках допускается только в пределах, определенных соответствующими языками реализации. В настоящее время большинство процедурных языков запрещают использование псевдотипа в качестве типа аргумента и допускают его использование только void и record в качестве типа результата (а также в случаях, trigger или event_trigger когда функция используется в качестве триггера или триггера событий). Некоторые из них также поддерживают полиморфные функции, использующие полиморфные псевдотипы, которые приведены выше и подробно описаны в Раздел 5.1.2.5.

Тип internal псевдотип используется для объявления функций, которые предназначены только для внутреннего вызова средствами системы базы данных, а не для прямого вызова в SQL запросе. Если функция имеет хотя бы один internalаргумент соответствующего типа, то её нельзя вызвать из SQL. Для обеспечения типобезопасности данного ограничения важно соблюдать следующее правило разработки: не создавайте функции, объявленные с возвращаемым типом internal если у них нет хотя бы одного internal аргумента.

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению