MariaDbGrammar
class MariaDbGrammar extends MySqlGrammar
Traits
Properties
| static protected array | $macros | The registered string macros. |
from Macroable |
| MySqlConnection | $connection | from MySqlGrammar | |
| protected string[] | $modifiers | The possible column modifiers. |
from MySqlGrammar |
| protected bool | $transactions | If this Grammar supports schema changes wrapped in a transaction. |
from Grammar |
| protected string[] | $fluentCommands | The commands to be executed outside of create or alter commands. |
from MySqlGrammar |
| protected string[] | $serials | The possible column serials. |
from MySqlGrammar |
Methods
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Wrap a table in keyword identifiers.
Wrap a table that has an alias.
Wrap the given JSON selector.
Convert an array of column names into a delimited string.
Get the appropriate query parameter place-holder for a value.
Escapes a value for safe SQL embedding.
Split the given JSON selector into the field and the optional path and wrap them separately.
Wrap the given JSON path.
Wrap the given JSON path segment.
Compile a drop database if exists command.
Compile the query to determine if the given table exists.
Compile the query to determine the tables.
Compile the query to determine the views.
Compile the query to determine the user-defined types.
Compile the query to determine the columns.
Compile the query to determine the indexes.
Compile the query to determine the foreign keys.
Compile the command to enable foreign key constraints.
Compile the command to disable foreign key constraints.
Compile a change column command into a series of SQL statements.
Add the column modifiers to the definition.
Get the command with a given name if it exists on the blueprint.
Determine if a command with a given name exists on the blueprint.
Format a value so that it can be used in "default" clauses.
Check if this Grammar supports schema changes wrapped in a transaction.
Compile the query to compare the schema.
Append the character set specifications to a command.
Append the engine specifications to a command.
Compile the auto-incrementing column starting values.
Compile a rename column command for legacy versions of MySQL.
Compile a drop table (if exists) command.
Compile a drop spatial index command.
Compile the SQL needed to drop all tables.
Compile the SQL needed to drop all views.
Get the SQL for a generated virtual column modifier.
Get the SQL for a generated stored column modifier.
Get the SQL for a character set column modifier.
Get the SQL for an "on update" column modifier.
Get the SQL for an auto-increment column modifier.
Details
in
Macroable at line 28
static void
macro(string $name, callable|object $macro)
Register a custom macro.
Boot-only. Macros persist in a static property for the worker lifetime and apply to every subsequent call on the macroable class.
in
Macroable at line 41
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
Boot-only. Delegates to macro() for each method; registered macros persist in a static property for the worker lifetime.
in
Macroable at line 57
static bool
hasMacro(string $name)
Check if macro is registered.
in
Macroable at line 68
static void
flushMacros()
Flush the existing macros.
Boot or tests only. Clears worker-wide macros; concurrent coroutines may resolve different methods depending on timing.
in
Macroable at line 78
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
in
Macroable at line 103
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
in
Grammar at line 24
__construct(Connection $connection)
Create a new grammar instance.
in
Grammar at line 35
array
wrapArray(array $values)
Wrap an array of values.
in
Grammar at line 384
string
wrapTable(Expression|string $table, string|null $prefix = null)
Wrap a table in keyword identifiers.
in
Grammar at line 395
string|int|float
wrap(Expression|string $value)
Wrap a value in keyword identifiers.
in
Grammar at line 101
protected string
wrapAliasedValue(string $value)
Wrap a value that has an alias.
in
Grammar at line 111
protected string
wrapAliasedTable(string $value, string|null $prefix = null)
Wrap a table that has an alias.
in
Grammar at line 125
protected string
wrapSegments(array $segments)
Wrap the given value segments.
in
MySqlGrammar at line 1149
protected string
wrapValue(string $value)
Wrap a single string in keyword identifiers.
at line 71
protected string
wrapJsonSelector(string $value)
Wrap the given JSON selector.
in
Grammar at line 159
protected bool
isJsonSelector(string $value)
Determine if the given string is a JSON selector.
in
Grammar at line 169
string
columnize(array $columns)
Convert an array of column names into a delimited string.
in
Grammar at line 177
string
parameterize(array $values)
Create query parameter place-holders for an array.
in
Grammar at line 185
string|int|float
parameter(mixed $value)
Get the appropriate query parameter place-holder for a value.
in
Grammar at line 195
string
quoteString(string|array $value)
Quote the given string literal.
in
Grammar at line 207
string
escape(string|float|int|bool|null $value, bool $binary = false)
Escapes a value for safe SQL embedding.
in
Grammar at line 215
bool
isExpression(mixed $value)
Determine if the given value is a raw expression.
in
Grammar at line 223
string|int|float
getValue(Expression|string|int|float $expression)
Transforms expressions to their scalar types.
in
Grammar at line 235
string
getDateFormat()
Get the format for database stored dates.
in
Grammar at line 246
static void
flushState()
Flush all static state.
in
CompilesJsonPaths at line 15
protected array
wrapJsonFieldAndPath(string $column)
Split the given JSON selector into the field and the optional path and wrap them separately.
in
CompilesJsonPaths at line 29
protected string
wrapJsonPath(string $value, string $delimiter = '->')
Wrap the given JSON path.
in
CompilesJsonPaths at line 43
protected string
wrapJsonPathSegment(string $segment)
Wrap the given JSON path segment.
in
MySqlGrammar at line 48
string
compileCreateDatabase(string $name)
Compile a create database command.
in
Grammar at line 54
string
compileDropDatabaseIfExists(string $name)
Compile a drop database if exists command.
in
MySqlGrammar at line 66
string
compileSchemas()
Compile the query to determine the schemas.
in
MySqlGrammar at line 76
string|null
compileTableExists(string|null $schema, string $table)
Compile the query to determine if the given table exists.
in
MySqlGrammar at line 89
string
compileTables(string|array|null $schema)
Compile the query to determine the tables.
in
MySqlGrammar at line 101
string
compileViews(string|array|null $schema)
Compile the query to determine the views.
in
Grammar at line 103
string
compileTypes(string|array|null $schema)
Compile the query to determine the user-defined types.
in
MySqlGrammar at line 124
string
compileColumns(string|null $schema, string $table)
Compile the query to determine the columns.
in
MySqlGrammar at line 141
string
compileIndexes(string|null $schema, string $table)
Compile the query to determine the indexes.
at line 56
string
compileVectorIndex(Blueprint $blueprint, Fluent $command)
Compile a vector index key command.
in
MySqlGrammar at line 156
string
compileForeignKeys(string|null $schema, string $table)
Compile the query to determine the foreign keys.
in
MySqlGrammar at line 583
string
compileEnableForeignKeyConstraints()
Compile the command to enable foreign key constraints.
in
MySqlGrammar at line 592
string
compileDisableForeignKeyConstraints()
Compile the command to disable foreign key constraints.
at line 13
array|string
compileRenameColumn(Blueprint $blueprint, Fluent $command)
Compile a rename column command.
in
MySqlGrammar at line 348
array|string
compileChange(Blueprint $blueprint, Fluent $command)
Compile a change column command into a series of SQL statements.
in
Grammar at line 184
string
compileFulltext(Blueprint $blueprint, Fluent $command)
Compile a fulltext index key command.
in
MySqlGrammar at line 504
string
compileDropFullText(Blueprint $blueprint, Fluent $command)
Compile a drop fulltext index command.
in
MySqlGrammar at line 520
string|null
compileForeign(Blueprint $blueprint, Fluent $command)
Compile a foreign key command.
in
MySqlGrammar at line 534
array|string|null
compileDropForeign(Blueprint $blueprint, Fluent $command)
Compile a drop foreign key command.
in
Grammar at line 248
protected array
getColumns(Blueprint $blueprint)
Compile the blueprint's added column definitions.
in
Grammar at line 264
protected string
getColumn(Blueprint $blueprint, Fluent $column)
Compile the column definition.
in
Grammar at line 277
protected string
getType(Fluent $column)
Get the SQL for the column data type.
in
MySqlGrammar at line 950
protected void
typeComputed(Fluent $column)
Create the column definition for a generated, computed column type.
in
MySqlGrammar at line 958
protected string
typeVector(Fluent $column)
Create the column definition for a vector type.
in
Grammar at line 301
protected string
typeTsvector(Fluent $column)
Create the column definition for a tsvector type.
in
Grammar at line 309
protected string
typeRaw(Fluent $column)
Create the column definition for a raw column type.
in
Grammar at line 317
protected string
addModifiers(string $sql, Blueprint $blueprint, Fluent $column)
Add the column modifiers to the definition.
in
Grammar at line 331
protected Fluent|null
getCommandByName(Blueprint $blueprint, string $name)
Get the command with a given name if it exists on the blueprint.
in
Grammar at line 347
protected array
getCommandsByName(Blueprint $blueprint, string $name)
Get all of the commands with a given name.
in
Grammar at line 357
protected bool
hasCommand(Blueprint $blueprint, string $name)
Determine if a command with a given name exists on the blueprint.
in
Grammar at line 374
array
prefixArray(string $prefix, array $values)
Add a prefix to an array of values.
in
Grammar at line 405
protected string|int|float
getDefaultValue(mixed $value)
Format a value so that it can be used in "default" clauses.
in
Grammar at line 425
array
getFluentCommands()
Get the fluent commands for the grammar.
in
Grammar at line 433
bool
supportsSchemaTransactions()
Check if this Grammar supports schema changes wrapped in a transaction.
in
MySqlGrammar at line 112
protected string
compileSchemaWhereClause(string|array|null $schema, string $column)
Compile the query to compare the schema.
in
MySqlGrammar at line 178
string
compileCreate(Blueprint $blueprint, Fluent $command)
Compile a create table command.
in
MySqlGrammar at line 202
protected string
compileCreateTable(Blueprint $blueprint, Fluent $command)
Create the main create table clause.
in
MySqlGrammar at line 227
protected string
compileCreateEncoding(string $sql, Blueprint $blueprint)
Append the character set specifications to a command.
in
MySqlGrammar at line 253
protected string
compileCreateEngine(string $sql, Blueprint $blueprint)
Append the engine specifications to a command.
in
MySqlGrammar at line 268
string
compileAdd(Blueprint $blueprint, Fluent $command)
Compile an add column command.
in
MySqlGrammar at line 282
string|null
compileAutoIncrementStartingValues(Blueprint $blueprint, Fluent $command)
Compile the auto-incrementing column starting values.
in
MySqlGrammar at line 309
protected string
compileLegacyRenameColumn(Blueprint $blueprint, Fluent $command)
Compile a rename column command for legacy versions of MySQL.
in
MySqlGrammar at line 378
string
compilePrimary(Blueprint $blueprint, Fluent $command)
Compile a primary key command.
in
MySqlGrammar at line 392
string
compileUnique(Blueprint $blueprint, Fluent $command)
Compile a unique key command.
in
MySqlGrammar at line 400
string
compileIndex(Blueprint $blueprint, Fluent $command)
Compile a plain index key command.
in
MySqlGrammar at line 408
string
compileFullText(Blueprint $blueprint, Fluent $command)
Compile a fulltext index key command.
in
MySqlGrammar at line 416
string
compileSpatialIndex(Blueprint $blueprint, Fluent $command)
Compile a spatial index key command.
in
MySqlGrammar at line 424
protected string
compileKey(Blueprint $blueprint, Fluent $command, string $type)
Compile an index creation command.
in
MySqlGrammar at line 440
string
compileDrop(Blueprint $blueprint, Fluent $command)
Compile a drop table command.
in
MySqlGrammar at line 448
string
compileDropIfExists(Blueprint $blueprint, Fluent $command)
Compile a drop table (if exists) command.
in
MySqlGrammar at line 456
string
compileDropColumn(Blueprint $blueprint, Fluent $command)
Compile a drop column command.
in
MySqlGrammar at line 476
string
compileDropPrimary(Blueprint $blueprint, Fluent $command)
Compile a drop primary key command.
in
MySqlGrammar at line 484
string
compileDropUnique(Blueprint $blueprint, Fluent $command)
Compile a drop unique key command.
in
MySqlGrammar at line 494
string
compileDropIndex(Blueprint $blueprint, Fluent $command)
Compile a drop index command.
in
MySqlGrammar at line 512
string
compileDropSpatialIndex(Blueprint $blueprint, Fluent $command)
Compile a drop spatial index command.
in
MySqlGrammar at line 544
string
compileRename(Blueprint $blueprint, Fluent $command)
Compile a rename table command.
in
MySqlGrammar at line 554
string
compileRenameIndex(Blueprint $blueprint, Fluent $command)
Compile a rename index command.
in
MySqlGrammar at line 567
string
compileDropAllTables(array $tables)
Compile the SQL needed to drop all tables.
in
MySqlGrammar at line 575
string
compileDropAllViews(array $views)
Compile the SQL needed to drop all views.
in
MySqlGrammar at line 601
string
compileTableComment(Blueprint $blueprint, Fluent $command)
Compile a table comment command.
in
MySqlGrammar at line 613
array
escapeNames(array $names)
Quote-escape the given tables, views, or types.
in
MySqlGrammar at line 624
protected string
typeChar(Fluent $column)
Create the column definition for a char type.
in
MySqlGrammar at line 632
protected string
typeString(Fluent $column)
Create the column definition for a string type.
in
MySqlGrammar at line 640
protected string
typeTinyText(Fluent $column)
Create the column definition for a tiny text type.
in
MySqlGrammar at line 648
protected string
typeText(Fluent $column)
Create the column definition for a text type.
in
MySqlGrammar at line 656
protected string
typeMediumText(Fluent $column)
Create the column definition for a medium text type.
in
MySqlGrammar at line 664
protected string
typeLongText(Fluent $column)
Create the column definition for a long text type.
in
MySqlGrammar at line 672
protected string
typeBigInteger(Fluent $column)
Create the column definition for a big integer type.
in
MySqlGrammar at line 680
protected string
typeInteger(Fluent $column)
Create the column definition for an integer type.
in
MySqlGrammar at line 688
protected string
typeMediumInteger(Fluent $column)
Create the column definition for a medium integer type.
in
MySqlGrammar at line 696
protected string
typeTinyInteger(Fluent $column)
Create the column definition for a tiny integer type.
in
MySqlGrammar at line 704
protected string
typeSmallInteger(Fluent $column)
Create the column definition for a small integer type.
in
MySqlGrammar at line 712
protected string
typeFloat(Fluent $column)
Create the column definition for a float type.
in
MySqlGrammar at line 724
protected string
typeDouble(Fluent $column)
Create the column definition for a double type.
in
MySqlGrammar at line 732
protected string
typeDecimal(Fluent $column)
Create the column definition for a decimal type.
in
MySqlGrammar at line 740
protected string
typeBoolean(Fluent $column)
Create the column definition for a boolean type.
in
MySqlGrammar at line 748
protected string
typeEnum(Fluent $column)
Create the column definition for an enumeration type.
in
MySqlGrammar at line 756
protected string
typeSet(Fluent $column)
Create the column definition for a set enumeration type.
in
MySqlGrammar at line 764
protected string
typeJson(Fluent $column)
Create the column definition for a json type.
in
MySqlGrammar at line 772
protected string
typeJsonb(Fluent $column)
Create the column definition for a jsonb type.
in
MySqlGrammar at line 780
protected string
typeDate(Fluent $column)
Create the column definition for a date type.
in
MySqlGrammar at line 797
protected string
typeDateTime(Fluent $column)
Create the column definition for a date-time type.
in
MySqlGrammar at line 815
protected string
typeDateTimeTz(Fluent $column)
Create the column definition for a date-time (with time zone) type.
in
MySqlGrammar at line 823
protected string
typeTime(Fluent $column)
Create the column definition for a time type.
in
MySqlGrammar at line 831
protected string
typeTimeTz(Fluent $column)
Create the column definition for a time (with time zone) type.
in
MySqlGrammar at line 839
protected string
typeTimestamp(Fluent $column)
Create the column definition for a timestamp type.
in
MySqlGrammar at line 857
protected string
typeTimestampTz(Fluent $column)
Create the column definition for a timestamp (with time zone) type.
in
MySqlGrammar at line 865
protected string
typeYear(Fluent $column)
Create the column definition for a year type.
in
MySqlGrammar at line 882
protected string
typeBinary(Fluent $column)
Create the column definition for a binary type.
at line 26
protected string
typeUuid(Fluent $column)
Create the column definition for a uuid type.
in
MySqlGrammar at line 902
protected string
typeIpAddress(Fluent $column)
Create the column definition for an IP address type.
in
MySqlGrammar at line 910
protected string
typeMacAddress(Fluent $column)
Create the column definition for a MAC address type.
at line 38
protected string
typeGeometry(Fluent $column)
Create the column definition for a spatial Geometry type.
in
MySqlGrammar at line 940
protected string
typeGeography(Fluent $column)
Create the column definition for a spatial Geography type.
in
MySqlGrammar at line 968
protected string|null
modifyVirtualAs(Blueprint $blueprint, Fluent $column)
Get the SQL for a generated virtual column modifier.
in
MySqlGrammar at line 988
protected string|null
modifyStoredAs(Blueprint $blueprint, Fluent $column)
Get the SQL for a generated stored column modifier.
in
MySqlGrammar at line 1008
protected string|null
modifyUnsigned(Blueprint $blueprint, Fluent $column)
Get the SQL for an unsigned column modifier.
in
MySqlGrammar at line 1020
protected string|null
modifyCharset(Blueprint $blueprint, Fluent $column)
Get the SQL for a character set column modifier.
in
MySqlGrammar at line 1032
protected string|null
modifyCollate(Blueprint $blueprint, Fluent $column)
Get the SQL for a collation column modifier.
in
MySqlGrammar at line 1044
protected string|null
modifyNullable(Blueprint $blueprint, Fluent $column)
Get the SQL for a nullable column modifier.
in
MySqlGrammar at line 1063
protected string|null
modifyInvisible(Blueprint $blueprint, Fluent $column)
Get the SQL for an invisible column modifier.
in
MySqlGrammar at line 1075
protected string|null
modifyDefault(Blueprint $blueprint, Fluent $column)
Get the SQL for a default column modifier.
in
MySqlGrammar at line 1087
protected string|null
modifyOnUpdate(Blueprint $blueprint, Fluent $column)
Get the SQL for an "on update" column modifier.
in
MySqlGrammar at line 1099
protected string|null
modifyIncrement(Blueprint $blueprint, Fluent $column)
Get the SQL for an auto-increment column modifier.
in
MySqlGrammar at line 1113
protected string|null
modifyFirst(Blueprint $blueprint, Fluent $column)
Get the SQL for a "first" column modifier.
in
MySqlGrammar at line 1125
protected string|null
modifyAfter(Blueprint $blueprint, Fluent $column)
Get the SQL for an "after" column modifier.
in
MySqlGrammar at line 1137
protected string|null
modifyComment(Blueprint $blueprint, Fluent $column)
Get the SQL for a "comment" column modifier.