summaryrefslogtreecommitdiff
path: root/includes/database
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2009-07-09 10:12:14 +0000
committerDries Buytaert <dries@buytaert.net>2009-07-09 10:12:14 +0000
commit1430e8baa322fccc1b5f7119e887cb3073c5c74f (patch)
tree9e6f6e19b104ba7a1450988cfaf7b261d2501d3d /includes/database
parentb6a1fa724c827087b987465bf91bbc158dc5f35f (diff)
downloadbrdo-1430e8baa322fccc1b5f7119e887cb3073c5c74f.tar.gz
brdo-1430e8baa322fccc1b5f7119e887cb3073c5c74f.tar.bz2
- Patch #346450 by Josh Waihi: length property should be ignored on non varchar and char fields.
Diffstat (limited to 'includes/database')
-rw-r--r--includes/database/mysql/schema.inc2
-rw-r--r--includes/database/pgsql/schema.inc2
-rw-r--r--includes/database/schema.inc2
-rw-r--r--includes/database/sqlite/schema.inc2
4 files changed, 4 insertions, 4 deletions
diff --git a/includes/database/mysql/schema.inc b/includes/database/mysql/schema.inc
index 35d59c1a1..48e4c2eb7 100644
--- a/includes/database/mysql/schema.inc
+++ b/includes/database/mysql/schema.inc
@@ -105,7 +105,7 @@ class DatabaseSchema_mysql extends DatabaseSchema {
protected function createFieldSql($name, $spec) {
$sql = "`" . $name . "` " . $spec['mysql_type'];
- if (isset($spec['length'])) {
+ if (in_array($spec['type'], array('varchar', 'char', 'text')) && isset($spec['length'])) {
$sql .= '(' . $spec['length'] . ')';
}
elseif (isset($spec['precision']) && isset($spec['scale'])) {
diff --git a/includes/database/pgsql/schema.inc b/includes/database/pgsql/schema.inc
index fabdb09bc..e438b5d76 100644
--- a/includes/database/pgsql/schema.inc
+++ b/includes/database/pgsql/schema.inc
@@ -147,7 +147,7 @@ class DatabaseSchema_pgsql extends DatabaseSchema {
$sql .= " CHECK ($name >= 0)";
}
- if (!empty($spec['length'])) {
+ if (in_array($spec['type'], array('varchar', 'char', 'text')) && isset($spec['length'])) {
$sql .= '(' . $spec['length'] . ')';
}
elseif (isset($spec['precision']) && isset($spec['scale'])) {
diff --git a/includes/database/schema.inc b/includes/database/schema.inc
index 52adc3bde..a6dbcc53d 100644
--- a/includes/database/schema.inc
+++ b/includes/database/schema.inc
@@ -62,7 +62,7 @@
* specify '0' as the default value for a type 'int' field it
* will not work because '0' is a string containing the
* character "zero", not an integer.
- * - 'length': The maximal length of a type 'varchar' or 'text'
+ * - 'length': The maximal length of a type 'char', 'varchar' or 'text'
* field. Ignored for other field types.
* - 'unsigned': A boolean indicating whether a type 'int', 'float'
* and 'numeric' only is signed or unsigned. Defaults to
diff --git a/includes/database/sqlite/schema.inc b/includes/database/sqlite/schema.inc
index 25c07d6c2..1d0672c16 100644
--- a/includes/database/sqlite/schema.inc
+++ b/includes/database/sqlite/schema.inc
@@ -139,7 +139,7 @@ class DatabaseSchema_sqlite extends DatabaseSchema {
else {
$sql = $name . " " . $spec['sqlite_type'];
- if (isset($spec['length'])) {
+ if (in_array($spec['type'], array('varchar', 'char', 'text')) && isset($spec['length'])) {
$sql .= '(' . $spec['length'] . ')';
}