> 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