BinaryTransfer patches v8

From: Mikko Tiihonen <mikko(dot)tiihonen(at)iki(dot)fi>
To: pgsql-jdbc <pgsql-jdbc(at)postgresql(dot)org>
Subject: BinaryTransfer patches v8
Date: 2007-07-26 00:33:44
Message-ID: 1185410024.17670.24.camel@dual.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi,

After a bit of a delay, you can find the latest and greatest binary
transfer patches here: http://mokki.dyndns.org/~mtiihone/postgresql/

The actual binary transfer changes are here (depends on some earlier
sent cleanup patches):
http://mokki.dyndns.org/~mtiihone/postgresql/binarytransfer/binaryTransfer-v8.patch

All required and some extra patches combined into one for easy testing:
http://mokki.dyndns.org/~mtiihone/postgresql/binarytransfer/binaryTransfer-v8-all-in-one.patch

This version passes all existing unit tests even with the
test-binary.patch hack that Kirs Jurka created.

I would like to get some feedback for the patches because currently
I have nothing else planned.
- does your application break with it
- do you see any performance impact (in server or client side)
- would you like to test some other data types than INT[2,4,8]
FLOAT[4,8], TIME*, DATE*. I can try to create additional support
for other data types too.
- is there any chance of getting them into CVS?

Changes since previous version:
- merged binaryResultSet and binarySend patches to one
- set session time zone when connection starts to JVM default time zone
instead of using the server time zone (does not affect text mode
transfers at all but makes binary time receives easier)
- fixed getTime, getDate and getTimestamp methods to return exactly
same values as the text format
- for the first time passes all unit tests
- separated cleanup patches to make the actual new code introduction
smaller and thus easier to review. Now depends on:
* (optional) misc-fixes.patch (without it there will be later one
easy collision in imports later)
- this patch still definitely needs much review even though
most of it is very simple (see my earlier mail:
http://archives.postgresql.org/pgsql-jdbc/2007-07/msg00100.php
* cleanup-wasnullflag.patch
- should be very straight forward
* metadata-binary.patch
- an example on how to fix metadata methods to work when binary
transfer is enabled. Allows to pass unit tests, but more similar
work still needs to be done.
* (optional) fix-binary-update-v2.patch (causes one easy collision
if not applied)
- fixes a real bug in updateable result sets unrelated to binary
transfer
* resultset-numeric-getter-tests.patch
- enhanced text protocol float4 and float8 accuracy and adds a
new test case
* timetest-fixes-v3.patch
- fixes timezone tests to be fair so that both text and binary
transfer can pass them
- optionally use test-binary.patch (created by Kris Jurka) to force
even the first invocation of a query to fetch results using binary
transfer when running unit tests

-Mikko

Browse pgsql-jdbc by date

  From Date Subject
Next Message Albe Laurenz 2007-07-26 07:58:34 Re: defaultAutoCommit problem with glassfish
Previous Message Oliver Jowett 2007-07-25 22:08:38 Re: defaultAutoCommit problem with glassfish