[ psqlodbc-Bugs-1011196 ] Cannot insert very large blobs

From: <noreply(at)pgfoundry(dot)org>
To: noreply(at)pgfoundry(dot)org
Subject: [ psqlodbc-Bugs-1011196 ] Cannot insert very large blobs
Date: 2012-05-22 14:13:34
Message-ID: 20120522141334.5A7521B1AF79@pgfoundry.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Bugs item #1011196, was opened at 2012-05-21 21:57
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1011196&group_id=1000125

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

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 399 megabytes 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: Michael Vitale (pgdude)
Date: 2012-05-21 22: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

Browse pgsql-odbc by date

  From Date Subject
Next Message Hiroshi Inoue 2012-05-23 03:53:21 Re: cannot copy very large bytea data
Previous Message noreply 2012-05-22 14:13:04 [ psqlodbc-Bugs-1011196 ] Cannot insert very large blobs