You are here

function Schema::getFieldTypeMap in Drupal driver for SQL Server and SQL Azure 8

Same name and namespace in other branches
  1. 8.2 drivers/lib/Drupal/Driver/Database/sqlsrv/Schema.php \Drupal\Driver\Database\sqlsrv\Schema::getFieldTypeMap()
  2. 3.0.x drivers/lib/Drupal/Driver/Database/sqlsrv/Schema.php \Drupal\Driver\Database\sqlsrv\Schema::getFieldTypeMap()

This maps a generic data type in combination with its data size to the engine-specific data type.

Overrides Schema::getFieldTypeMap

1 call to Schema::getFieldTypeMap()
Schema::processField in drivers/lib/Drupal/Driver/Database/sqlsrv/Schema.php
Set database-engine specific properties for a field.

File

drivers/lib/Drupal/Driver/Database/sqlsrv/Schema.php, line 846
Definition of Drupal\Driver\Database\sqlsrv\Schema

Class

Schema

Namespace

Drupal\Driver\Database\sqlsrv

Code

function getFieldTypeMap() {

  // Put :normal last so it gets preserved by array_flip.  This makes
  // it much easier for modules (such as schema.module) to map
  // database types back into schema types.
  return array(
    'varchar:normal' => 'nvarchar',
    'char:normal' => 'nchar',
    'varchar_ascii:normal' => 'varchar(255)',
    'text:tiny' => 'nvarchar(255)',
    'text:small' => 'nvarchar(255)',
    'text:medium' => 'nvarchar(max)',
    'text:big' => 'nvarchar(max)',
    'text:normal' => 'nvarchar(max)',
    'serial:tiny' => 'smallint',
    'serial:small' => 'smallint',
    'serial:medium' => 'int',
    'serial:big' => 'bigint',
    'serial:normal' => 'int',
    'int:tiny' => 'smallint',
    'int:small' => 'smallint',
    'int:medium' => 'int',
    'int:big' => 'bigint',
    'int:normal' => 'int',
    'float:tiny' => 'real',
    'float:small' => 'real',
    'float:medium' => 'real',
    'float:big' => 'float(53)',
    'float:normal' => 'real',
    'numeric:normal' => 'numeric',
    'blob:big' => 'varbinary(max)',
    'blob:normal' => 'varbinary(max)',
    'datetime:normal' => 'timestamp',
    'date:normal' => 'date',
    'datetime:normal' => 'datetime2(0)',
    'time:normal' => 'time(0)',
  );
}