Класс PostgresCompiler
Отвечает за компиляцию объекта Query в его SQL-представление для Postgres
Краткое описание свойств
- $_deleteParts protected
array<string>Список узлов запроса, которые необходимо пройти для генерации оператора DELETE
- $_insertParts protected
array<string>Список узлов запроса, которые необходимо пройти для генерации оператора INSERT
- $_orderedUnion protected
boolУказывает, поддерживает ли этот диалект запросов упорядоченные объединения.
- $_quotedSelectAliases protected
boolВсегда заключать псевдонимы в SELECT-оператор в кавычки.
- $_selectParts protected
array<string>Список узлов запроса, которые необходимо пройти для генерации оператора SELECT
- $_templates protected
array<string, string>Список шаблонов sprintf, которые будут использоваться для компиляции SQL для данного запроса. Некоторые операторы могут быть построены как прямое конкатенация внутренних частей, они перечислены здесь.
- $_updateParts protected
array<string>Список узлов запроса, которые необходимо пройти для генерации оператора 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<string>$_insertParts protected
Список положений запроса для обхода при генерации оператора INSERT
Тип
array<string>$_orderedUnion protected
Указывает, поддерживает ли этот диалект запросов упорядоченные объединения.
Переопределяется в подклассах.
Тип
bool$_quotedSelectAliases protected
Всегда заключать псевдонимы в SELECT-оператор в кавычки.
Postgres автоматически преобразует не заключенные в кавычки идентификаторы в нижний регистр.
Тип
bool$_selectParts protected
Список положений запроса для обхода при генерации оператора SELECT
Тип
array<string>$_templates protected
Список шаблонов sprintf, которые будут использоваться для компиляции SQL для этого запроса. Некоторые предложения могут быть построены просто как прямое конкатенация внутренних частей, эти предложения перечислены здесь.
Тип
array<string, string>$_updateParts protected
Список положений запроса для обхода при генерации оператора UPDATE
Тип
array<string>
© 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.3/class-Cake.Database.PostgresCompiler.html