Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: [HACKERS] Binary Cursors, and the COPY command


  • From: Oliver Jowett <oliver(at)opencloud(dot)com>
  • To: Thomas Hallgren <thhal(at)mailblocks(dot)com>
  • Cc: pgsql-jdbc(at)postgresql(dot)org
  • Subject: Re: [HACKERS] Binary Cursors, and the COPY command
  • Date: Wed, 28 Jul 2004 10:19:03 +1200
  • Message-id: <4106D4D7.6070902@opencloud.com> <text/plain>

Thomas Hallgren wrote:

I'm the author of PL/Java. It uses its own JDBC driver on top of SPI. The main reason for thas is that I don't want the overhead of streaming data and flipping byte order when everything is readily available in memory. When "client" and "server" resides in the same process the overhead is measurable. By using java.nio in your JDBC, I beleive it would be possible to not just use native byte ordering, but perhaps also to create a nice abstraction allowing direct access to structures in memory rather than streaming data, thus obliviate the need for my own driver. And PL/Java will never run on Java 1.3 or older :-)

Do you have any opinion on that?

This is a *lot* of work. There are bigger issues to deal with than the use of NIO -- lots of the higher-level JDBC code makes assumptions about the details of the protocol it is speaking. I've made some inroads on that front with the V3 protocol rewrite I did recently but there will still be a lot more work in that area.

That said, I can see that it might work with "SPI within the same process" as a new underlying "protocol". That could use NIO or whatever you want, and conditionally build that code only when 1.4 + the SPI interface is available. The query/parameter abstraction that's currently in place is intended to give the protocol flexibility about how it represents the data (although it is pretty basic at the moment) so I don't think it'd be necessary to have NIO in the protocol-independent parts of the driver.

Anyway, good luck :)

-O



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group