Hi,

On Sep 6, 2012, at 1:24, Daniel Convissor <dani...@analysisandsolutions.com> 
wrote:

> Hi Johannes:
> 
> On Thu, Jan 19, 2012 at 01:50:47PM +0100, Johannes Schlüter wrote:
>> 
>>        unsigned long length
>> 
>>        The width of the field. This corresponds to the display length,
>>        in bytes.
>> 
>>        The server determines the length value before it generates the
>>        result set, so this is the minimum length required for a data
>>        type capable of holding the largest possible value from the
>>        result column, without knowing in advance the actual values that
>>        will be produced by the query for the result set.
>> 
>>        http://dev.mysql.com/doc/refman/5.5/en/c-api-data-structures.html
> 
> Pardon me for looping back around to this old discussion.  I had a
> moment to look at this in PEAR::DB the other day.  A new perspective
> came to mind...
> 
> It seems the field length in the C API is there to aid C programmers
> with memory allocation.
> 
> The field length in PHP is there for PHP programmers to reverse engineer
> database structures.
> 
> These are different purposes and the output should reflect such.
> 
> For example, the userland PHP field length could lead to someone dumping
> a structure that has a VARCHAR(10).  The exported metadata would say
> VARCHAR(30).  Then it gets imported and dumped again, and now we're up
> to VARCHAR(90).  Not fun.

This is all correct - but there isn't much we can do. The server provides this 
data. Trying to "fix" it on the client side will likely become a mess. If we 
create a mess I prefer doing it in user land (db2, mdb, doctrine, propel, ...) 
where "everybody" can debug/fix it.

Johannes

> Thanks for your reconsideration,
> --Dan
> 
> -- 
> T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
>            data intensive web and database programming
>                http://www.AnalysisAndSolutions.com/
>        4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to