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\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 ) {
if ( $platform->getName() == 'mysql' ) {
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 ) {
$autoinc = '';
if ( !empty( $columnDef['autoincrement'] ) ) {
$autoinc = ' AUTO_INCREMENT';
}
return !empty( $columnDef['unsigned'] ) ? ' UNSIGNED' . $autoinc : $autoinc;
}
public function getName() {
return self::TINYINT;
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, Oct 3, 17:29 (1 d, 20 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
40/87/89bb1c9dc0a09241ea88c9190eee
Default Alt Text
TinyIntType.php (1 KB)

Event Timeline