platform/api/laravel/Database/Query/Grammars/MySqlGrammar.yaml

402 lines
8 KiB
YAML
Raw Normal View History

2024-09-02 17:44:11 +00:00
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: []