Класс SqliteCompiler
Отвечает за компиляцию объекта запроса в его SQL-представление для SQLite
Краткое описание свойств
- $_deleteParts protected
array<string>Список положений запроса для обработки при генерации оператора DELETE
- $_insertParts protected
array<string>Список положений запроса для обработки при генерации оператора INSERT
- $_orderedUnion protected
boolSQLite не поддерживает ORDER BY в запросах UNION.
- $_quotedSelectAliases protected
boolУказывает, нужно ли всегда заключать псевдонимы в SELECT-оператор в кавычки.
- $_selectParts protected
array<string>Список положений запроса для обработки при генерации оператора SELECT
- $_templates protected
array<string, string>Список шаблонов sprintf, которые будут использоваться для компиляции SQL для этого запроса. Некоторые предложения могут быть построены просто как прямое конкатенация внутренних частей, они перечислены здесь.
- $_updateParts protected
array<string>Список положений запроса для обработки при генерации оператора UPDATE
Краткое описание методов
-
_buildFromPart() protected
Вспомогательная функция для построения строкового представления предложения FROM, она строит список таблиц, учитывая алиасы и перевод объектов выражений в строки.
-
_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_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
SQLite не поддерживает ORDER BY в запросах UNION.
Переопределяется в дочерних классах.
Тип
bool$_quotedSelectAliases protected
Указывают, необходимо ли всегда заключать псевдонимы в SELECT-запросе в кавычки.
Тип
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.SqliteCompiler.html