Same name in this branch
  1. 6.x includes/database.pgsql.inc \db_type_map()
  2. 6.x includes/database.mysql-common.inc \db_type_map()

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

Related topics

3 calls to db_type_map()
db_change_field in includes/database.pgsql.inc
Change a field definition.
_db_process_field in includes/database.mysql-common.inc
Set database-engine specific properties for a field.
_db_process_field in includes/database.pgsql.inc
Set database-engine specific properties for a field.

File

includes/database.pgsql.inc, line 436
Database interface code for PostgreSQL database servers.

Code

function db_type_map() {

  // 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.
  $map = array(
    'varchar:normal' => 'varchar',
    'char:normal' => 'character',
    'text:tiny' => 'text',
    'text:small' => 'text',
    'text:medium' => 'text',
    'text:big' => 'text',
    'text:normal' => 'text',
    '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' => 'double precision',
    'float:normal' => 'real',
    'numeric:normal' => 'numeric',
    'blob:big' => 'bytea',
    'blob:normal' => 'bytea',
    'datetime:normal' => 'timestamp without time zone',
    'serial:tiny' => 'serial',
    'serial:small' => 'serial',
    'serial:medium' => 'serial',
    'serial:big' => 'bigserial',
    'serial:normal' => 'serial',
  );
  return $map;
}