Status of binary transmission vs. plaintext (resultFormat)?

From: Hajo Kirchhoff <mailinglists(at)hajo-kirchhoff(dot)de>
To: pgsql-odbc(at)postgresql(dot)org
Subject: Status of binary transmission vs. plaintext (resultFormat)?
Date: 2019-05-01 13:00:52
Message-ID: qac5a5$1e5g$1@blaine.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Hi there,
using Wirekshark I noticed that UUIDs are transferred in plaintext
between the ODBC driver and the postgreSQL database. For me this is a
big deal since it uses twice as much data as the binary form (36 char
vs. 16 bytes).

I downloaded and analysed the ODBC sources and found that all calls to
PQexecParams and PQexecPrepare use '0' for the 'resultFormat'. IOW, the
ODBC driver explicitly requests all results in plaintext form as opposed
to the binary form. This has been since it first used libpq as its
interface to postgreSQL.

Is my assumption correct that the ODBC driver really is not prepared to
handle binary transfer? IOW that all data, be it float, int, timestamp,
uuid, bool is really transmitted in full text form?

What is the development status here? Are there or have there been any
plans to support 'resultFormat == 1' (see
https://www.postgresql.org/docs/11/libpq-exec.html)?

What would be neccessary to support that?

Best regards
Hajo

--
Hajo Kirchhoff
Kirchhoff IT-Consulting
http://www.litwindow.com

Browse pgsql-odbc by date

  From Date Subject
Next Message Deon Bowers 2019-05-01 23:52:08 Root certificate not found
Previous Message Marco Gaiarin 2019-04-30 15:31:07 Postgres 9.1 -> 9.4, ODBC timeout on complex query...