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: