[psqlodbc-Bugs][1011196] Cannot insert very large blobs - Mailing list pgsql-odbc

From
Subject [psqlodbc-Bugs][1011196] Cannot insert very large blobs
Date
Msg-id 20150122064956.95B63A3E432@pgfoundry.org
Whole thread Raw
List pgsql-odbc
psqlodbc-Bugs item #1011196, was changed at 2015-01-22 08:49 by Heikki Linnakangas
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1011196&group_id=1000125
Or by replying to this e-mail entering your response between the following markers:
#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+
(enter your response here, only in plain text format)
#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+

>Status: Closed
Priority: 3
Submitted By: Michael Vitale (pgdude)
Assigned to: Nobody (None)
Summary: Cannot insert very large blobs
Category: None
Group: None
Resolution: None
Category: None
Group: None
>Resolution: None


Initial Comment:
I can use the PostgreSQL ODBC driver to insert a blob (bytea) of 128 megabytes, but when I try to insert one that is
399megabytes it fails with: 

Query buffer overflow in copy_statement_with_parameters

The actuall call that fails is SQLExecute.


Here is the snippet of code I see in convert.c:

enlarge_query_statement(QueryBuild *qb, size_t newsize)
{
    size_t    newalsize = INIT_MIN_ALLOC;
    CSTR func = "enlarge_statement";

    if (qb->str_size_limit > 0 && qb->str_size_limit < (int) newsize)
    {
         < here is the branch that is executed>

----------------------------------------------------------------------

>Comment By: Heikki Linnakangas (hlinnaka)
Date: 2015-01-22 08:49

Message:
I don't know what went wrong here, but that piece of code has been removed from git master, so that shouldn't happen
anymore..

----------------------------------------------------------------------

Comment By: Michael Vitale (pgdude)
Date: 2012-05-22 01:13

Message:
[4272-42.487]SQL_VARBINARY: about to call
convert_to_pgbinary, used = 399966009
[4272-42.488]STATEMENT ERROR: func=enlarge_statement,
desc='', errnum=1, errmsg='Query buffer allocate error in
copy_statement_with_parameters'
[4272-42.496]CONN ERROR: func=enlarge_statement, desc='',
errnum=0, errmsg='(NULL)'
[4272-42.499]retval=-1
[4272-42.500][[SQLGetDiagFieldW]] Handle=(3,08F47DD0) Rec=1
Id=4 info=(09BF6788,12)
[4272-42.500]PGAPI_GetDiagField entering
rec=1[4272-42.500]ER_ReturnError: status = 1, msg = #Query
buffer allocate error in copy_statement_with_parameters#
[4272-42.501]         szSqlState = 'HY000',len=61,
szError='(null)'
[4272-42.501]PGAPI_GetDiagField exiting 0
[4272-42.502][[SQLGetDiagFieldW]] Handle=(3,08F47DD0) Rec=2
Id=4 info=(09BF6788,12)
[4272-42.502]PGAPI_GetDiagField entering
rec=2[4272-42.502]ER_ReturnError: status =


----------------------------------------------------------------------

You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1011196&group_id=1000125


pgsql-odbc by date:

Previous
From:
Date:
Subject: [psqlodbc-Bugs][1011265] psqlodbc driver won't connect when socket not in /tmp
Next
From:
Date:
Subject: [psqlodbc-Bugs][1010834] QA Notice: Package has poor programming practices