Tom, Tom Lane writes: > Lee Kindness <[EMAIL PROTECTED]> writes: > > However, is COPY BINARY meant/designed to be used as transfer or > > backup mechanism? > > I think you're overlooking a key consideration: COPY BINARY is not > an isolated feature anymore. By design it uses the same data > representations as are used for binary query parameters and results > in the rest of the 7.4 FE/BE protocol.
Yeah, what i've overlooked is that an implementation detail now forms part of an external interface into PostgreSQL - this is a major change. > I could see some value in providing byte-swapping routines in libpq > to convert between local and network representations for integers and > floats. The underlying facilities (ntohl etc) are readily available, > of course, but it's a small matter that is easy to get wrong. > > I'm not sure it's worth packaging up COPY BINARY logic per se. I think > you'd end up with an API not materially simpler than dealing with the > format directly. And I'm unconvinced it'd actually be used widely, > whereas I do expect binary transfer of individual values to be common. Would I be right is guessing a binary CURSOR would return in values in the same format as a binary COPY, hence your expectation of more individual transfers/conversions? Actually with the new FE/BE protocol there is little call for the binary cursor now, yeah? What I proposed in my email yesterday is really just completing the new functions (PQnfields, PQputCopyData, PQgetCopyData and friends) described at: http://developer.postgresql.org/docs/postgres/libpq-copy.html so they don't stop at just giving you a blob of binary data and saying it has n fields - functions would be available to iterate over the fields and get the data out in a format which is immediately useful. Without this do you not think PQgetCopyData is of limited use except for being used by psql (which I guess isn't using it yet). Same for the writing functions. This is slightly different from my earlier example (on the connection rather than file-based) but functionally similar. BTW, do you have any examples of using PQgetCopyData - none in the source and can't find anything with Google. Regards, Lee. ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster