Re: absolute positioning

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Indra Heckenbach <indra(at)macnica(dot)com>
Cc: "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: absolute positioning
Date: 2004-03-24 09:16:46
Message-ID: 406151FE.8010106@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Indra Heckenbach wrote:

> I went ahead and patched the JDBC jar from the CVS head on gborg. This
> patch should enable scrollable cursor support, and provide absolute()
> w/o loading all results into the JDBC buffer.

Context diff ('cvs diff -c') output is preferred as it's a lot more
readable..

Unfortunately, the patch
> involves changing some core aspects of the driver. I have not reviewed
> the existing code thoroughly, so I could have introduced problems. I
> have also not tested extensively. However, the patch works for me, and
> I could use the patched driver with existing applications. Is there a
> test suite for the driver? At this point I hope to get some feedback.

There is indeed a test suite -- try 'ant test'. You'll need the JUnit
jar available in Ant's classpath or it fails silently (we should fix
that..). You also need a database called 'test' and a user called 'test'
on a server running on localhost (these are tweakable -- see build.xml
for details). The test cases are in org/postgresql/test.

With your patch I get a couple of failures from the test suite that I
don't get with CVS HEAD:

> [junit] Testcase: testScrollableFetch(org.postgresql.test.jdbc2.CursorFetchTest): FAILED
> [junit] ran out of rows doing a reverse fetch on iteration 1/0 at position 49 with fetch size 1
> [junit] junit.framework.AssertionFailedError: ran out of rows doing a reverse fetch on iteration 1/0 at position 49 with fetch size 1
> [junit] at org.postgresql.test.jdbc2.CursorFetchTest.testScrollableFetch(CursorFetchTest.java:100)
> [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

> [junit] Testcase: testScrollableAbsoluteFetch(org.postgresql.test.jdbc2.CursorFetchTest): Caused an ERROR
> [junit] Result set not positioned properly, perhaps you need to call next().
> [junit] org.postgresql.util.PSQLException: Result set not positioned properly, perhaps you need to call next().
> [junit] at org.postgresql.jdbc1.AbstractJdbc1ResultSet.checkResultSet(AbstractJdbc1ResultSet.java:859)
> [junit] at org.postgresql.jdbc1.AbstractJdbc1ResultSet.getString(AbstractJdbc1ResultSet.java:222)
> [junit] at org.postgresql.jdbc1.AbstractJdbc1ResultSet.getFixedString(AbstractJdbc1ResultSet.java:823)
> [junit] at org.postgresql.jdbc1.AbstractJdbc1ResultSet.getInt(AbstractJdbc1ResultSet.java:310)
> [junit] at org.postgresql.test.jdbc2.CursorFetchTest.testScrollableAbsoluteFetch(CursorFetchTest.java:127)
> [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

-O

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Paul Thomas 2004-03-24 09:20:09 Re: Postmaster not dropping connections on tomcat restart.
Previous Message Indra Heckenbach 2004-03-24 07:29:36 Re: absolute positioning