Merge pull request #18920 from kamil-tekiela/Introduce-type-alias-mapping

Introduce alias type mapping
This commit is contained in:
Maurício Meneghini Fauth 2024-01-29 14:18:36 -03:00 committed by GitHub
commit 5d1f1724fd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 30 additions and 9 deletions

View File

@ -713,9 +713,8 @@ class Routines
'item_param_name' => $routine['item_param_name'][$i] ?? '',
'item_param_length' => $routine['item_param_length'][$i] ?? '',
'item_param_opts_num' => $routine['item_param_opts_num'][$i] ?? '',
'supported_datatypes' => Util::getSupportedDatatypes(
true,
$routine['item_param_type'][$i]
'supported_datatypes' => Generator::getSupportedDatatypes(
$this->dbi->types->mapAliasToMysqlType($routine['item_param_type'][$i])
),
'charsets' => $charsets,
'drop_class' => $drop_class,

View File

@ -864,6 +864,28 @@ class Types
return $ret;
}
public function mapAliasToMysqlType(string $alias): string
{
return [
'BOOL' => 'TINYINT',
'BOOLEAN' => 'TINYINT',
'CHARACTER VARYING' => 'VARCHAR',
'FIXED' => 'DECIMAL',
'FLOAT4' => 'FLOAT',
'FLOAT8' => 'DOUBLE',
'INT1' => 'TINYINT',
'INT2' => 'SMALLINT',
'INT3' => 'MEDIUMINT',
'INT4' => 'INT',
'INT8' => 'BIGINT',
'LONG VARBINARY' => 'MEDIUMBLOB',
'LONG VARCHAR' => 'MEDIUMTEXT',
'LONG' => 'MEDIUMTEXT',
'MIDDLEINT' => 'MEDIUMINT',
'NUMERIC' => 'DECIMAL',
][$alias] ?? $alias;
}
/**
* Returns an array of integer types
*

View File

@ -3056,14 +3056,9 @@
</TypeDoesNotContainType>
</file>
<file src="libraries/classes/Controllers/Table/ChartController.php">
<InvalidArgument occurrences="2">
<code>$rows</code>
<InvalidArgument occurrences="1">
<code>$start</code>
</InvalidArgument>
<InvalidScalarArgument occurrences="2">
<code>$_REQUEST['pos']</code>
<code>$_REQUEST['session_max_rows']</code>
</InvalidScalarArgument>
<MixedArgument occurrences="7">
<code>$db</code>
<code>$db</code>
@ -3079,6 +3074,11 @@
<MixedAssignment occurrences="1">
<code>$url_params['db']</code>
</MixedAssignment>
<PossiblyInvalidArgument occurrences="3">
<code>$_REQUEST['pos']</code>
<code>$_REQUEST['session_max_rows']</code>
<code>$rows</code>
</PossiblyInvalidArgument>
<PossiblyInvalidOperand occurrences="4">
<code>$_REQUEST['pos']</code>
<code>$_REQUEST['pos']</code>