On Sun, 2003-03-02 at 21:19, Aaron O'Neil wrote:
> How-To-Repeat:
> 
> I suspect there is a bug in the ODBC driver in relation to blobs. I'm now
> using 3.51.06, but was having this same problem on 3.51.05.
> 
> I'm using Visual C++ and their CRecordset wrapper for the ODBC calls. I'm
> using the positioned updates.
> 
> As long as I keep the binary data I'm trying to transfer under the default
> buffer size (8192) it works fine. I'm guessing it is a default buffer size
> from looking at the debug text.
> 
> Here is the output info from setting a binary field that works, the data
> for the binary field is 6933, less than the 8192.

Thanks for the clear report. 

I just tested this, and noticed that this is happening only with the
debug version of the driver and not with the release version, and thats
why it wasn't even caught with the regression test suite before the
releases.

Did you tested this with the release version of the driver ? If yes,
what was the outcome.

I will investigate and fix why 'my_realloc' is crashing if using the
debug version of the MySQL client libraries.

Thanks

> 
>   >SQLSetPos
> | enter: irow: 1 fOption: SQL_UPDATE   Lock: 0
> | >init_dynamic_string
> | | >_mymalloc
> | | | enter: Size: 1024
> | | | exit: ptr: 11ae198
> | | <_mymalloc
> | <init_dynamic_string
> | >find_used_table
> | | >_mymalloc
> | | | enter: Size: 8
> | | | exit: ptr: 10238a8
> | | <_mymalloc
> | <find_used_table
> | >dynstr_realloc
> | <dynstr_realloc
> | >dynstr_realloc
> | <dynstr_realloc
> | >extend_buffer
> | | enter: current_length: 0  length: 6934  buffer_length: 8192
> | <extend_buffer
> | info: param: 0x12eddc  ctype: -2  SqlType: -4  data: 0x1412c58  length:
> 6933  actual_len: 6933  pos_in_query: 00FCF764
> | info: param: 0x12eddc  ctype: 1  SqlType: 4  data: 0xfced54  length:
> 1  actual_len: 1  pos_in_query: 00FCF764
> 
> That above works just fine.
> 
> Here is what happens whenever I try to set binary data > 8192:
> 
>   >SQLSetPos
> | enter: irow: 1 fOption: SQL_UPDATE   Lock: 0
> | >init_dynamic_string
> | | >_mymalloc
> | | | enter: Size: 1024
> | | | exit: ptr: 11ae198
> | | <_mymalloc
> | <init_dynamic_string
> | >find_used_table
> | | >_mymalloc
> | | | enter: Size: 8
> | | | exit: ptr: 1023808
> | | <_mymalloc
> | <find_used_table
> | >dynstr_realloc
> | <dynstr_realloc
> | >dynstr_realloc
> | <dynstr_realloc
> | >extend_buffer
> | | enter: current_length: 0  length: 11016  buffer_length: 8192
> | | >_myrealloc
> | | | >_mymalloc
> | | | | enter: Size: 16384
> | | | | exit: ptr: 11ae5f0
> | | | <_mymalloc
> | | | >_myfree
> | | | | enter: ptr: f37d58
> | | | <_myfree
> | | <_myrealloc
> | <extend_buffer
> | info: param: 0x12eddc  ctype: -2  SqlType: -4  data: 0x1412d30  length:
> 11015  actual_len: 11015  pos_in_query: 00FCF764
> | >extend_buffer
> | | enter: current_length: 2582681  length: 11527  buffer_length: 8192
> | | >_myrealloc
> | | | safe: Reallocating unallocated data at line 145, 'execute.c'
> | | <_myrealloc
> | <extend_buffer
> | >copy_error
> | | error: code :4001, state: S1001, err :(null)
> | | exit : SQL_ERROR
> 
> This happens every time I try to store more than 8192 bytes.
> 
> 
> ---------------------------------------------------------------------
> Before posting, please check:
>    http://www.mysql.com/manual.php   (the manual)
>    http://lists.mysql.com/           (the list archive)
> 
> To request this thread, e-mail <[EMAIL PROTECTED]>
> To unsubscribe, e-mail <[EMAIL PROTECTED]>
> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
-- 
Regards, Venu
For technical support contracts, go to https://order.mysql.com
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /   Mr. Venu <[EMAIL PROTECTED]>
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, Developer
/_/  /_/\_, /___/\___\_\___/  Palo Alto, CA-94306, USA
       <___/  www.mysql.com

Join MySQL Users Conference and Expo:
http://www.mysql.com/events/uc2003/

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to