On 30-Jul-2014 09:51 -0500, Charles Wilt wrote:
On Wed, Jul 30, 2014 at 9:15 AM, Birgitta Hauser wrote:

I found it in a presentation "DB2 UDB for iSeries: Coding
Techniques for SQL Performance" from Kent Milligan

"Internally, DB2 UDB for iSeries will automatically set the
Allocate value to the maximum length of the variable length
column whenever the column length is 30 bytes or less."

Seems the documentation should say that instead of explicitly saying
that it defaults to allocate(0).

No. That documentation is correct. Including that quote [alone or additionally] would be documenting an /implementation detail/ that is subject to change. The default for an unspecified ALLOCATE [as a value of either VARLEN() for DDS or ALLOCATE() for DDL] *is* zero; that is correct[ly documented]. How the database _implements_ any particular allocation specification may be of interest to a reader [of the docs], but implementation-specific details should be documented separately.

That could be a side-note either referencing additional documents about database internals, or suggesting that, based merely on what [at the time of writing] was a current /implementation detail/, results in any varying-length data type column with a length specification of thirty or fewer bytes to be maintained entirely within the dataspace [i.e. no overflow to the aux SID] irrespective the specified allocation.

This thread ...


Return to Archive home page | Return to MIDRANGE.COM home page