Re: [HACKERS] PQgetlength vs. octet_length()

2009-08-18 Thread Michael Clark
Hello - am I in the wrong mailing list for this sort of problem? :-/
Thanks,
Michael.


On Mon, Aug 17, 2009 at 6:28 PM, Michael Clark codingni...@gmail.comwrote:

 Hello everyone.
 Having a weird issue.

 I have a value inserted into a bytea column, which is about 137megs in
 size.

 If I use octet_length() to check the size of the column for this specific
 row I get this:
 TestDB=# SELECT octet_length(rawdata) FROM LargeData;
  octet_length
 --
 143721188

 When fetching the row through the C API, and I use PQgetlength() on the
 column of the row in question I get:
 (gdb) p (int)PQgetlength(result, rowIndex, i)
 $3 = 544453159


 I am wondering if I am lacking knowledge that explains why these values are
 different, or if something fishy is going on.

 What led me to investigating this is that fetching this row in a C
 application is causing a failure.  My programs memory usage balloons to 1.3
 gigs after executing this:
 const char *valC = PQgetvalue(result, rowIndex, i);

 Am I doing something wrong, or is there some ideas what I should
 investigate next?
 This seems quite puzzling to me.

 Thanks in advance for any help/insight offered,
 Michael.




[HACKERS] PQgetlength vs. octet_length()

2009-08-17 Thread Michael Clark
Hello everyone.
Having a weird issue.

I have a value inserted into a bytea column, which is about 137megs in size.

If I use octet_length() to check the size of the column for this specific
row I get this:
TestDB=# SELECT octet_length(rawdata) FROM LargeData;
 octet_length
--
143721188

When fetching the row through the C API, and I use PQgetlength() on the
column of the row in question I get:
(gdb) p (int)PQgetlength(result, rowIndex, i)
$3 = 544453159


I am wondering if I am lacking knowledge that explains why these values are
different, or if something fishy is going on.

What led me to investigating this is that fetching this row in a C
application is causing a failure.  My programs memory usage balloons to 1.3
gigs after executing this:
const char *valC = PQgetvalue(result, rowIndex, i);

Am I doing something wrong, or is there some ideas what I should investigate
next?
This seems quite puzzling to me.

Thanks in advance for any help/insight offered,
Michael.