On Fri, 2003-06-13 at 18:47, Tim Bunce wrote:
> Thinking about this some more...
> 
> The origin of LongReadLen is related to the problem of not knowing
> in advance how long the longest LONG selected will be. So for drivers
> which need to pre-allocate buffers for the db api to fetch into there
> needed to be some way to define what size to use.

For Sybase OpenClient LongReadLen maps to CS_OPT_TEXTSIZE (aka SET
TEXTSIZE), which is needed to tell the server how much data to send. It
defaults to 32k. 

It is not needed by the driver as such - OpenClient will fetch and
allocate buffers appropriately - but if it is set to a very large value
then all fetches that include BLOBs will require that much memory to be
allocated (even if the item being fetched is smaller).

I don't have a problem with changing LongReadLen to be an SV, but I will
still default it to 32k as that is consistent with the Sybase API.

Michael
-- 
Michael Peppler                              Data Migrations, Inc.
[EMAIL PROTECTED]                 http://www.mbay.net/~mpeppler
Sybase T-SQL/OpenClient/OpenServer/C/Perl developer available for short or 
long term contract positions - http://www.mbay.net/~mpeppler/resume.html

Reply via email to