Schema
API reference › yii › db › Schema
5 subclasses
Schema is the base class for concrete DBMS-specific schema classes.
Schema represents the database schema information that is DBMS specific.
Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$columnSchemaClass | class-string<yii\ | Column schema class or class config Default: 'yii\. Available since 2.0.11. | Schema |
$db | Connection | The database connection Default: null. | Schema |
$defaultSchema | string | The default schema name used for the current session. Default: null. | Schema |
$exceptionMap | array | Map of DB errors and corresponding exceptions If left part is found in DB error message exception class from the right part is used. Default: ['SQLSTATE[23' => 'yii\. | Schema |
$lastInsertID read-only | string | The row ID of the last row inserted, or the last value retrieved from the sequence object. | Schema |
$queryBuilder read-only | yii\ | The query builder for this connection. | Schema |
$schemaNames read-only | string[] | All schema names in the database, except system schemas. | Schema |
$serverVersion read-only | string | Server version as a string. | Schema |
$systemSchemaNames | list<string> | List of schema names that should be excluded from getSchemaNames(). Default: []. | Schema |
$tableNames read-only | string[] | All table names in the database. | Schema |
$tableSchemas read-only | TableSchema[] | The metadata for all tables in the database. | Schema |
$transactionIsolationLevel write-only | string | The transaction isolation level to use for this transaction. | Schema |
$columnQuoteCharacter protected | string| | Character used to quote column names. Default: '"'. Available since 2.0.14. | Schema |
$tableQuoteCharacter protected | string| | Character used to quote schema, table, etc. names. Default: "'". Available since 2.0.14. | Schema |
Methods
Section titled “Methods”| Method | Description | Defined by |
|---|---|---|
__construct() | Constructor. | yii\ |
__call() | Calls the named method which is not a class method. | yii\ |
__get() | Returns the value of an object property. | yii\ |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\ |
__set() | Sets value of an object property. | yii\ |
__unset() | Sets an object property to null. | yii\ |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\ |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\ |
className() static | Returns the fully qualified name of this class. | yii\ |
convertException() | Converts a DB exception to a more concrete one if possible. | Schema |
createColumnSchemaBuilder() | Create a column schema builder instance giving the type and value precision. | Schema |
createQueryBuilder() | Creates a query builder for the database. | Schema |
createSavepoint() | Creates a new savepoint. | Schema |
findUniqueIndexes() | Returns all unique indexes for the given table. | Schema |
getLastInsertID() | Returns the ID of the last inserted row or sequence value. | Schema |
getPdoType() | Determines the PDO type for the given PHP data value. | Schema |
getQueryBuilder() | Schema | |
getRawTableName() | Returns the actual name of a given table name. | Schema |
getSchemaNames() | Returns all schema names in the database, except system schemas. | Schema |
getServerVersion() | Returns a server version as a string comparable by version_compare(). | Schema |
getTableNames() | Returns all table names in the database. | Schema |
getTableSchema() | Obtains the metadata for the named table. | Schema |
getTableSchemas() | Returns the metadata for all tables in the database. | Schema |
hasMethod() | Returns a value indicating whether a method is defined. | yii\ |
hasProperty() | Returns a value indicating whether a property is defined. | yii\ |
init() | Initializes the object. | yii\ |
insert() | Executes the INSERT command, returning primary key values. | Schema |
isReadQuery() | Returns a value indicating whether a SQL statement is for read purpose. | Schema |
quoteColumnName() | Quotes a column name for use in a query. | Schema |
quoteSimpleColumnName() | Quotes a simple column name for use in a query. | Schema |
quoteSimpleTableName() | Quotes a simple table name for use in a query. | Schema |
quoteTableName() | Quotes a table name for use in a query. | Schema |
quoteValue() | Quotes a string value for use in a query. | Schema |
refresh() | Refreshes the schema. | Schema |
refreshTableSchema() | Refreshes the particular table schema. | Schema |
releaseSavepoint() | Releases an existing savepoint. | Schema |
resolveRawTableName() | Resolves the table name and schema name (if any) without loading database metadata. | Schema |
rollBackSavepoint() | Rolls back to a previously created savepoint. | Schema |
setTransactionIsolationLevel() | Sets the isolation level of the current transaction. | Schema |
supportsSavepoint() | Schema | |
unquoteSimpleColumnName() | Unquotes a simple column name. | Schema |
unquoteSimpleTableName() | Unquotes a simple table name. | Schema |
createColumnSchema() protected | Creates a column schema for the database. | Schema |
findSchemaNames() protected | Returns all schema names in the database, including the default one but not system schemas. | Schema |
findTableNames() protected | Returns all table names in the database. | Schema |
getCacheKey() protected | Returns the cache key for the specified table name. | Schema |
getCacheTag() protected | Returns the cache tag name. | Schema |
getColumnPhpType() protected | Extracts the PHP type from abstract DB type. | Schema |
getSchemaMetadata() protected | Returns the metadata of the given type for all tables in the given schema. | Schema |
getTableMetadata() protected | Returns the metadata of the given type for the given table. | Schema |
getTableNameParts() protected | Splits full table name into parts. | Schema |
loadTableSchema() protected abstract | Loads the metadata for the specified table. | Schema |
normalizePdoRowKeyCase() protected | Changes row’s array key case to lower if PDO’s one is set to uppercase. | Schema |
resolveTableName() protected | Resolves the table name and schema name (if any). | Schema |
setTableMetadata() protected | Sets the metadata of the given type for the given table. | Schema |
Constants
Section titled “Constants”| Constant | Value | Description | Defined by |
|---|---|---|---|
TYPE_PK | 'pk' | Schema | |
TYPE_UPK | 'upk' | Schema | |
TYPE_BIGPK | 'bigpk' | Schema | |
TYPE_UBIGPK | 'ubigpk' | Schema | |
TYPE_CHAR | 'char' | Schema | |
TYPE_STRING | 'string' | Schema | |
TYPE_TEXT | 'text' | Schema | |
TYPE_TINYINT | 'tinyint' | Schema | |
TYPE_SMALLINT | 'smallint' | Schema | |
TYPE_INTEGER | 'integer' | Schema | |
TYPE_BIGINT | 'bigint' | Schema | |
TYPE_FLOAT | 'float' | Schema | |
TYPE_DOUBLE | 'double' | Schema | |
TYPE_DECIMAL | 'decimal' | Schema | |
TYPE_DATETIME | 'datetime' | Schema | |
TYPE_TIMESTAMP | 'timestamp' | Schema | |
TYPE_TIME | 'time' | Schema | |
TYPE_DATE | 'date' | Schema | |
TYPE_BINARY | 'binary' | Schema | |
TYPE_BOOLEAN | 'boolean' | Schema | |
TYPE_MONEY | 'money' | Schema | |
TYPE_JSON | 'json' | Schema | |
SCHEMA_CACHE_VERSION | 1 | Schema cache version, to detect incompatibilities in cached values when the data format of the cache changes. | Schema |
Property details
Section titled “Property details”$systemSchemaNames
Section titled “$systemSchemaNames ”public list<string> $systemSchemaNames = []List of schema names that should be excluded from getSchemaNames().
DBMS-specific implementations may use this list in findSchemaNames().
$tableSchemas
Section titled “$tableSchemas ”public yii\db\TableSchema[] $tableSchemasThe metadata for all tables in the database.
Each array element
is an instance of TableSchema or its child class.
Access
Read-only (virtual property).
$transactionIsolationLevel
Section titled “$transactionIsolationLevel ”public string $transactionIsolationLevelThe transaction isolation level to use for this transaction.
This can be one of Transaction::READ_UNCOMMITTED, Transaction::READ_COMMITTED,
Transaction::REPEATABLE_READ and Transaction::SERIALIZABLE but also a string containing DBMS specific
syntax to be used after SET TRANSACTION ISOLATION LEVEL.
Access
Write-only (virtual property).
$columnQuoteCharacter
Section titled “$columnQuoteCharacter ”protected string|string[] $columnQuoteCharacter = '"'Character used to quote column names.
An array of 2 characters can be used in case starting and ending characters are different.
Since
2.0.14
$tableQuoteCharacter
Section titled “$tableQuoteCharacter ”protected string|string[] $tableQuoteCharacter = "'"Character used to quote schema, table, etc. names.
An array of 2 characters can be used in case starting and ending characters are different.
Since
2.0.14
Method details
Section titled “Method details”convertException()
Section titled “convertException() ”public function convertException(Exception $e, string $rawSql): yii\db\ExceptionConverts a DB exception to a more concrete one if possible.
createColumnSchemaBuilder()
Section titled “createColumnSchemaBuilder() ”public function createColumnSchemaBuilder(string $type, int|string|array|null $length = null): yii\db\ColumnSchemaBuilderCreate a column schema builder instance giving the type and value precision.
This method may be overridden by child classes to create a DBMS-specific column schema builder.
Parameters
| Parameter | Type | Description |
|---|---|---|
$type | string | Type of the column. See ColumnSchemaBuilder::$type. |
$length | int| | Length or precision of the column. See ColumnSchemaBuilder::$length. |
Returns
ColumnSchemaBuilder: Column schema builder instance
Since
2.0.6
createQueryBuilder()
Section titled “createQueryBuilder() ”public function createQueryBuilder(): yii\db\TQueryBuilderCreates a query builder for the database.
This method may be overridden by child classes to create a DBMS-specific query builder.
Returns
yii\db\TQueryBuilder: Query builder instance
createSavepoint()
Section titled “createSavepoint() ”public function createSavepoint(string $name): mixedCreates a new savepoint.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | The savepoint name |
Returns
mixed
findUniqueIndexes()
Section titled “findUniqueIndexes() ”public function findUniqueIndexes(yii\db\TableSchema $table): arrayReturns all unique indexes for the given table.
Each array element is of the following structure:
[ 'IndexName1' => ['col1' [, ...]], 'IndexName2' => ['col2' [, ...]],]This method should be overridden by child classes in order to support this feature because the default implementation simply throws an exception
Parameters
| Parameter | Type | Description |
|---|---|---|
$table | TableSchema | The table metadata |
Returns
array: All unique indexes for the given table.
Throws
yii\base\NotSupportedException: if this method is called
getLastInsertID()
Section titled “getLastInsertID() ”public function getLastInsertID(string $sequenceName = ''): stringReturns the ID of the last inserted row or sequence value.
Parameters
| Parameter | Type | Description |
|---|---|---|
$sequenceName | string | Name of the sequence object (required by some DBMS) |
Returns
string: The row ID of the last row inserted, or the last value retrieved from the sequence object
Throws
yii\base\InvalidCallException: if the DB connection is not active
See also
getPdoType()
Section titled “getPdoType() ”public function getPdoType(mixed $data): intDetermines the PDO type for the given PHP data value.
Parameters
| Parameter | Type | Description |
|---|---|---|
$data | mixed | The data whose PDO type is to be determined |
Returns
int: The PDO type
See also
getQueryBuilder()
Section titled “getQueryBuilder() ”public function getQueryBuilder(): yii\db\TQueryBuilderReturns
yii\db\TQueryBuilder: The query builder for this connection.
getRawTableName()
Section titled “getRawTableName() ”public function getRawTableName(string $name): stringReturns the actual name of a given table name.
This method will strip off curly brackets from the given table name
and replace the percentage character ’%’ with Connection::$tablePrefix.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | The table name to be converted |
Returns
string: The real name of the given table name
getSchemaNames()
Section titled “getSchemaNames() ”public function getSchemaNames(bool $refresh = false): string[]Returns all schema names in the database, except system schemas.
Parameters
| Parameter | Type | Description |
|---|---|---|
$refresh | bool | Whether to fetch the latest available schema names. If this is false, schema names fetched previously (if available) will be returned. |
Returns
string[]: All schema names in the database, except system schemas.
Since
2.0.4
getServerVersion()
Section titled “getServerVersion() ”public function getServerVersion(): stringReturns a server version as a string comparable by version_compare().
Returns
string: Server version as a string.
Since
2.0.14
getTableNames()
Section titled “getTableNames() ”public function getTableNames(string $schema = '', bool $refresh = false): string[]Returns all table names in the database.
Parameters
| Parameter | Type | Description |
|---|---|---|
$schema | string | The schema of the tables. Defaults to empty string, meaning the current or default schema name. If not empty, the returned table names will be prefixed with the schema name. |
$refresh | bool | Whether to fetch the latest available table names. If this is false, table names fetched previously (if available) will be returned. |
Returns
string[]: All table names in the database.
getTableSchema()
Section titled “getTableSchema() ”public function getTableSchema(string $name, bool $refresh = false): yii\db\TableSchema|nullObtains the metadata for the named table.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | Table name. The table name may contain schema name if any. Do not quote the table name. |
$refresh | bool | Whether to reload the table schema even if it is found in the cache. |
Returns
TableSchema|null: Table metadata. null if the named table does not exist.
getTableSchemas()
Section titled “getTableSchemas() ”public function getTableSchemas(string $schema = '', bool $refresh = false): yii\db\TableSchema[]Returns the metadata for all tables in the database.
Parameters
| Parameter | Type | Description |
|---|---|---|
$schema | string | The schema of the tables. Defaults to empty string, meaning the current or default schema name. |
$refresh | bool | Whether to fetch the latest available table schemas. If this is false, cached data may be returned if available. |
Returns
TableSchema[]: The metadata for all tables in the database. Each array element is an instance of TableSchema or its child class.
insert()
Section titled “insert() ”public function insert(string $table, array $columns): array|falseExecutes the INSERT command, returning primary key values.
Parameters
| Parameter | Type | Description |
|---|---|---|
$table | string | The table that new rows will be inserted into. |
$columns | array | The column data (name => value) to be inserted into the table. |
Returns
array|false: Primary key values or false if the command fails
Since
2.0.4
isReadQuery()
Section titled “isReadQuery() ”public function isReadQuery(string $sql): boolReturns a value indicating whether a SQL statement is for read purpose.
Parameters
| Parameter | Type | Description |
|---|---|---|
$sql | string | The SQL statement |
Returns
bool: Whether a SQL statement is for read purpose.
quoteColumnName()
Section titled “quoteColumnName() ”public function quoteColumnName(string $name): stringQuotes a column name for use in a query.
If the column name contains prefix, the prefix will also be properly quoted. If the column name is already fully enclosed in the quote characters, or contains ’(’, ’[[’ or ’{{’, then this method will do nothing.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | Column name. |
Returns
string: The properly quoted column name.
See also
quoteSimpleColumnName()
Section titled “quoteSimpleColumnName() ”public function quoteSimpleColumnName(string $name): stringQuotes a simple column name for use in a query.
A simple column name should contain the column name only without any prefix. The asterisk character ’*’ and a name already fully enclosed in the quote characters are returned as is; otherwise the name is enclosed and any embedded ending quote character is escaped by doubling it.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | Column name. |
Returns
string: The properly quoted column name.
quoteSimpleTableName()
Section titled “quoteSimpleTableName() ”public function quoteSimpleTableName(string $name): stringQuotes a simple table name for use in a query.
A simple table name should contain the table name only without any schema prefix. A name already fully enclosed in the quote characters is returned as is; otherwise the name is enclosed and any embedded ending quote character is escaped by doubling it.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | Table name. |
Returns
string: The properly quoted table name.
quoteTableName()
Section titled “quoteTableName() ”public function quoteTableName(string $name): stringQuotes a table name for use in a query.
If the table name contains schema prefix, the prefix will also be properly quoted. If the table name is already fully enclosed in the quote characters, or contains ’(’ or ’{{’, then this method will do nothing.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | Table name. |
Returns
string: The properly quoted table name.
See also
quoteValue()
Section titled “quoteValue() ”public function quoteValue(mixed $str): mixedQuotes a string value for use in a query.
Note that if the parameter is not a string, it will be returned without change.
Parameters
| Parameter | Type | Description |
|---|---|---|
$str | mixed | String to be quoted. If the parameter is not a string, it will be returned without change. |
Returns
mixed: The properly quoted string, or the original data if it is not a string.
See also
refresh()
Section titled “refresh() ”public function refresh(): mixedRefreshes the schema.
This method cleans up all cached table schemas so that they can be re-created later to reflect the database schema change.
Returns
mixed
refreshTableSchema()
Section titled “refreshTableSchema() ”public function refreshTableSchema(string $name): mixedRefreshes the particular table schema.
This method cleans up cached table schema so that it can be re-created later to reflect the database schema change.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | Table name. |
Returns
mixed
Since
2.0.6
releaseSavepoint()
Section titled “releaseSavepoint() ”public function releaseSavepoint(string $name): mixedReleases an existing savepoint.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | The savepoint name |
Returns
mixed
resolveRawTableName()
Section titled “resolveRawTableName() ”public function resolveRawTableName(string $name): yii\db\TableSchemaResolves the table name and schema name (if any) without loading database metadata.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | The table name. |
Returns
TableSchema: TableSchema with resolved table, schema, etc. names.
Throws
yii\base\NotSupportedException: if this method is not supported by the DBMS.
Since
22.0
rollBackSavepoint()
Section titled “rollBackSavepoint() ”public function rollBackSavepoint(string $name): mixedRolls back to a previously created savepoint.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | The savepoint name |
Returns
mixed
setTransactionIsolationLevel()
Section titled “setTransactionIsolationLevel() ”public function setTransactionIsolationLevel(string $level): mixedSets the isolation level of the current transaction.
Parameters
| Parameter | Type | Description |
|---|---|---|
$level | string | The transaction isolation level to use for this transaction. This can be one of Transaction::READ_UNCOMMITTED, Transaction::READ_COMMITTED, Transaction::REPEATABLE_READ and Transaction::SERIALIZABLE but also a string containing DBMS specific syntax to be used after SET TRANSACTION ISOLATION LEVEL. |
Returns
mixed
See also
supportsSavepoint()
Section titled “supportsSavepoint() ”public function supportsSavepoint(): boolReturns
bool: Whether this DBMS supports savepoint.
unquoteSimpleColumnName()
Section titled “unquoteSimpleColumnName() ”public function unquoteSimpleColumnName(string $name): stringUnquotes a simple column name.
A simple column name should contain the column name only without any prefix. Only a name fully enclosed in the quote characters is unquoted: the enclosure is stripped and doubled ending quote characters are collapsed to a single one.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | Column name. |
Returns
string: Unquoted column name.
Since
2.0.14
unquoteSimpleTableName()
Section titled “unquoteSimpleTableName() ”public function unquoteSimpleTableName(string $name): stringUnquotes a simple table name.
A simple table name should contain the table name only without any schema prefix. Only a name fully enclosed in the quote characters is unquoted: the enclosure is stripped and doubled ending quote characters are collapsed to a single one.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | Table name. |
Returns
string: Unquoted table name.
Since
2.0.14
createColumnSchema()
Section titled “createColumnSchema() ”protected function createColumnSchema(): yii\db\TCreates a column schema for the database.
This method may be overridden by child classes to create a DBMS-specific column schema.
Returns
yii\db\T: Column schema instance.
Throws
yii\base\InvalidConfigException: if a column schema class cannot be created.
findSchemaNames()
Section titled “findSchemaNames() ”protected function findSchemaNames(): arrayReturns all schema names in the database, including the default one but not system schemas.
This method should be overridden by child classes in order to support this feature because the default implementation simply throws an exception.
Returns
array: All schema names in the database, except system schemas.
Throws
yii\base\NotSupportedException: if this method is not supported by the DBMS.
Since
2.0.4
findTableNames()
Section titled “findTableNames() ”protected function findTableNames(string $schema = ''): arrayReturns all table names in the database.
This method should be overridden by child classes in order to support this feature because the default implementation simply throws an exception.
Parameters
| Parameter | Type | Description |
|---|---|---|
$schema | string | The schema of the tables. Defaults to empty string, meaning the current or default schema. |
Returns
array: All table names in the database. The names have NO schema name prefix.
Throws
yii\base\NotSupportedException: if this method is not supported by the DBMS.
getCacheKey()
Section titled “getCacheKey() ”protected function getCacheKey(string $name): mixedReturns the cache key for the specified table name.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | The table name. |
Returns
mixed: The cache key.
getCacheTag()
Section titled “getCacheTag() ”protected function getCacheTag(): stringReturns the cache tag name.
This allows refresh() to invalidate all cached table schemas.
Returns
string: The cache tag name
getColumnPhpType()
Section titled “getColumnPhpType() ”protected function getColumnPhpType(yii\db\ColumnSchema $column): stringExtracts the PHP type from abstract DB type.
Parameters
| Parameter | Type | Description |
|---|---|---|
$column | ColumnSchema | The column schema information |
Returns
string: PHP type name
getSchemaMetadata()
Section titled “getSchemaMetadata() ”protected function getSchemaMetadata(string $schema, string $type, bool $refresh): arrayReturns the metadata of the given type for all tables in the given schema.
This method will call a 'getTable' . ucfirst($type) named method with the table name
and the refresh flag to obtain the metadata.
Parameters
| Parameter | Type | Description |
|---|---|---|
$schema | string | The schema of the metadata. Defaults to empty string, meaning the current or default schema name. |
$type | string | Metadata type. |
$refresh | bool | Whether to fetch the latest available table metadata. If this is false, cached data may be returned if available. |
Returns
array: Array of metadata.
Since
2.0.13
getTableMetadata()
Section titled “getTableMetadata() ”protected function getTableMetadata(string $name, string $type, bool $refresh): mixedReturns the metadata of the given type for the given table.
If there’s no metadata in the cache, this method will call
a 'loadTable' . ucfirst($type) named method with the table name to obtain the metadata.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | Table name. The table name may contain schema name if any. Do not quote the table name. |
$type | string | Metadata type. |
$refresh | bool | Whether to reload the table metadata even if it is found in the cache. |
Returns
mixed: Metadata.
Since
2.0.13
getTableNameParts()
Section titled “getTableNameParts() ”protected function getTableNameParts(string $name): arraySplits full table name into parts.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | Full table name. |
Returns
array: Table name parts.
Since
2.0.22
loadTableSchema()
Section titled “loadTableSchema() ”abstract protected function loadTableSchema(string $name): yii\db\TableSchema|nullLoads the metadata for the specified table.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | Table name |
Returns
TableSchema|null: DBMS-dependent table metadata, null if the table does not exist.
normalizePdoRowKeyCase()
Section titled “normalizePdoRowKeyCase() ”protected function normalizePdoRowKeyCase(array $row, bool $multiple): arrayChanges row’s array key case to lower if PDO’s one is set to uppercase.
Parameters
| Parameter | Type | Description |
|---|---|---|
$row | array | Row’s array or an array of row’s arrays. |
$multiple | bool | Whether multiple rows or a single row passed. |
Returns
array: Normalized row or rows.
Since
2.0.13
resolveTableName()
Section titled “resolveTableName() ”protected function resolveTableName(string $name): yii\db\TableSchemaResolves the table name and schema name (if any).
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | The table name |
Returns
TableSchema: TableSchema with resolved table, schema, etc. names.
Throws
yii\base\NotSupportedException: if this method is not supported by the DBMS.
Since
2.0.13
setTableMetadata()
Section titled “setTableMetadata() ”protected function setTableMetadata(string $name, string $type, mixed $data): mixedSets the metadata of the given type for the given table.
Parameters
| Parameter | Type | Description |
|---|---|---|
$name | string | Table name. |
$type | string | Metadata type. |
$data | mixed | Metadata. |
Returns
mixed
Since
2.0.13