Расширение SQL
В следующих разделах мы рассмотрим, как можно расширить язык запросов SQL в QHB посредством добавления:
- функций (начиная с раздела Пользовательские функции)
- агрегатов (начиная с раздела Пользовательские агрегаты)
- типов данных (начиная с раздела Пользовательские типы)
- операторов (начиная с раздела Пользовательские операторы)
- классов операторов для индексов (начиная с раздела Интерфейсные расширения для индексов)
- пакетов связанных объектов (начиная с раздела Упаковка связанных объектов в расширение)
Содержание
- Как работает расширяемость
- Система типов QHB
- Пользовательские функции
- Пользовательские процедуры
- Функции на языке запросов (SQL)
- Аргументы для функций SQL
- Функции SQL c базовыми типами
- Функции SQL с составными типами
- Функции SQL с выходными параметрами
- Процедуры SQL с выходными параметрами
- Функции SQL с переменным числом аргументов
- Функции SQL со значениями аргументов по умолчанию
- Функции SQL как источники таблиц
- Функции SQL, возвращающие множества
- Функции SQL, возвращающие таблицы
- Полиморфные функции SQL
- Функции SQL с правилами сортировки
- Перегрузка функций
- Категории изменчивости функций
- Функции на процедурном языке
- Внутренние функции
- Функции на нативном языке
- Динамическая загрузка
- Базовые типы в функциях на нативном языке
- Соглашение о вызовах версии 1
- Написание кода
- Компиляция и связывание динамически загружаемых функций
- Аргументы составного типа
- Возврат строк (составных типов)
- Возврат множеств
- Полиморфные аргументы и возвращаемые типы
- Разделяемая память и легкие блокировки
- Использование C++ для расширяемости
- Информация по оптимизации функций
- Пользовательские агрегаты
- Пользовательские типы
- Пользовательские операторы
- Информация по оптимизации операторов
- Интерфейсные расширения для индексов
- Упаковка связанных объектов в расширение
- Инфраструктура сборки расширений