PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

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)) {