Re: JBoss w/int8 primary keys in postgres ... - Mailing list pgsql-jdbc

From João Ribeiro
Subject Re: JBoss w/int8 primary keys in postgres ...
Date
Msg-id 3F619CEB.6090406@mobicomp.com
Whole thread Raw
In response to Re: JBoss w/int8 primary keys in postgres ...  (James Robinson <jlrobins@socialserve.com>)
List pgsql-jdbc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi!

As i told before if you have an app already in production state i
recomend you to do as we did:
patch the setLong  and setBigDecimal methods and compile your own
version of postgres JDBC driver.

It's very easy to be done. Here is an example:

The orginal look like:

public void setBigDecimal(int parameterIndex, BigDecimal x) throws
SQLException
       {
     if (x == null)
     setNull(parameterIndex, Types.OTHER);
     else
     set(parameterIndex, x.toString());
       }


public void setLong(int parameterIndex, long x) throws SQLException {
        set(parameterIndex, (new Long(x)).toString());
}


and we changed de set(...) to setString(..) and its look like:


public void setBigDecimal(int parameterIndex, BigDecimal x) throws
SQLException {
     if (x == null)
     setNull(parameterIndex, Types.OTHER);
     else
     setString(parameterIndex, x.toString());
}


public void setLong(int parameterIndex, long x) throws SQLException {
       setString(parameterIndex, (new Long(x)).toString());

}

With this change when we use the setBigdecimal or the setLong in a
query the value passed will be evaluated and the will be correctly
used.

This has been working in a production database for more than a year.


Regards.
João Paulo Ribeiro



James Robinson wrote:

>
> On Wednesday, September 10, 2003, at 11:42  PM, Tom Lane wrote:
>
>> Once upon a time it seemed that was where the hot buttons were, but
>> if your hot button is mostly int8, maybe we could fix that by removing
>> the int8-vs-int4 cross-type operators, and not touch the initial typing
>> of integer literals just yet.  Does someone want to explore the
>> consequences of trying that?
>>
>
> I would be delighted, sitting on a 59 table production OLTP system,
> all with int8 primary keys and foreign key references out the yin yang.
> Things are running within within our needs currently, but just having
> realized that things could potentially be much better, the desire for
> 'wow, we're doing all of these O(n) searches that we thought were
> log2(n), so this could be so much better than we realized without
> us touching our app logic at all.'
>
> My personal need-to-be-scratched is int8 exclusively. What sort of 'fool'
> would ever have a int2 index :-) ? Probably the same number of 'fools'
> with int8.
>
> James
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>    (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE/YZzwbwM7R+C+9B0RAjZfAKCwHXfajcKndw8mDf31CPzpm0BinwCeLu2S
PvX0B9KY5zfwiVJFi29MRD8=
=3Jay
-----END PGP SIGNATURE-----



pgsql-jdbc by date:

Previous
From: Barry Lind
Date:
Subject: Re: Help With the JDBC driver
Next
From: "Kevin Schroeder"
Date:
Subject: JDBC Streaming large objects