Patch for jdbc2 ResultSet.java - Mailing list pgsql-jdbc

From Joseph Shraibman
Subject Patch for jdbc2 ResultSet.java
Date
Msg-id 3B953FFC.7070002@selectacast.net
Whole thread Raw
List pgsql-jdbc
Just some minor fixes to avoid duplicate function calls that were bugging me.

If rows is garunteed not to change then we can store the size in a final class variable,
but I wasn't sure I could assume that.

*** ResultSet.java.orig    Tue Sep  4 16:34:14 2001
--- ResultSet.java    Tue Sep  4 16:45:20 2001
***************
*** 134,140 ****
     {
       //release resources held (memory for tuples)
       if(rows!=null) {
-       rows.setSize(0);
         rows=null;
       }
     }
--- 134,139 ----
***************
*** 709,716 ****
     public int findColumn(String columnName) throws SQLException
     {
       int i;
!
!     for (i = 0 ; i < fields.length; ++i)
         if (fields[i].getName().equalsIgnoreCase(columnName))
       return (i+1);
       throw new PSQLException ("postgresql.res.colname",columnName);
--- 708,715 ----
     public int findColumn(String columnName) throws SQLException
     {
       int i;
!     final int flen = fields.length;
!     for (i = 0 ; i < flen; ++i)
         if (fields[i].getName().equalsIgnoreCase(columnName))
       return (i+1);
       throw new PSQLException ("postgresql.res.colname",columnName);
***************
*** 726,736 ****
       if (index==0)
           throw new SQLException("Cannot move to index of 0");

       //if index<0, count from the end of the result set, but check
       //to be sure that it is not beyond the first index
       if (index<0)
!         if (index>=-rows.size())
!         internalIndex=rows.size()+index;
           else {
           beforeFirst();
           return false;
--- 725,737 ----
       if (index==0)
           throw new SQLException("Cannot move to index of 0");

+     final int rows_size = rows.size();
+
       //if index<0, count from the end of the result set, but check
       //to be sure that it is not beyond the first index
       if (index<0)
!         if (index > rows_size)
!         internalIndex = rows_size+index;
           else {
           beforeFirst();
           return false;
***************
*** 739,745 ****
       //must be the case that index>0,
       //find the correct place, assuming that
       //the index is not too large
!     if (index<=rows.size())
           internalIndex = index-1;
       else {
           afterLast();
--- 740,746 ----
       //must be the case that index>0,
       //find the correct place, assuming that
       //the index is not too large
!     if (index <= rows_size)
           internalIndex = index-1;
       else {
           afterLast();
***************
*** 753,760 ****

       public void afterLast() throws SQLException
       {
!     if (rows.size() > 0)
!         current_row = rows.size();
       }

       public void beforeFirst() throws SQLException
--- 754,762 ----

       public void afterLast() throws SQLException
       {
!     final int rows_size = rows.size();
!     if (rows_size > 0)
!         current_row = rows_size;
       }

       public void beforeFirst() throws SQLException
***************
*** 967,973 ****

       public boolean isAfterLast() throws SQLException
       {
!     return (current_row >= rows.size()  && rows.size() > 0);
       }

       public boolean isBeforeFirst() throws SQLException
--- 969,976 ----

       public boolean isAfterLast() throws SQLException
       {
!     final int rows_size = rows.size();
!     return (current_row >= rows_size && rows_size > 0);
       }

       public boolean isBeforeFirst() throws SQLException
***************
*** 982,995 ****

       public boolean isLast() throws SQLException
       {
!     return (current_row == rows.size() -1  && rows.size() > 0);
       }

       public boolean last() throws SQLException
       {
!     if (rows.size() <= 0)
           return false;
!     current_row = rows.size() - 1;
       this_row = (byte [][])rows.elementAt(current_row);
       return true;
       }
--- 985,1000 ----

       public boolean isLast() throws SQLException
       {
!     final int rows_size = rows.size();
!     return (current_row == rows_size -1  && rows_size > 0);
       }

       public boolean last() throws SQLException
       {
!     final int rows_size = rows.size();
!     if (rows_size <= 0)
           return false;
!     current_row = rows_size - 1;
       this_row = (byte [][])rows.elementAt(current_row);
       return true;
       }
***************
*** 1480,1483 ****
           }
       }
   }
-
--- 1485,1487 ----


--
Joseph Shraibman
jks@selectacast.net
Increase signal to noise ratio.  http://www.targabot.com


pgsql-jdbc by date:

Previous
From: "Ross J. Reedstrom"
Date:
Subject: Re: driver source code indentation
Next
From: Tom Lane
Date:
Subject: Re: driver source code indentation