Re: [PATCHES] Patch for jdbc2 ResultSet.java - Mailing list pgsql-jdbc
From | Bruce Momjian |
---|---|
Subject | Re: [PATCHES] Patch for jdbc2 ResultSet.java |
Date | |
Msg-id | 200109072130.f87LUA329126@candle.pha.pa.us Whole thread Raw |
In response to | Re: Patch for jdbc2 ResultSet.java (Joseph Shraibman <jks@selectacast.net>) |
List | pgsql-jdbc |
Your patch has been added to the PostgreSQL unapplied patches list at: http://candle.pha.pa.us/cgi-bin/pgpatches I will try to apply it within the next 48 hours. > > > Barry Lind wrote: > > Joseph, > > > > In looking at this patch it looks OK, except for the following change: > > > > > ! if (index>=-rows.size()) > > > --- 725,737 ---- > > > ! if (index > rows_size) > > > > I haven't looked at the entire method, but the change you made seems > > incorrect. > > > Oops! Thanks for catching that. Cut and paste error. I hate those. > > > If you want this patch to be applied it should be sent to the > > pgsql-patches mail list. > > > I thought that jdbc stuff was preferred to be on the jdbc list. I guess not. > > new patch: > > > *** ResultSet.java.orig Tue Sep 4 16:34:14 2001 > --- ResultSet.java Wed Sep 5 15:35:59 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 > > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
pgsql-jdbc by date: