RE: [INTERFACES] JDBC - Numeric & Decimal handling in 6.5.3?

From: Peter Mount <petermount(at)it(dot)maidstone(dot)gov(dot)uk>
To: "'Dave Del Signore'" <dave(at)narnia(dot)toledo(dot)oh(dot)us>, pgsql-interfaces(at)postgresql(dot)org
Subject: RE: [INTERFACES] JDBC - Numeric & Decimal handling in 6.5.3?
Date: 2000-02-22 07:49:14
Message-ID: 1B3D5E532D18D311861A00600865478C70C232@exchange1.nt.maidstone.gov.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

The 6.5.3 driver is infact the 6.5.2 driver, due to a problem I had with
CVS at the time :-(

Peter

--
Peter Mount
Enterprise Support
Maidstone Borough Council
Any views stated are my own, and not those of Maidstone Borough Council.

-----Original Message-----
From: Dave Del Signore [mailto:dave(at)narnia(dot)toledo(dot)oh(dot)us]
Sent: Saturday, February 19, 2000 7:25 PM
To: pgsql-interfaces(at)postgresql(dot)org
Subject: [INTERFACES] JDBC - Numeric & Decimal handling in 6.5.3?

Hi,

I've noticed that the numeric/decimal handling in the stock 6.5.3 driver
is still not functional. Is work in progress on this one? I think I've
been able to patch the driver up to support these types. In addition,
I've fixed some other unimplemented functions. I also moved a few
functions from the ResultSetMetaData class to the Field class, as it
seemed the more appropriate place for them, and so that I might cache
some of the field's properties instead of doing lookups each time.

This is the first time I've ever posted a patch to a major project.
Please forgive me (and let me know) if I've committed any breaches of
etiquette, or done anything else improperly.

The patch is available at:

http://www.narnia.toledo.oh.us/downloads/jdbc.patch.gz.

The patch should be applied from the interfaces/jdbc directory.

Here's a list of the things I've done:

postgresql.jdbc[12].DatabaseMetaData.getColumns()
fixed Numeric Size and Decimal Digits handling

postgresql.jdbc[12].ResultSetMetaData.isCaseSensitive()
added handling to return appropriate values for numeric & decimal
types.
postgresql.jdbc[12].ResultSetMetaData.isSigned()
added handling to return appropriate values for numeric & decimal
types.
postgresql.jdbc[12].ResultSetMetaData.getPrecision()
now returns postgresql.Field.getPrecision()
postgresql.jdbc[12].ResultSetMetaData.getScale()
now returns postgresql.Field.getScale()
postgresql.jdbc[12].ResultSetMetaData.getTableName()
now returns postgresql.Field.getTableName()

postgresql.jdbc2.ResultSet.next()
sets this_row to null when we've moved past the last row
postgresql.jdbc2.ResultSet.afterLast()
sets this_row to null and current_row to 1 past the last row's index

postgresql.jdbc2.ResultSet.getBigDecimal(int column)
returns the appropriate value. Currently does not force the scale
to the value
specified by the row's metadata.
postgresql.jdbc2.ResultSet.getBigDecimal(String columnName)
returns postgresql.jdbc2.ResultSet.getBigDecimal(int column)
postgresql.jdbc2.ResultSet.isBeforeFirst()
postgresql.jdbc2.ResultSet.isFirst()
postgresql.jdbc2.ResultSet.isLast()
postgresql.jdbc2.ResultSet.isAfterLast()
returns the appropriate value, by comparing current_row to the size
of the row array

postgresql.Field.types[]
added numeric and decimal
postgresql.Field.typei[]
added java.sql.Types.NUMERIC and DECIMAL
postgresql.Field.typei[]
postgresql.Field.getDetails()
method to determine whether we've got the ResultSet's metadata
cached, and get it if not.
postgresql.Field.cacheDetails()
method to query the field's metadata and cache the results
postgresql.Field.getTableName()
returns the field's table name.
postgresql.Field.getAtttypmod()
return the field's (postgresql) atttypmod property
postgresql.Field.getScale()
from ResultSetMetaData: return the field's scale, with handling for
numerics & decimals
postgresql.Field.getPrecision()
from ResultSetMetaData: return the field's precision, with handling
for numerics & decimals

postgresql.ResultSet.getInt()
abstract class to allow compilation

************

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Peter Mount 2000-02-22 07:52:42 RE: [INTERFACES] JDBS error codes
Previous Message Peter Mount 2000-02-22 07:48:10 RE: [INTERFACES] JDBC - Numeric & Decimal handling in 6.5.3?