PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Database » MDB2_Driver_pgsql » Bug #10234

Set length property when not null, rather than > 0

Details

Request #10234Set length property when not null, rather than > 0
Submitted2007-03-01 16:13 UTC
Fromandrew dot hill at openads dot org
Assignedquipo
StatusClosed
PackageMDB2_Driver_pgsql
PHP Version4.3.11
OSCentos 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)) {