1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-17 17:02:08 +03:00

Some more including the patch to DatabaseMetaData backed out by Bruce.

Tue Feb 13 16:33:00 GMT 2001 peter@retep.org.uk
        - More TestCases implemented. Refined the test suite api's.
        - Removed need for SimpleDateFormat in ResultSet.getDate() improving
          performance.
        - Rewrote ResultSet.getTime() so that it uses JDK api's better.

Tue Feb 13 10:25:00 GMT 2001 peter@retep.org.uk
        - Added MiscTest to hold reported problems from users.
        - Fixed PGMoney.
        - JBuilder4/JDBCExplorer now works with Money fields. Patched Field &
          ResultSet (lots of methods) for this one. Also changed cash/money to
          return type DOUBLE not DECIMAL. This broke JBuilder as zero scale
          BigDecimal's can't have decimal places!
        - When a Statement is reused, the previous ResultSet is now closed.
        - Removed deprecated call in ResultSet.getTime()

Thu Feb 08 18:53:00 GMT 2001 peter@retep.org.uk
        - Changed a couple of settings in DatabaseMetaData where 7.1 now
          supports those features
        - Implemented the DatabaseMetaData TestCase.

Wed Feb 07 18:06:00 GMT 2001 peter@retep.org.uk
        - Added comment to Connection.isClosed() explaining why we deviate from
          the JDBC2 specification.
        - Fixed bug where the Isolation Level is lost while in autocommit mode.
        - Fixed bug where several calls to getTransactionIsolationLevel()
          returned the first call's result.
This commit is contained in:
Peter Mount
2001-02-13 16:39:06 +00:00
parent 2410963e8c
commit 3d21bf82c3
17 changed files with 1149 additions and 103 deletions

View File

@ -25,11 +25,11 @@ public abstract class ResultSet
protected Connection connection; // the connection which we returned from
protected SQLWarning warnings = null; // The warning chain
protected boolean wasNullFlag = false; // the flag for wasNull()
// We can chain multiple resultSets together - this points to
// next resultSet in the chain.
protected ResultSet next = null;
/**
* Create a new ResultSet - Note that we create ResultSets to
* represent the results of everything.
@ -52,8 +52,8 @@ public abstract class ResultSet
this.this_row = null;
this.current_row = -1;
}
/**
* Create a new ResultSet - Note that we create ResultSets to
* represent the results of everything.
@ -69,7 +69,7 @@ public abstract class ResultSet
{
this(conn,fields,tuples,status,updateCount,0);
}
/**
* We at times need to know if the resultSet we are working
* with is the result of an UPDATE, DELETE or INSERT (in which
@ -83,7 +83,7 @@ public abstract class ResultSet
{
return (fields != null);
}
/**
* Since ResultSets can be chained, we need some method of
* finding the next one in the chain. The method getNext()
@ -95,7 +95,7 @@ public abstract class ResultSet
{
return (java.sql.ResultSet)next;
}
/**
* This following method allows us to add a ResultSet object
* to the end of the current chain.
@ -109,7 +109,7 @@ public abstract class ResultSet
else
next.append(r);
}
/**
* If we are just a place holder for results, we still need
* to get an updateCount. This method returns it.
@ -120,7 +120,7 @@ public abstract class ResultSet
{
return updateCount;
}
/**
* We also need to provide a couple of auxiliary functions for
* the implementation of the ResultMetaData functions. In
@ -133,7 +133,7 @@ public abstract class ResultSet
{
return rows.size();
}
/**
* getColumnCount returns the number of columns
*
@ -143,7 +143,7 @@ public abstract class ResultSet
{
return fields.length;
}
/**
* Returns the status message from the backend.<p>
* It is used internally by the driver.
@ -154,7 +154,7 @@ public abstract class ResultSet
{
return status;
}
/**
* returns the OID of a field.<p>
* It is used internally by the driver.
@ -166,7 +166,7 @@ public abstract class ResultSet
{
return fields[field-1].getOID();
}
/**
* returns the OID of the last inserted row
*/
@ -174,12 +174,36 @@ public abstract class ResultSet
{
return insertOID;
}
/**
* This is part of the JDBC API, but is required by org.postgresql.Field
*/
public abstract void close() throws SQLException;
public abstract boolean next() throws SQLException;
public abstract String getString(int i) throws SQLException;
/**
* This is used to fix get*() methods on Money fields. It should only be
* used by those methods!
*
* It converts ($##.##) to -##.## and $##.## to ##.##
*/
public String getFixedString(int col) throws SQLException {
String s = getString(col);
// Handle SQL Null
if(s==null)
return null;
// Handle Money
if(s.charAt(0)=='(') {
s="-"+org.postgresql.util.PGtokenizer.removePara(s).substring(1);
}
if(s.charAt(0)=='$') {
s=s.substring(1);
}
return s;
}
}