Home » Database » MDB2_Driver_pgsql » Bug #10234
Set length property when not null, rather than > 0
Details
| Request #10234 | Set length property when not null, rather than > 0 |
|---|---|
| Submitted | 2007-03-01 16:13 UTC |
| From | andrew dot hill at openads dot org |
| Assigned | quipo |
| Status | Closed |
| Package | MDB2_Driver_pgsql |
| PHP Version | 4.3.11 |
| OS | Centos 4.3, Apache 1.3 |
| Roadmaps | (Not assigned) |
Comments
[2007-03-01 16:13 UTC] andrew dot hill at openads dot org
Description:
------------
In MDB2_Driver_Reverse_pgsql::getTableFieldDefinition(), the length property is only set when the returned length value from MDB2_Driver_Datatype_Common::mapNativeDatatype() is > 0.
However, it is the responsibility of MDB2_Driver_Datatype_Common::mapNativeDatatype() to ensure that it returns the correct length value, or null.
As a result, I would propose that the MDB2_Driver_Reverse_pgsql::getTableFieldDefinition() method only check to see if $length is not null, and if so, set the property.
See also http://pear.php.net/bugs/bug.php?id=10233
Test script:
---------------
--- MDB2/Driver/Reverse/pgsql.php (revision 4767)
+++ MDB2/Driver/Reverse/pgsql.php (working copy)
@@ -121,7 +121,7 @@
$autoincrement = true;
}
$definition[0] = array('notnull' => $notnull, 'nativetype' => $column['type']);
- if ($length > 0) {
+ if (!is_null($length)) {
$definition[0]['length'] = $length;
}
if (!is_null($unsigned)) {