Класс PostgresCompiler
Отвечает за компиляцию объекта Query в его SQL-представление для Postgres
Краткое описание свойств
- $_deleteParts protected
arrayСписок частей запроса для обработки при генерации оператора DELETE
- $_insertParts protected
arrayСписок частей запроса для обработки при генерации оператора INSERT
- $_orderedUnion protected
boolУказывает, поддерживает ли данный диалект SQL упорядоченные объединения.
- $_quotedSelectAliases protected
boolВсегда заключать псевдонимы в кавычки в операторе SELECT.
- $_selectParts protected
arrayСписок частей запроса для обработки при генерации оператора SELECT
- $_templates protected
arrayСписок шаблонов sprintf, которые будут использоваться для компиляции SQL для данного запроса. Некоторые части могут быть построены как непосредственное конкатенация внутренних частей, они перечислены здесь.
- $_updateParts protected
arrayСписок частей запроса для обработки при генерации оператора UPDATE
Краткое описание методов
-
_buildFromPart() protected
Вспомогательная функция для построения строки представления части FROM, она строит список таблиц, учитывая псевдонимы и преобразовывает объекты выражений в строки.
-
_buildHavingPart() protected
Вспомогательная функция для построения строки представления части HAVING, она строит список полей, учитывая псевдонимы и преобразовывает объекты выражений в строки.
-
_buildInsertPart() protected
Строит фрагмент SQL для INSERT INTO.
-
_buildJoinPart() protected
Вспомогательная функция для построения строки представления множественных частей JOIN, она строит список соединений, учитывая псевдонимы и преобразовывает объекты выражений в строки как для таблицы, которая должна быть присоединена, так и для условий, которые должны быть использованы.
-
_buildModifierPart() protected
Строит фрагмент SQL для модификаторов.
-
_buildSelectPart() protected
Вспомогательная функция для построения строки представления части SELECT, она строит список полей, учитывая псевдонимы и преобразовывает объекты выражений в строки. Эта функция также строит часть DISTINCT для запроса.
-
_buildSetPart() protected
Вспомогательная функция для генерации SQL для выражений SET.
-
_buildUnionPart() protected
Строит строку SQL для всех частей UNION в этом запросе. При работе с объектами запросов также преобразует их, используя настроенный диалект SQL.
-
_buildUpdatePart() protected
Строит фрагмент SQL для UPDATE.
-
_buildValuesPart() protected
Строит фрагмент SQL для INSERT INTO.
-
_buildWindowPart() protected
Вспомогательная функция для построения строки представления части окна.
-
_buildWithPart() protected
Вспомогательная функция для построения строки представления части
WITH, она строит список определений CTE и генерирует ключевое словоRECURSIVEпри необходимости. -
_sqlCompiler() protected
Возвращает вызываемый объект, который может быть использован для компиляции SQL-строкового представления этого запроса.
-
_stringifyExpressions() protected
Вспомогательная функция для преобразования объектов ExpressionInterface в массиве в их строковое представление.
-
compile() public
Возвращает SQL-представление предоставленного запроса после генерации заглушек для связанных значений с помощью предоставленного генератора.
Подробное описание методов
_buildFromPart() protected
_buildFromPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления части FROM, она строит список таблиц, учитывая алиасы и преобразуя объекты выражений в строки.
Параметры
-
array$parts список таблиц, которые нужно преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
string_buildHavingPart() protected
_buildHavingPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления части HAVING, она строит список полей, учитывая алиасы и преобразуя объекты выражений в строки.
Параметры
-
array$parts список полей, которые нужно преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
string_buildInsertPart() protected
_buildInsertPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит фрагмент SQL для INSERT INTO.
Параметры
-
array$parts Части вставки.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
string_buildJoinPart() protected
_buildJoinPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления нескольких условий JOIN, она строит список объединений, учитывая алиасы и преобразуя объекты выражений в строки как для таблиц, так и для условий.
Параметры
-
array$parts список объединений, которые нужно преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
string_buildModifierPart() protected
_buildModifierPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит фрагмент SQL модификатора.
Параметры
-
array$parts Части модификатора запроса.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
string_buildSelectPart() protected
_buildSelectPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления части SELECT, она строит список полей, учитывая алиасы и преобразуя объекты выражений в строки. Эта функция также строит условие DISTINCT для запроса.
Параметры
-
array$parts список полей, которые нужно преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
string_buildSetPart() protected
_buildSetPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для генерации SQL для выражений SET.
Параметры
-
array$parts Список пар ключ-значение для установки.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
string_buildUnionPart() protected
_buildUnionPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит строку SQL для всех условий UNION в этом запросе. При работе с объектами запроса также преобразует их, используя их конфигурированный диалект SQL.
Параметры
-
array$parts список запросов, которые нужно объединить с помощью UNION
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
string_buildUpdatePart() protected
_buildUpdatePart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит фрагмент SQL для UPDATE.
Параметры
-
array$parts Части обновления.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
string_buildValuesPart() protected
_buildValuesPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Строит фрагмент SQL для INSERT INTO.
Параметры
-
array$parts Части значений.
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
string_buildWindowPart() protected
_buildWindowPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления части окна.
Параметры
-
array$parts Список окон, которые нужно преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
string_buildWithPart() protected
_buildWithPart(array $parts, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Вспомогательная функция для построения строкового представления части WITH, она строит список определений CTE и генерирует ключевое слово RECURSIVE при необходимости.
Параметры
-
array$parts Список CTE, которые нужно преобразовать в строку
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
string_sqlCompiler() protected
_sqlCompiler(string $sql, Cake\Database\Query $query, Cake\Database\ValueBinder $binder): Closure
Возвращает вызываемый объект, который может использоваться для компиляции строкового представления SQL этого запроса.
Параметры
-
string$sql начальная строка sql, которая будет добавлена
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
Возвращаемое значение
Closure_stringifyExpressions() protected
_stringifyExpressions(array $expressions, Cake\Database\ValueBinder $binder, bool $wrap = true): array
Вспомогательная функция для преобразования объектов ExpressionInterface в массиве в их строковое представление.
Параметры
-
array$expressions список строк и объектов ExpressionInterface
-
Cake\Database\ValueBinder$binder Используемый для генерации заполнитель параметров связующий объект.
-
bool$wrap optional Указывает, нужно ли заключать каждый объект выражения в скобки
Возвращаемое значение
arraycompile() public
compile(Cake\Database\Query $query, Cake\Database\ValueBinder $binder): string
Возвращает SQL представление запроса после генерации заготовок для связанных значений с использованием предоставленного генератора
Параметры
-
Cake\Database\Query$query Запрос, который компилируется
-
Cake\Database\ValueBinder$binder Обработчик значений, используемый для генерации заготовок параметров
Возвращает
stringПодробное описание свойств
$_deleteParts protected
Список разделов запроса для обхода при генерации оператора DELETE
Тип
array$_insertParts protected
Список разделов запроса для обхода при генерации оператора INSERT
Тип
array$_orderedUnion protected
Указывает, поддерживает ли этот диалект запросов упорядоченные объединения.
Переопределяется в дочерних классах.
Тип
bool$_quotedSelectAliases protected
Всегда заключать псевдонимы в SELECT-запросе в кавычки.
Postgres автоматически преобразует не заключенные в кавычки идентификаторы в нижний регистр.
Тип
bool$_selectParts protected
Список разделов запроса для обхода при генерации оператора SELECT
Тип
array$_templates protected
Список шаблонов sprintf, которые будут использоваться для компиляции SQL для этого запроса. Есть некоторые разделы, которые могут быть построены как просто прямое конкатенация внутренних частей, эти разделы перечислены здесь.
Тип
array$_updateParts protected
Список разделов запроса для обхода при генерации оператора UPDATE
Тип
array
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Database.PostgresCompiler.html