Steps taken through while transmitting binary data

From: Volkan YAZICI <volkan(dot)yazici(at)gmail(dot)com>
To: pgsql-novice(at)postgresql(dot)org
Subject: Steps taken through while transmitting binary data
Date: 2005-06-13 07:37:19
Message-ID: 7104a73705061300371af5beb6@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Hi,

What's the difference between server/client binary data conversions
[1] of these commands:

i. "COPY ... TO ... WITH BINARY ..."
ii. "DECLARE ... BINARY ..."
iii. PQexecParams(..., 1)

AFAIC, the method followed in (i) and (ii) is (omiting byte order conversions):
{server| binary} -> {client| binary}

But in the way as (iii) (which requires proto 3.0):
{server| binary -> char} -> {client| char -> binary}

To summarize, I wonder the handling steps taken through while
transmitting binary data. (I tried to figure it out from source code
by myself, but couldn't reach an answer.) Does it work as i tried to
explain above while using PQexecParams()? Namely do we require dummy
conversions while gathering binary data with PQexecParams()?

I'd be so appreciated for any kind of explanation.
Regards.

[1] « Normal cursors return data in text format, the same as a SELECT
would produce. Since data is stored natively in binary format, the
system must do a _conversion_ to produce the text format. Once the
information comes back in text form, the client application may need
to _convert_ it to a binary format to manipulate it.» [from
doc/sql-copy.html]

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Ville Leinonen 2005-06-13 11:15:17 Problems with trigger and function.
Previous Message Verena Ruff 2005-06-12 21:44:08 Inheritance, foreign key constraint