[ODBC] ODBC large binary data support - Mailing list pgsql-odbc

From myaddress@gmx-topmail.de
Subject [ODBC] ODBC large binary data support
Date
Msg-id trinity-7f1608ac-250d-45ec-a3e6-00a77774c25c-1483540496999@3capp-gmx-bs33
Whole thread Raw
Responses Re: [ODBC] ODBC large binary data support  ("Inoue, Hiroshi" <h-inoue@dream.email.ne.jp>)
List pgsql-odbc
Hello,
 
Recently I successfully stored a 3GB BLOB in PostgreSQL V9.6.1 via psql-odbc V09.05.0400, but I was not able to read it afterwards. I got the error message "Error reading from large object." for the very first SQLGetData call. I debugged it and found out that psql-odbc uses "lo_lseek" and "lo_tell" in "lobj.c" which limit the amount of data to 2GB (int32 usage). In "lobj.c" there is even the comment /* XXX: Should we use lo_lseek64? */ and /* XXX: Should we use lo_tell64? */.
I temporarily changed the code to use lo_lseek64 and lo_tell64 and I could read the 3GB BLOB.
So, could you please change the official psql-odbc to use lo_lseek64 and lo_tell64?
 
I found a discussion about that here:
https://www.postgresql.org/message-id/CAB7nPqSc7M_wJYjZEfQ7QyBg1mbo3_Dhg0Jeiqx7HpO+46HFTA@mail.gmail.com
 
It tells that the 64-bit functions are not supported prior to PostgreSQL V9.3. My suggestion would be either dropping the support for old versions or a dynamic switch between the 64-bit and the 32-bit functions based on the server version.
I hope that you support that.
Thank you very much.
 
 
 
 

pgsql-odbc by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: [ODBC] [pgsql-advocacy] looks nice
Next
From: "Inoue, Hiroshi"
Date:
Subject: Re: [ODBC] ODBC large binary data support