Re: Proposal to provide the facility to set binary format output for specific OID's per session
Dave Cramer <davecramer@gmail.com>
From: Dave Cramer <davecramer@gmail.com>
To: Sehrope Sarkuni <sehrope@jackdb.com>
Cc: Joe Conway <mail@joeconway.com>,
Jack Christensen <jack@jackchristensen.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-07-26T12:11:04Z
Lists: pgsql-hackers
Attachments
- 0002-allocate-the-correct-amount-of-memory-in-permanent-s.patch (application/octet-stream) patch 0002
Hi Sehrope, On Mon, 25 Jul 2022 at 17:53, Dave Cramer <davecramer@gmail.com> wrote: > Hi Sehrope, > > > On Mon, 25 Jul 2022 at 17:22, Sehrope Sarkuni <sehrope@jackdb.com> wrote: > >> Idea here makes sense and I've seen this brought up repeatedly on the >> JDBC lists. >> >> Does the driver need to be aware that this SET command was executed? I'm >> wondering what happens if an end user executes this with an OID the driver >> does not actually know how to handle. >> > I suppose there would be a failure to read the attribute correctly. > >> >> > + Oid *tmpOids = palloc(length+1); >> > ... >> > + tmpOids = repalloc(tmpOids, length+1); >> >> These should be: sizeof(Oid) * (length + 1) >> > > Yes they should, thanks! > >> >> Also, I think you need to specify an explicit context via >> MemoryContextAlloc or the allocated memory will be in the default context >> and released at the end of the command. >> > > Also good catch > > Thanks, > Attached patch to correct these deficiencies. Thanks again, > > Dave > >>