summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/mysqlschema.php38
-rw-r--r--lib/pgsqlschema.php44
-rw-r--r--lib/schema.php17
3 files changed, 9 insertions, 90 deletions
diff --git a/lib/mysqlschema.php b/lib/mysqlschema.php
index 25f0e52f1..9785deb66 100644
--- a/lib/mysqlschema.php
+++ b/lib/mysqlschema.php
@@ -96,13 +96,6 @@ class MysqlSchema extends Schema
// warning -- 'unsigned' attr on numbers isn't given in DATA_TYPE and friends.
// It is stuck in on COLUMN_TYPE though (eg 'bigint(20) unsigned')
- /*
- list($type, $size) = $this->reverseMapType($row['DATA_TYPE']);
- $field['type'] = $type;
- if ($size !== null) {
- $field['size'] = $size;
- }
- */
$field['type'] = $type = $row['DATA_TYPE'];
if ($type == 'char' || $type == 'varchar') {
@@ -487,37 +480,6 @@ class MysqlSchema extends Schema
return $type;
}
- /**
- * Map a MySQL native type back to an independent type + size
- *
- * @param string $type
- * @return array ($type, $size) -- $size may be null
- */
- /*
- protected function reverseMapType($type)
- {
- $type = strtolower($type);
- $map = array(
- 'decimal' => array('numeric', null),
- 'tinyint' => array('int', 'tiny'),
- 'smallint' => array('int', 'small'),
- 'mediumint' => array('int', 'medium'),
- 'bigint' => array('int', 'big'),
- 'tinyblob' => array('blob', 'tiny'),
- 'mediumblob' => array('blob', 'medium'),
- 'longblob' => array('blob', 'long'),
- 'tinytext' => array('text', 'tiny'),
- 'mediumtext' => array('text', 'medium'),
- 'longtext' => array('text', 'long'),
- );
- if (isset($map[$type])) {
- return $map[$type];
- } else {
- return array($type, null);
- }
- }
- */
-
function typeAndSize($column)
{
if ($column['type'] == 'enum') {
diff --git a/lib/pgsqlschema.php b/lib/pgsqlschema.php
index 0ffbcfc48..e5442467c 100644
--- a/lib/pgsqlschema.php
+++ b/lib/pgsqlschema.php
@@ -81,15 +81,6 @@ class PgsqlSchema extends Schema
$orderedFields[$row['ordinal_position']] = $name;
$field = array();
-
- // ??
- /*
- list($type, $size) = $this->reverseMapType($row['udt_name']);
- $field['type'] = $type;
- if ($size !== null) {
- $field['size'] = $size;
- }
- */
$field['type'] = $row['udt_name'];
if ($type == 'char' || $type == 'varchar') {
@@ -366,12 +357,16 @@ class PgsqlSchema extends Schema
$type = $map[$type];
}
- if (!empty($column['size'])) {
- $size = $column['size'];
- if ($type == 'int' &&
- in_array($size, array('small', 'big'))) {
- $type = $size . 'int';
+ if ($type == 'int') {
+ if (!empty($column['size'])) {
+ $size = $column['size'];
+ if ($size == 'small') {
+ return 'int2';
+ } else if ($size == 'big') {
+ return 'int8';
+ }
}
+ return 'int4';
}
return $type;
@@ -389,27 +384,6 @@ class PgsqlSchema extends Schema
}
/**
- * Map a native type back to an independent type + size
- *
- * @param string $type
- * @return array ($type, $size) -- $size may be null
- */
- protected function reverseMapType($type)
- {
- $type = strtolower($type);
- $map = array(
- 'int4' => array('int', null),
- 'int8' => array('int', 'big'),
- 'bytea' => array('blob', null),
- );
- if (isset($map[$type])) {
- return $map[$type];
- } else {
- return array($type, null);
- }
- }
-
- /**
* Filter the given table definition array to match features available
* in this database.
*
diff --git a/lib/schema.php b/lib/schema.php
index 16fb50225..9f2899ba8 100644
--- a/lib/schema.php
+++ b/lib/schema.php
@@ -773,23 +773,6 @@ class Schema
}
/**
- * Map a native type back to an independent type + size
- *
- * @param string $type
- * @return array ($type, $size) -- $size may be null
- */
- protected function reverseMapType($type)
- {
- $sizes = array('tiny', 'small', 'medium', 'big');
- foreach ($sizes as $prefix) {
- if (substr($type, 0, strlen($prefix)) == $prefix) {
- return array(substr($type, strlen($prefix)), $prefix);
- }
- }
- return array($type, null);
- }
-
- /**
* Convert an old-style set of ColumnDef objects into the current
* Drupal-style schema definition array, for backwards compatibility
* with plugins written for 0.9.x.