401 lines
8 KiB
YAML
401 lines
8 KiB
YAML
name: MySqlGrammar
|
|
class_comment: null
|
|
dependencies:
|
|
- name: Builder
|
|
type: class
|
|
source: Illuminate\Database\Query\Builder
|
|
- name: JoinLateralClause
|
|
type: class
|
|
source: Illuminate\Database\Query\JoinLateralClause
|
|
- name: Str
|
|
type: class
|
|
source: Illuminate\Support\Str
|
|
properties:
|
|
- name: operators
|
|
visibility: protected
|
|
comment: '# * The grammar specific operators.
|
|
|
|
# *
|
|
|
|
# * @var string[]'
|
|
methods:
|
|
- name: whereNull
|
|
visibility: protected
|
|
parameters:
|
|
- name: query
|
|
- name: where
|
|
comment: "# * The grammar specific operators.\n# *\n# * @var string[]\n# */\n# protected\
|
|
\ $operators = ['sounds like'];\n# \n# /**\n# * Add a \"where null\" clause to\
|
|
\ the query.\n# *\n# * @param \\Illuminate\\Database\\Query\\Builder $query\n\
|
|
# * @param array $where\n# * @return string"
|
|
- name: whereNotNull
|
|
visibility: protected
|
|
parameters:
|
|
- name: query
|
|
- name: where
|
|
comment: '# * Add a "where not null" clause to the query.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @param array $where
|
|
|
|
# * @return string'
|
|
- name: whereFullText
|
|
visibility: public
|
|
parameters:
|
|
- name: query
|
|
- name: where
|
|
comment: '# * Compile a "where fulltext" clause.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @param array $where
|
|
|
|
# * @return string'
|
|
- name: compileIndexHint
|
|
visibility: protected
|
|
parameters:
|
|
- name: query
|
|
- name: indexHint
|
|
comment: '# * Compile the index hints for the query.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @param \Illuminate\Database\Query\IndexHint $indexHint
|
|
|
|
# * @return string'
|
|
- name: compileGroupLimit
|
|
visibility: protected
|
|
parameters:
|
|
- name: query
|
|
comment: '# * Compile a group limit clause.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @return string'
|
|
- name: useLegacyGroupLimit
|
|
visibility: public
|
|
parameters:
|
|
- name: query
|
|
comment: '# * Determine whether to use a legacy group limit clause for MySQL < 8.0.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @return bool'
|
|
- name: compileLegacyGroupLimit
|
|
visibility: protected
|
|
parameters:
|
|
- name: query
|
|
comment: '# * Compile a group limit clause for MySQL < 8.0.
|
|
|
|
# *
|
|
|
|
# * Derived from https://softonsofa.com/tweaking-eloquent-relations-how-to-get-n-related-models-per-parent/.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @return string'
|
|
- name: compileInsertOrIgnore
|
|
visibility: public
|
|
parameters:
|
|
- name: query
|
|
- name: values
|
|
comment: '# * Compile an insert ignore statement into SQL.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @param array $values
|
|
|
|
# * @return string'
|
|
- name: compileInsertOrIgnoreUsing
|
|
visibility: public
|
|
parameters:
|
|
- name: query
|
|
- name: columns
|
|
- name: sql
|
|
comment: '# * Compile an insert ignore statement using a subquery into SQL.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @param array $columns
|
|
|
|
# * @param string $sql
|
|
|
|
# * @return string'
|
|
- name: compileJsonContains
|
|
visibility: protected
|
|
parameters:
|
|
- name: column
|
|
- name: value
|
|
comment: '# * Compile a "JSON contains" statement into SQL.
|
|
|
|
# *
|
|
|
|
# * @param string $column
|
|
|
|
# * @param string $value
|
|
|
|
# * @return string'
|
|
- name: compileJsonOverlaps
|
|
visibility: protected
|
|
parameters:
|
|
- name: column
|
|
- name: value
|
|
comment: '# * Compile a "JSON overlaps" statement into SQL.
|
|
|
|
# *
|
|
|
|
# * @param string $column
|
|
|
|
# * @param string $value
|
|
|
|
# * @return string'
|
|
- name: compileJsonContainsKey
|
|
visibility: protected
|
|
parameters:
|
|
- name: column
|
|
comment: '# * Compile a "JSON contains key" statement into SQL.
|
|
|
|
# *
|
|
|
|
# * @param string $column
|
|
|
|
# * @return string'
|
|
- name: compileJsonLength
|
|
visibility: protected
|
|
parameters:
|
|
- name: column
|
|
- name: operator
|
|
- name: value
|
|
comment: '# * Compile a "JSON length" statement into SQL.
|
|
|
|
# *
|
|
|
|
# * @param string $column
|
|
|
|
# * @param string $operator
|
|
|
|
# * @param string $value
|
|
|
|
# * @return string'
|
|
- name: compileJsonValueCast
|
|
visibility: public
|
|
parameters:
|
|
- name: value
|
|
comment: '# * Compile a "JSON value cast" statement into SQL.
|
|
|
|
# *
|
|
|
|
# * @param string $value
|
|
|
|
# * @return string'
|
|
- name: compileRandom
|
|
visibility: public
|
|
parameters:
|
|
- name: seed
|
|
comment: '# * Compile the random statement into SQL.
|
|
|
|
# *
|
|
|
|
# * @param string|int $seed
|
|
|
|
# * @return string'
|
|
- name: compileLock
|
|
visibility: protected
|
|
parameters:
|
|
- name: query
|
|
- name: value
|
|
comment: '# * Compile the lock into SQL.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @param bool|string $value
|
|
|
|
# * @return string'
|
|
- name: compileInsert
|
|
visibility: public
|
|
parameters:
|
|
- name: query
|
|
- name: values
|
|
comment: '# * Compile an insert statement into SQL.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @param array $values
|
|
|
|
# * @return string'
|
|
- name: compileUpdateColumns
|
|
visibility: protected
|
|
parameters:
|
|
- name: query
|
|
- name: values
|
|
comment: '# * Compile the columns for an update statement.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @param array $values
|
|
|
|
# * @return string'
|
|
- name: compileUpsert
|
|
visibility: public
|
|
parameters:
|
|
- name: query
|
|
- name: values
|
|
- name: uniqueBy
|
|
- name: update
|
|
comment: '# * Compile an "upsert" statement into SQL.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @param array $values
|
|
|
|
# * @param array $uniqueBy
|
|
|
|
# * @param array $update
|
|
|
|
# * @return string'
|
|
- name: compileJoinLateral
|
|
visibility: public
|
|
parameters:
|
|
- name: join
|
|
- name: expression
|
|
comment: '# * Compile a "lateral join" clause.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\JoinLateralClause $join
|
|
|
|
# * @param string $expression
|
|
|
|
# * @return string'
|
|
- name: compileJsonUpdateColumn
|
|
visibility: protected
|
|
parameters:
|
|
- name: key
|
|
- name: value
|
|
comment: '# * Prepare a JSON column being updated using the JSON_SET function.
|
|
|
|
# *
|
|
|
|
# * @param string $key
|
|
|
|
# * @param mixed $value
|
|
|
|
# * @return string'
|
|
- name: compileUpdateWithoutJoins
|
|
visibility: protected
|
|
parameters:
|
|
- name: query
|
|
- name: table
|
|
- name: columns
|
|
- name: where
|
|
comment: '# * Compile an update statement without joins into SQL.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @param string $table
|
|
|
|
# * @param string $columns
|
|
|
|
# * @param string $where
|
|
|
|
# * @return string'
|
|
- name: prepareBindingsForUpdate
|
|
visibility: public
|
|
parameters:
|
|
- name: bindings
|
|
- name: values
|
|
comment: '# * Prepare the bindings for an update statement.
|
|
|
|
# *
|
|
|
|
# * Booleans, integers, and doubles are inserted into JSON updates as raw values.
|
|
|
|
# *
|
|
|
|
# * @param array $bindings
|
|
|
|
# * @param array $values
|
|
|
|
# * @return array'
|
|
- name: compileDeleteWithoutJoins
|
|
visibility: protected
|
|
parameters:
|
|
- name: query
|
|
- name: table
|
|
- name: where
|
|
comment: '# * Compile a delete query that does not use joins.
|
|
|
|
# *
|
|
|
|
# * @param \Illuminate\Database\Query\Builder $query
|
|
|
|
# * @param string $table
|
|
|
|
# * @param string $where
|
|
|
|
# * @return string'
|
|
- name: wrapValue
|
|
visibility: protected
|
|
parameters:
|
|
- name: value
|
|
comment: '# * Wrap a single string in keyword identifiers.
|
|
|
|
# *
|
|
|
|
# * @param string $value
|
|
|
|
# * @return string'
|
|
- name: wrapJsonSelector
|
|
visibility: protected
|
|
parameters:
|
|
- name: value
|
|
comment: '# * Wrap the given JSON selector.
|
|
|
|
# *
|
|
|
|
# * @param string $value
|
|
|
|
# * @return string'
|
|
- name: wrapJsonBooleanSelector
|
|
visibility: protected
|
|
parameters:
|
|
- name: value
|
|
comment: '# * Wrap the given JSON selector for boolean values.
|
|
|
|
# *
|
|
|
|
# * @param string $value
|
|
|
|
# * @return string'
|
|
traits:
|
|
- Illuminate\Database\Query\Builder
|
|
- Illuminate\Database\Query\JoinLateralClause
|
|
- Illuminate\Support\Str
|
|
interfaces: []
|