Re: BUG #1065: JDBC DataSource Serializability - Mailing list pgsql-bugs

From Kris Jurka
Subject Re: BUG #1065: JDBC DataSource Serializability
Date
Msg-id Pine.LNX.4.33.0401260716210.18726-200000@leary.csoft.net
Whole thread Raw
In response to BUG #1065: JDBC DataSource Serializability  ("PostgreSQL Bugs List" <pgsql-bugs@postgresql.org>)
List pgsql-bugs
> The following bug has been logged online:
>
> Bug reference:      1065
> Logged by:          R. Lemos
>
> The JDBC2 pooled datasource(org.postgresql.jdbc2.optional.ConnectionPool),
> although implements java.io.Serializable, cannot be correctly serialized.
> Its superclass does not implement java.io.Serializable and have important
> fields marked as private.

The BaseDataSource class cannot be made Serializable because one of its
subclasses (PoolingDataSource) cannot be serialized.  The
PoolingDataSource class has member variables which can contain active
database connections which can't be persisted.

> Either should the superclass be Serializable or its fields non-private
> (protected, friend or public).
>

Simply marking the fields with a weaker access level won't magically
persist them.  This requires manually using writeObject and
readObject.  This problem also occurs in SimpleDataSource.  I've
attached the patch I've applied to the gborg cvs repository.

Thanks for the report.

Kris Jurka

pgsql-bugs by date:

Previous
From: "PostgreSQL Bugs List"
Date:
Subject: BUG #1066: avg(age()) results months with more than 30 days
Next
From: Jeremy Yoder
Date:
Subject: Postgres 7.4.1 "make check" failed "stats" test on Solaris 2.6