[EMAIL PROTECTED] wrote:
>one thing that I am not understanding from the docs is the difference >between var_size and var_length in the message header. I understand >var_len is the byte count (rounded up to a boundary of 8) of the >message. var_size reads to be much larger. The document seems to >indicate that the message block is much larger than the actual number >of bytes needed however I can't believe that dummy bytes are sent as >that would be a huge waste of bandwidth.


The network protocol is packet based, not stream based. And packets have a maximal size, the kernel parameter PACKET_SIZE. And any *_size is the possible size of this packet/segment/part, any *_length is the number of bytes actually used.

In the releases up to 7.4, the kernel wouldn't overwrite the request, so clients can't use the complete PACKET_SIZE. They have to subtract
- the size of the RTE header (request) (for the transport layer protocol)
- the size of the RTE header (reply)
- a 'suitable' for the kernel reply, at least as much to place a part for an error message
So for 7.4, a package really looks like this after the request has been returned:
|rte request header|sql request|rte reply header|sql reply|


Hint: test your library with various PACKET_SIZE configurations, especially when you come to the handling of LONG columns.

Daniel Dittmar

--
Daniel Dittmar
SAP DB, SAP Labs Berlin
[EMAIL PROTECTED]
http://www.sapdb.org



--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to