Re: PyGreSQL inserttable patch - Mailing list pgsql-patches

From Christoph Zwerschke
Subject Re: PyGreSQL inserttable patch
Date
Msg-id 004501c29d19$cf061220$271f11ac@zwerschke
Whole thread Raw
In response to Re: PyGreSQL inserttable patch  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: PyGreSQL inserttable patch  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-patches
> Function updated.  I assume you wanted to replace pg_inserttable in
> pgmodule.c with your version, which I have done.

Yes, thank you. I'm using the patched function intensely in a project for
nearly a year so there shouldn't be any great bugs in it.

> As for your comment about COPY BINARY, binary is not portable between
> machines so I can't see why we would perfer that.  Is that something
> that we would never do between machines?

You are right, as pg_inserttable is running on the client side, it does not
know which binary format to provide for the server. However, I understand
the format might become machine independant in the future (the new file
format since 7.1 already indicates the integer layout etc.) Also,
pg_inserttable could check whether the database host of the connection is
the localhost and switch to binary mode only in that case. I just had the
idea that this could reduce the number of conversions and speed up the
process a lot. For instance, a Python floating point number will be
converted three times, first with PyFloat_AS_DOUBLE to a C double, then with
sprintf("%g") to a string representation and then again in PostgreSQL "COPY
TO" to PostgreSQL double precision. My idea was to convert the Python float
directly to a PostgreSQL float.

Christoph Zwerschke
Zentrale Universitaetsverwaltung Heidelberg


pgsql-patches by date:

Previous
From: Hannu Krosing
Date:
Subject: Re: Hierarchical queries a la Oracle patch. for 7.3rc1.
Next
From: Rod Taylor
Date:
Subject: Alter Domain doc fix