3 new revisions:
Revision: 92cb0506c77b
Author: Eric Evans <e...@acunu.com>
Date: Tue Dec 13 12:57:26 2011
Log: add dependency on thrift (temporary?)
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=92cb0506c77b
Revision: 93551543de06
Author: Eric Evans <e...@acunu.com>
Date: Tue Dec 13 15:20:46 2011
Log: do not hard code host/port
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=93551543de06
Revision: 6acadeb166f9
Author: Eric Evans <e...@acunu.com>
Date: Tue Dec 13 15:21:15 2011
Log: IN (...) is broken and requires an aliased key...
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=6acadeb166f9
==============================================================================
Revision: 92cb0506c77b
Author: Eric Evans <e...@acunu.com>
Date: Tue Dec 13 12:57:26 2011
Log: add dependency on thrift (temporary?)
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=92cb0506c77b
Modified:
/pom.xml
=======================================
--- /pom.xml Thu Dec 1 10:36:57 2011
+++ /pom.xml Tue Dec 13 12:57:26 2011
@@ -132,6 +132,11 @@
<version>1.6.1</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libthrift</artifactId>
+ <version>0.6.1</version>
+ </dependency>
</dependencies>
<build>
==============================================================================
Revision: 93551543de06
Author: Eric Evans <e...@acunu.com>
Date: Tue Dec 13 15:20:46 2011
Log: do not hard code host/port
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=93551543de06
Modified:
/src/test/java/org/apache/cassandra/cql/jdbc/PreparedStatementTest.java
=======================================
--- /src/test/java/org/apache/cassandra/cql/jdbc/PreparedStatementTest.java
Thu Dec 1 10:38:15 2011
+++ /src/test/java/org/apache/cassandra/cql/jdbc/PreparedStatementTest.java
Tue Dec 13 15:20:46 2011
@@ -38,17 +38,17 @@
public class PreparedStatementTest
{
private static java.sql.Connection con = null;
-
-// private static final Schema schema = new
Schema(ConnectionDetails.getHost(), ConnectionDetails.getPort());
- private static final Schema schema = new Schema("localhost", 9160);
+ private static final Schema schema = new
Schema(ConnectionDetails.getHost(), ConnectionDetails.getPort());
@BeforeClass
public static void waxOn() throws Exception
{
schema.createSchema();
Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
- con =
DriverManager.getConnection(String.format("jdbc:cassandra://%s:%d/%s",
ConnectionDetails.getHost(), ConnectionDetails.getPort(),
Schema.KEYSPACE_NAME));
-// con =
DriverManager.getConnection(String.format("jdbc:cassandra://%s:%d/%s", "localhost",
9160, Schema.KEYSPACE_NAME));
+ con =
DriverManager.getConnection(String.format("jdbc:cassandra://%s:%d/%s",
+
ConnectionDetails.getHost(),
+
ConnectionDetails.getPort(),
+
Schema.KEYSPACE_NAME));
}
@Test
==============================================================================
Revision: 6acadeb166f9
Author: Eric Evans <e...@acunu.com>
Date: Tue Dec 13 15:21:15 2011
Log: IN (...) is broken and requires an aliased key
See https://issues.apache.org/jira/browse/CASSANDRA-3627
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=6acadeb166f9
Modified:
/src/test/java/org/apache/cassandra/cql/JdbcDriverTest.java
/src/test/java/org/apache/cassandra/cql/Schema.java
/src/test/java/org/apache/cassandra/cql/jdbc/PreparedStatementTest.java
=======================================
--- /src/test/java/org/apache/cassandra/cql/JdbcDriverTest.java Thu Oct 13
01:56:33 2011
+++ /src/test/java/org/apache/cassandra/cql/JdbcDriverTest.java Tue Dec 13
15:21:15 2011
@@ -67,8 +67,9 @@
String[] inserts =
{
String.format("UPDATE Standard1 SET '%s' = '%s', '%s' = '%s'
WHERE KEY = '%s'", first, firstrec, last, lastrec, jsmith),
- "UPDATE JdbcInteger SET 1 = 11, 2 = 22, 42='fortytwo' WHERE
KEY = '" + jsmith + "'",
- "UPDATE JdbcInteger SET 3 = 33, 4 = 44 WHERE KEY = '" + jsmith
+ "'",
+ "UPDATE JdbcInteger0 SET 1 = 11, 2 = 22, 42='fortytwo' WHERE
KEY = '" + jsmith + "'",
+ "UPDATE JdbcInteger0 SET 3 = 33, 4 = 44 WHERE KEY = '" +
jsmith + "'",
+ "UPDATE JdbcInteger1 SET 1 = 'One', 2 = 'Two', 3 = 'Three'
WHERE id = rowOne",
"UPDATE JdbcLong SET 1 = 11, 2 = 22 WHERE KEY = '" + jsmith
+ "'",
"UPDATE JdbcAscii SET 'first' = 'firstrec', last = 'lastrec'
WHERE key = '" + jsmith + "'",
String.format("UPDATE JdbcBytes SET '%s' = '%s', '%s' = '%s'
WHERE key = '%s'", first, firstrec, last, lastrec, jsmith),
@@ -133,8 +134,8 @@
{
String key = bytesToHex("Integer".getBytes());
Statement stmt = con.createStatement();
- stmt.executeUpdate("update JdbcInteger set 1=36893488147419103232,
42='fortytwofortytwo' where key='" + key + "'");
- ResultSet rs = stmt.executeQuery("select 1, 2, 42 from JdbcInteger
where key='" + key + "'");
+ stmt.executeUpdate("update JdbcInteger0 set
1=36893488147419103232, 42='fortytwofortytwo' where key='" + key + "'");
+ ResultSet rs = stmt.executeQuery("select 1, 2, 42 from
JdbcInteger0 where key='" + key + "'");
assert rs.next();
assert rs.getObject("1").equals(new
BigInteger("36893488147419103232"));
assert rs.getString("42").equals("fortytwofortytwo") :
rs.getString("42");
@@ -145,7 +146,7 @@
expectedMetaData(md, 2, BigInteger.class.getName(), "JdbcInteger",
Schema.KEYSPACE_NAME, "2", Types.BIGINT, JdbcInteger.class.getSimpleName(),
true, false);
expectedMetaData(md, 3, String.class.getName(), "JdbcInteger",
Schema.KEYSPACE_NAME, "42", Types.VARCHAR, JdbcUTF8.class.getSimpleName(),
false, true);
- rs = stmt.executeQuery("select key, 1, 2, 42 from JdbcInteger
where key='" + key + "'");
+ rs = stmt.executeQuery("select key, 1, 2, 42 from JdbcInteger0
where key='" + key + "'");
assert rs.next();
assert Arrays.equals(rs.getBytes("key"), hexToBytes(key));
assert rs.getObject("1").equals(new
BigInteger("36893488147419103232"));
@@ -281,13 +282,13 @@
{
Statement stmt = con.createStatement();
List<String> keys = Arrays.asList(jsmith);
- String selectQ = "SELECT 1, 2 FROM JdbcInteger WHERE KEY='" +
jsmith + "'";
+ String selectQ = "SELECT 1, 2 FROM JdbcInteger0 WHERE KEY='" +
jsmith + "'";
checkResultSet(stmt.executeQuery(selectQ), "Int", 1,
keys, "1", "2");
- selectQ = "SELECT 3, 4 FROM JdbcInteger WHERE KEY='" + jsmith
+ "'";
+ selectQ = "SELECT 3, 4 FROM JdbcInteger0 WHERE KEY='" + jsmith
+ "'";
checkResultSet(stmt.executeQuery(selectQ), "Int", 1,
keys, "3", "4");
- selectQ = "SELECT 1, 2, 3, 4 FROM JdbcInteger WHERE KEY='" +
jsmith + "'";
+ selectQ = "SELECT 1, 2, 3, 4 FROM JdbcInteger0 WHERE KEY='" +
jsmith + "'";
checkResultSet(stmt.executeQuery(selectQ), "Int", 1,
keys, "1", "2", "3", "4");
selectQ = "SELECT 1, 2 FROM JdbcLong WHERE KEY='" + jsmith + "'";
@@ -302,9 +303,8 @@
selectQ = "SELECT 'first', last FROM JdbcUtf8 WHERE KEY='" +
jsmith + "'";
checkResultSet(stmt.executeQuery(selectQ), "String", 1,
keys, "first", "last");
- String badKey = bytesToHex(String.format("jsmith-%s",
System.currentTimeMillis()).getBytes());
- selectQ = "SELECT 1, 2 FROM JdbcInteger WHERE KEY IN ('" + badKey
+ "', '" + jsmith + "')";
- checkResultSet(stmt.executeQuery(selectQ), "Int", 1,
keys, "1", "2");
+ selectQ = "SELECT 1, 2 FROM JdbcInteger1 WHERE id IN (rowOne,
badRow)";
+ checkResultSet(stmt.executeQuery(selectQ), "String", 1,
keys, "1", "2");
}
@Test
@@ -326,13 +326,13 @@
String selectQ = String.format("SELECT '%s', '%s' FROM Standard1
WHERE KEY='%s'", first, last, jsmith);
checkResultSet(executePreparedStatementWithResults(con,
selectQ), "Bytes", 1, keys, first, last);
- selectQ = "SELECT 1, 2 FROM JdbcInteger WHERE KEY='" + jsmith
+ "'";
+ selectQ = "SELECT 1, 2 FROM JdbcInteger0 WHERE KEY='" + jsmith
+ "'";
checkResultSet(executePreparedStatementWithResults(con,
selectQ), "Int", 1, keys, "1", "2");
- selectQ = "SELECT 3, 4 FROM JdbcInteger WHERE KEY='" + jsmith
+ "'";
+ selectQ = "SELECT 3, 4 FROM JdbcInteger0 WHERE KEY='" + jsmith
+ "'";
checkResultSet(executePreparedStatementWithResults(con,
selectQ), "Int", 1, keys, "3", "4");
- selectQ = "SELECT 1, 2, 3, 4 FROM JdbcInteger WHERE KEY='" +
jsmith + "'";
+ selectQ = "SELECT 1, 2, 3, 4 FROM JdbcInteger0 WHERE KEY='" +
jsmith + "'";
checkResultSet(executePreparedStatementWithResults(con,
selectQ), "Int", 1, keys, "1", "2", "3", "4");
selectQ = "SELECT 1, 2 FROM JdbcLong WHERE KEY='" + jsmith + "'";
@@ -347,9 +347,8 @@
selectQ = "SELECT 'first', last FROM JdbcUtf8 WHERE KEY='" +
jsmith + "'";
checkResultSet(executePreparedStatementWithResults(con,
selectQ), "String", 1, keys, "first", "last");
- String badKey = bytesToHex(String.format("jsmith-%s",
System.currentTimeMillis()).getBytes());
- selectQ = "SELECT 1, 2 FROM JdbcInteger WHERE KEY IN ('" + badKey
+ "', '" + jsmith + "')";
- checkResultSet(executePreparedStatementWithResults(con,
selectQ), "Int", 1, keys, "1", "2");
+ selectQ = "SELECT 1, 2 FROM JdbcInteger1 WHERE id IN (rowOne,
badRow)";
+ checkResultSet(executePreparedStatementWithResults(con,
selectQ), "String", 1, keys, "1", "2");
}
/* Method to test with Delete statement. */
@@ -371,9 +370,9 @@
first,
jsmith),
- "DELETE 1, 3 FROM JdbcInteger WHERE KEY='" + jsmith + "'",
- "SELECT 1, 3 FROM JdbcInteger WHERE KEY='" + jsmith + "'",
- "SELECT 2, 4 FROM JdbcInteger WHERE KEY='" + jsmith + "'",
+ "DELETE 1, 3 FROM JdbcInteger0 WHERE KEY='" + jsmith + "'",
+ "SELECT 1, 3 FROM JdbcInteger0 WHERE KEY='" + jsmith + "'",
+ "SELECT 2, 4 FROM JdbcInteger0 WHERE KEY='" + jsmith + "'",
"DELETE 1 FROM JdbcLong WHERE KEY='" + jsmith + "'",
"SELECT 1 FROM JdbcLong WHERE KEY='" + jsmith + "'",
@@ -415,7 +414,8 @@
{
"TRUNCATE Standard1",
"TRUNCATE JdbcAscii", // todo: this one is broken for some
reason.
- "TRUNCATE JdbcInteger",
+ "TRUNCATE JdbcInteger0",
+ "TRUNCATE JdbcInteger1",
"TRUNCATE JdbcLong",
"TRUNCATE JdbcBytes",
"TRUNCATE JdbcUtf8",
=======================================
--- /src/test/java/org/apache/cassandra/cql/Schema.java Thu Oct 13 00:45:22
2011
+++ /src/test/java/org/apache/cassandra/cql/Schema.java Tue Dec 13 15:21:15
2011
@@ -33,8 +33,10 @@
private static final String createKeyspace = String.format("CREATE
KEYSPACE %s WITH " +
"strategy_class = SimpleStrategy AND
strategy_options:replication_factor = 1", KEYSPACE_NAME);
private static final String[] createColumnFamilies = {
- "CREATE COLUMNFAMILY JdbcInteger (KEY blob PRIMARY KEY, 42 text)
WITH comparator = varint " +
+ "CREATE COLUMNFAMILY JdbcInteger0 (KEY blob PRIMARY KEY, 42 text)
WITH comparator = varint " +
"AND default_validation = varint",
+ "CREATE COLUMNFAMILY JdbcInteger1 (id text PRIMARY KEY, 99 text)
WITH comparator = varint " +
+ "AND default_validation = text",
"CREATE COLUMNFAMILY JdbcUtf8 (KEY blob PRIMARY KEY, fortytwo
varint) WITH comparator = text",
"CREATE COLUMNFAMILY JdbcLong (KEY blob PRIMARY KEY) WITH
comparator = bigint AND default_validation = bigint",
"CREATE COLUMNFAMILY JdbcBytes (KEY blob PRIMARY KEY) WITH
comparator = blob AND default_validation = blob",
=======================================
--- /src/test/java/org/apache/cassandra/cql/jdbc/PreparedStatementTest.java
Tue Dec 13 15:20:46 2011
+++ /src/test/java/org/apache/cassandra/cql/jdbc/PreparedStatementTest.java
Tue Dec 13 15:21:15 2011
@@ -295,7 +295,7 @@
@Test
public void testInteger() throws SQLException
{
- PreparedStatement stmt = con.prepareStatement("update JdbcInteger
set ?=?, ?=? where key = ?");
+ PreparedStatement stmt = con.prepareStatement("update JdbcInteger0
set ?=?, ?=? where key = ?");
for (int i = 0; i < 5; i++)
{
byte[] key = Integer.toString(i).getBytes();
@@ -309,7 +309,7 @@
stmt.close();
// verify.
- stmt = con.prepareStatement("select ?, ? from JdbcInteger where
key = ?");
+ stmt = con.prepareStatement("select ?, ? from JdbcInteger0 where
key = ?");
for (int i = 0; i < 5; i++)
{
byte[] key = Integer.toString(i).getBytes();
@@ -327,7 +327,7 @@
}
// delete
- stmt = con.prepareStatement("delete ?, ? from JdbcInteger where
key = ?");
+ stmt = con.prepareStatement("delete ?, ? from JdbcInteger0 where
key = ?");
for (int i = 0; i < 5; i++)
{
byte[] key = Integer.toString(i).getBytes();
@@ -338,7 +338,7 @@
}
// verify.
- stmt = con.prepareStatement("select ?, ? from JdbcInteger where
key = ?");
+ stmt = con.prepareStatement("select ?, ? from JdbcInteger0 where
key = ?");
for (int i = 0; i < 5; i++)
{
byte[] key = Integer.toString(i).getBytes();