Author: gdusbabek
Date: Wed Mar 30 14:30:55 2011
New Revision: 1086967
URL: http://svn.apache.org/viewvc?rev=1086967&view=rev
Log:
fix off-by-one in CassandraResultSet
Modified:
cassandra/trunk/drivers/java/src/org/apache/cassandra/cql/jdbc/CassandraResultSet.java
cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/JdbcDriverTest.java
cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/jdbc/PreparedStatementTest.java
Modified:
cassandra/trunk/drivers/java/src/org/apache/cassandra/cql/jdbc/CassandraResultSet.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/drivers/java/src/org/apache/cassandra/cql/jdbc/CassandraResultSet.java?rev=1086967&r1=1086966&r2=1086967&view=diff
==============================================================================
---
cassandra/trunk/drivers/java/src/org/apache/cassandra/cql/jdbc/CassandraResultSet.java
(original)
+++
cassandra/trunk/drivers/java/src/org/apache/cassandra/cql/jdbc/CassandraResultSet.java
Wed Mar 30 14:30:55 2011
@@ -365,7 +365,7 @@ class CassandraResultSet implements Resu
*/
public byte[] getBytes(int index) throws SQLException
{
- return values.get(index) != null ?
((ByteBuffer)values.get(index).getValue()).array() : null;
+ return values.get(index-1) != null ?
((ByteBuffer)values.get(index-1).getValue()).array() : null;
}
/**
@@ -553,7 +553,7 @@ class CassandraResultSet implements Resu
*/
public int getInt(int index) throws SQLException
{
- return values.get(index) != null ?
((BigInteger)values.get(index).getValue()).intValue() : null;
+ return values.get(index-1) != null ?
((BigInteger)values.get(index-1).getValue()).intValue() : null;
}
/**
@@ -574,7 +574,7 @@ class CassandraResultSet implements Resu
*/
public long getLong(int index) throws SQLException
{
- return values.get(index) != null ? (Long)values.get(index).getValue()
: null;
+ return values.get(index-1) != null ?
(Long)values.get(index-1).getValue() : null;
}
/**
@@ -664,7 +664,7 @@ class CassandraResultSet implements Resu
*/
public Object getObject(int index) throws SQLException
{
- return values.get(index) == null ? null : values.get(index).getValue();
+ return values.get(index-1) == null ? null :
values.get(index-1).getValue();
}
/**
@@ -805,7 +805,7 @@ class CassandraResultSet implements Resu
*/
public String getString(int index) throws SQLException
{
- return values.get(index) != null ?
ColumnDecoder.colValueAsString(values.get(index).getValue()) : null;
+ return values.get(index-1) != null ?
ColumnDecoder.colValueAsString(values.get(index-1).getValue()) : null;
}
/**
Modified:
cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/JdbcDriverTest.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/JdbcDriverTest.java?rev=1086967&r1=1086966&r2=1086967&view=diff
==============================================================================
---
cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/JdbcDriverTest.java
(original)
+++
cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/JdbcDriverTest.java
Wed Mar 30 14:30:55 2011
@@ -228,8 +228,8 @@ public class JdbcDriverTest extends Embe
FBUtilities.bytesToHex(a),
FBUtilities.bytesToHex(b)));
assert rs.next();
- assert Arrays.equals(aa, rs.getBytes(0));
- assert Arrays.equals(bb, rs.getBytes(1));
+ assert Arrays.equals(aa, rs.getBytes(1));
+ assert Arrays.equals(bb, rs.getBytes(2));
assert Arrays.equals(aa, rs.getBytes(FBUtilities.bytesToHex(a)));
assert Arrays.equals(bb, rs.getBytes(FBUtilities.bytesToHex(b)));
ResultSetMetaData md = rs.getMetaData();
@@ -423,16 +423,16 @@ public class JdbcDriverTest extends Embe
{
// getString and getObject should always work.
assert rs.getString(cols[c]) != null;
- assert rs.getString(c) != null;
+ assert rs.getString(c+1) != null;
assert rs.getObject(cols[c]) != null;
- assert rs.getObject(c) != null;
+ assert rs.getObject(c+1) != null;
// now call the accessor.
try
{
Method byInt = rs.getClass().getDeclaredMethod("get" +
accessor, int.class);
byInt.setAccessible(true);
- assert byInt.invoke(rs, c) != null;
+ assert byInt.invoke(rs, c+1) != null;
Method byString = rs.getClass().getDeclaredMethod("get" +
accessor, String.class);
byString.setAccessible(true);
Modified:
cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/jdbc/PreparedStatementTest.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/jdbc/PreparedStatementTest.java?rev=1086967&r1=1086966&r2=1086967&view=diff
==============================================================================
---
cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/jdbc/PreparedStatementTest.java
(original)
+++
cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/jdbc/PreparedStatementTest.java
Wed Mar 30 14:30:55 2011
@@ -54,6 +54,8 @@ public class PreparedStatementTest exten
assert rs.next();
assert
Arrays.equals(rs.getBytes(FBUtilities.bytesToHex(FBUtilities.toByteArray(i))),
FBUtilities.toByteArray((i+1)*10));
assert
Arrays.equals(rs.getBytes(FBUtilities.bytesToHex(FBUtilities.toByteArray(i+100))),
FBUtilities.toByteArray((i+1)*10+1));
+ assert Arrays.equals(rs.getBytes(1),
FBUtilities.toByteArray((i+1)*10));
+ assert Arrays.equals(rs.getBytes(2),
FBUtilities.toByteArray((i+1)*10+1));
assert !rs.next();
rs.close();
}
@@ -111,6 +113,8 @@ public class PreparedStatementTest exten
assert rs.next();
assert
rs.getString("1\u6543\u3435\u6554").equals("abc\u6543\u3435\u6554");
assert
rs.getString("2\u6543\u3435\u6554").equals("def\u6543\u3435\u6554");
+ assert rs.getString(1).equals("abc\u6543\u3435\u6554");
+ assert rs.getString(2).equals("def\u6543\u3435\u6554");
assert !rs.next();
rs.close();
}
@@ -168,6 +172,8 @@ public class PreparedStatementTest exten
assert rs.next();
assert rs.getString("1").equals("abc");
assert rs.getString("2").equals("def");
+ assert rs.getString(1).equals("abc");
+ assert rs.getString(2).equals("def");
assert !rs.next();
rs.close();
}
@@ -225,6 +231,8 @@ public class PreparedStatementTest exten
assert rs.next();
assert rs.getLong("1") == (i+1)*10;
assert rs.getLong("2") == (i+1)*10+1;
+ assert rs.getLong(1) == (i+1)*10;
+ assert rs.getLong(2) == (i+1)*10+1;
assert !rs.next();
rs.close();
}
@@ -282,6 +290,8 @@ public class PreparedStatementTest exten
assert rs.next();
assert rs.getInt("1") == (i+1)*10;
assert rs.getInt("2") == (i+1)*10+1;
+ assert rs.getInt(1) == (i+1)*10;
+ assert rs.getInt(2) == (i+1)*10+1;
assert !rs.next();
rs.close();
}