logo       

Re: COPY support in pgsql-jdbc driver: msg#00171

db.postgresql.jdbc

Subject: Re: COPY support in pgsql-jdbc driver

Barry Lind writes:

8) Need to decide how to handle character set conversions, since you are not currently doing any character set conversions for either the input or output. Since the client character set may be different than the server character set, this needs to be considered. You probably need an additional argument to each method for the character set to use (probably also have methods without the extra parameter that assume the default jvm character set should be used). You can probably optimize this if you know that the source and target character set are the same to be a noop.

What's being dumped and reloaded here is a byte-stream (InputStream/OutputStream), not a character-stream (Reader/Writer). Presumably, the only thing that's ever going to be reloaded something that was dumped previously, so no conversions are necessary.
9) I think the logic that looks for the end of data marker can be more efficient. Off the top of my head (without giving too much thought to it) something along the lines of:
read from stream into a buffer
loop through the buffer spitting out its contents while byte != '\\'.
When you find a '\\' in the stream then look forward two characters and handle accordingly.
Reading one byte at a time from the stream will be slow, that is why it would be better to read into a buffer.

Just read from an InputStream, and let the caller worry about stacking a BufferedInputStream on top of it.


--
Sam

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@xxxxxxxxxxxxxx



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise