From ee47a2bf0cefc9ef53e0cd34236eaf99bb69e683 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Hojtsy?= <gabor@hojtsy.hu> Date: Fri, 28 May 2010 15:02:16 +0000 Subject: [PATCH] #256001 by bjaspan, stormsweeper, Darren Oh: pgsql driver does not handle unsigned numeric fields properly --- includes/database.pgsql.inc | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/includes/database.pgsql.inc b/includes/database.pgsql.inc index 32ae48e0bb31..4a074862ecba 100644 --- a/includes/database.pgsql.inc +++ b/includes/database.pgsql.inc @@ -579,14 +579,6 @@ function _db_create_field_sql($name, $spec) { if ($spec['type'] == 'serial') { unset($spec['not null']); } - if (!empty($spec['unsigned'])) { - if ($spec['type'] == 'serial') { - $sql .= " CHECK ($name >= 0)"; - } - else { - $sql .= '_unsigned'; - } - } if (in_array($spec['type'], array('varchar', 'char', 'text')) && isset($spec['length'])) { $sql .= '('. $spec['length'] .')'; @@ -595,6 +587,10 @@ function _db_create_field_sql($name, $spec) { $sql .= '('. $spec['precision'] .', '. $spec['scale'] .')'; } + if (!empty($spec['unsigned'])) { + $sql .= " CHECK ($name >= 0)"; + } + if (isset($spec['not null']) && $spec['not null']) { $sql .= ' NOT NULL'; } -- GitLab