Page MenuHomeWickedGov Phorge

TinyIntType.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

TinyIntType.php

<?php
namespace Wikimedia\Rdbms;
use Doctrine\DBAL\Platforms\AbstractPlatform;
use Doctrine\DBAL\Platforms\MySQLPlatform;
use Doctrine\DBAL\Types\PhpIntegerMappingType;
use Doctrine\DBAL\Types\Type;
/**
* Handling smallest integer data type
*/
class TinyIntType extends Type implements PhpIntegerMappingType {
public const TINYINT = 'mwtinyint';
public function getSQLDeclaration( array $fieldDeclaration, AbstractPlatform $platform ): string {
if ( $platform instanceof MySQLPlatform ) {
if ( !empty( $fieldDeclaration['length'] ) && is_numeric( $fieldDeclaration['length'] ) ) {
$length = $fieldDeclaration['length'];
return "TINYINT($length)" . $this->getCommonIntegerTypeDeclarationForMySQL( $fieldDeclaration );
}
return 'TINYINT' . $this->getCommonIntegerTypeDeclarationForMySQL( $fieldDeclaration );
}
return $platform->getSmallIntTypeDeclarationSQL( $fieldDeclaration );
}
protected function getCommonIntegerTypeDeclarationForMySQL( array $columnDef ): string {
$autoinc = '';
if ( !empty( $columnDef['autoincrement'] ) ) {
$autoinc = ' AUTO_INCREMENT';
}
return !empty( $columnDef['unsigned'] ) ? ' UNSIGNED' . $autoinc : $autoinc;
}
public function getName(): string {
return self::TINYINT;
}
}

File Metadata

Mime Type
text/x-php
Expires
Oct 4 2026, 18:49 (5 w, 5 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
a0/ac/1bc3dc3a69497ed9df9e7cff8a4d
Default Alt Text
TinyIntType.php (1 KB)

Event Timeline