From: Heikki Linnakangas <hlinnakangas@vmware.com>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Stephen Frost <sfrost@snowman.net>
Cc: PostgreSQL-development <pgsql-hackers@postgreSQL.org>
Subject: Re: PQgetssl() and alternative SSL implementations
Date: Tue, 19 Aug 2014 19:22:39 +0300
Message-ID: <53F379CF.5090100@vmware.com> (raw)
In-Reply-To: <20140819161000.GF6817@eldon.alvh.no-ip.org>
References: <53F1E989.8020609@vmware.com>
<20140819144841.GA16422@tamriel.snowman.net>
<53F36B6E.6040105@vmware.com>
<20140819154436.GD16422@tamriel.snowman.net>
<20140819161000.GF6817@eldon.alvh.no-ip.org>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-hackers>
On 08/19/2014 07:10 PM, Alvaro Herrera wrote:
> Stephen Frost wrote:
>> * Heikki Linnakangas (hlinnakangas@vmware.com) wrote:
>>
>>> Indeed, the ODBC driver only uses libpq for authentication, then
>>> calls PQgetssl(), and takes over the whole show calling SSL_read()
>>> and SSL_write() itself. Ideally, we'd modify psqlodbc to stop doing
>>> that, but that's not an easy job. In the short-term, I think we need
>>> to export pqsecure_read() and pqsecure_write() functions in libpq,
>>> so that the ODBC driver can use those instead of SSL_read() and
>>> SSL_write().
>>
>> Yeah, that's what I remembered. There was an attempt to make that
>> change at one point, but it was reverted due to the lack of batching
>> ability in libpq (without resorting to cursors, as I recall...),
>> requiring double the memory usage. Still, if pqsecure_read and
>> pqsecure_write are sufficient to make the ODBC driver work, that's good
>> news. I had been worried it did other things with the OpenSSL struct
>> beyond just using those.
>
> Um, libpq has recently gained the ability to return result fragments,
> right? Those didn't exist when libpq-ification of odbc was attempted,
> as I recall -- perhaps it's possible now.
IIRC the thing that psqlodbc does that libpq doesn't support is sending
multiple queries to the backend, and then wait for *all* the replies to
arrive, in a single round-trip. The closest thing is using PQexec("foo;
bar;"), but that's quite limited.
- Heikki
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: hlinnakangas@vmware.com, alvherre@2ndquadrant.com, sfrost@snowman.net
Subject: Re: PQgetssl() and alternative SSL implementations
In-Reply-To: <53F379CF.5090100@vmware.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox