Thread: Bug and Bugfix for the jdbc-driver

Bug and Bugfix for the jdbc-driver

From
"Tilo Levante"
Date:
In the datamodeller of JBuilder 4, only the systemtables are shown.
The Problem is in the funtion

  getTableTypes() in the file
src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java

This function should return a list of TableTypes. But it resturns a list of
6 Identical entries
(SYSTEM INDEX) instead.

I exchanged 2 lines of code to fix the problem. it works fine at my place.

here is the modified funtion:

  public java.sql.ResultSet getTableTypes() throws SQLException
  {
    Field f[] = new Field[1];
    Vector v = new Vector();
    f[0] = new Field(connection,new String("TABLE_TYPE"),iVarcharOid,32);
    for(int i=0;i<getTableTypes.length;i++) {
      byte[][] tuple = new byte[1][0];
      tuple[0] = getTableTypes[i][0].getBytes();
      v.addElement(tuple);
    }
    return new ResultSet(connection,f,v,"OK",1);
  }

The  lines
    for(int i=0;i<getTableTypes.length;i++) {
      byte[][] tuple = new byte[1][0];
are exchanged.

This Fix doesn't solve all problems with JBuilder4.

Gretings

tilo
tilo@levante.de

Re: Bug and Bugfix for the jdbc-driver

From
Peter T Mount
Date:
Quoting Tilo Levante <tilo@levante.de>:

> In the datamodeller of JBuilder 4, only the systemtables are shown.
> The Problem is in the funtion
>
>   getTableTypes() in the file
> src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java
>
> This function should return a list of TableTypes. But it resturns a list
> of
> 6 Identical entries
> (SYSTEM INDEX) instead.

This was fixed about 6 months ago. What version of the driver are you using?

[snip]

> The  lines
>     for(int i=0;i<getTableTypes.length;i++) {
>       byte[][] tuple = new byte[1][0];
> are exchanged.

This was the exact fix (actually it also occurs in another method as well).

> This Fix doesn't solve all problems with JBuilder4.

No, althought the current development driver is working with my copy of
JBuilder4.

Peter

--
Peter Mount peter@retep.org.uk
PostgreSQL JDBC Driver: http://www.retep.org.uk/postgres/
RetepPDF PDF library for Java: http://www.retep.org.uk/pdf/