Hi,
Miha D. Puc wrote:
So there is a need (people asking) and reason (performance) to use
binary format.
You are aware that PostgreSQL itself *can* transfer values in binary
format? Check the Documentation: "43.1.3. Formats and Format Codes":
http://www.postgresql.org/docs/8.1/interactive/protocol.html
This works since protocol version 3, AFAICT. The client needs to support
that, though. But the php pgsql binding, just as an example, doesn't use
that feature.
So with all the above there should be a utility for conversion between
binary format and native types and/or string format in libpq.
There already are. Not in libpq, though. Most (if not all) internal
types have those functions. See for example:
# SELECT typinput, typoutput, typreceive, typsend
# FROM pg_type WHERE typname='int4';
typinput | typoutput | typreceive | typsend
----------+-----------+------------+----------
int4in | int4out | int4recv | int4send
(1 row)
The input and output functions deal with the textual representation,
while send and receive convert to a binary representation in network
byte order.
Hope that helps.
Regards
Markus
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?
http://archives.postgresql.org
|