Thread

  1. Bug and Bugfix for the jdbc-driver

    Tilo Levante <tilo@levante.de> — 2001-02-02T23:23:53Z

    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
    
    
    
  2. Re: Bug and Bugfix for the jdbc-driver

    Peter T Mount <peter@retep.org.uk> — 2001-02-06T09:28:19Z

    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/