Fix the off by one errors in ResultSet from 6.5.3, and more.
I'm including a diff of postgresql-7.0/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java. I've clearly marked all the fixes I did. Would *someone* who has access to the cvs please put this in? Joseph Shraibman
This commit is contained in:
parent
a28f117790
commit
2cfb14e8ea
@ -797,12 +797,14 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
|
|||||||
|
|
||||||
public void afterLast() throws SQLException
|
public void afterLast() throws SQLException
|
||||||
{
|
{
|
||||||
current_row = rows.size() + 1;
|
if (rows.size() > 0)
|
||||||
|
current_row = rows.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void beforeFirst() throws SQLException
|
public void beforeFirst() throws SQLException
|
||||||
{
|
{
|
||||||
current_row = 0;
|
if (rows.size() > 0)
|
||||||
|
current_row = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void cancelRowUpdates() throws SQLException
|
public void cancelRowUpdates() throws SQLException
|
||||||
@ -946,7 +948,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
|
|||||||
|
|
||||||
public int getRow() throws SQLException
|
public int getRow() throws SQLException
|
||||||
{
|
{
|
||||||
return current_row;
|
return current_row + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This one needs some thought, as not all ResultSets come from a statement
|
// This one needs some thought, as not all ResultSets come from a statement
|
||||||
@ -967,24 +969,24 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
|
|||||||
|
|
||||||
public boolean isAfterLast() throws SQLException
|
public boolean isAfterLast() throws SQLException
|
||||||
{
|
{
|
||||||
throw org.postgresql.Driver.notImplemented();
|
return (current_row >= rows.size() && rows.size() > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isBeforeFirst() throws SQLException
|
public boolean isBeforeFirst() throws SQLException
|
||||||
{
|
{
|
||||||
throw org.postgresql.Driver.notImplemented();
|
return (current_row < 0 && rows.size() > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isFirst() throws SQLException
|
public boolean isFirst() throws SQLException
|
||||||
{
|
{
|
||||||
throw org.postgresql.Driver.notImplemented();
|
return (current_row == 0 && rows.size() >= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isLast() throws SQLException
|
public boolean isLast() throws SQLException
|
||||||
{
|
{
|
||||||
throw org.postgresql.Driver.notImplemented();
|
return (current_row == rows.size() -1 && rows.size() > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean last() throws SQLException
|
public boolean last() throws SQLException
|
||||||
{
|
{
|
||||||
if (rows.size() <= 0)
|
if (rows.size() <= 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user