5 new revisions:
Revision: fa62a5a3162f
Author: Rick Shaw <wfs...@gmail.com>
Date: Mon Nov 21 14:34:55 2011
Log: Fixes for Cassandra-JDBC Issue#8...
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=fa62a5a3162f
Revision: d916a92447be
Author: Rick Shaw <wfs...@gmail.com>
Date: Mon Nov 21 14:37:51 2011
Log: Add log4j.properties to suppress warnings during test
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=d916a92447be
Revision: 6e74073394b5
Author: Rick Shaw <wfs...@gmail.com>
Date: Mon Nov 21 14:40:58 2011
Log: Add a unit test for the code on the Splash screen of the
Apache-extras...
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=6e74073394b5
Revision: 77ebc636c7ee
Author: Rick Shaw <wfs...@gmail.com>
Date: Mon Nov 21 14:43:38 2011
Log: Revert "Fixes for Cassandra-JDBC Issue#8"...
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=77ebc636c7ee
Revision: 8a21b47f1fda
Author: Rick Shaw <wfs...@gmail.com>
Date: Mon Nov 21 14:56:04 2011
Log: Fixes for Cassandra-JDBC Issue#8...
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=8a21b47f1fda
==============================================================================
Revision: fa62a5a3162f
Author: Rick Shaw <wfs...@gmail.com>
Date: Mon Nov 21 14:34:55 2011
Log: Fixes for Cassandra-JDBC Issue#8
added a new method to ColumnDecoder: getDefaultValidator()
called the new method in the UPDATE code for client side binding.
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=fa62a5a3162f
Modified:
/src/main/java/org/apache/cassandra/cql/jdbc/CassandraStatement.java
/src/main/java/org/apache/cassandra/cql/jdbc/ColumnDecoder.java
=======================================
--- /src/main/java/org/apache/cassandra/cql/jdbc/CassandraStatement.java
Fri Nov 18 12:31:29 2011
+++ /src/main/java/org/apache/cassandra/cql/jdbc/CassandraStatement.java
Mon Nov 21 14:34:55 2011
@@ -41,13 +41,16 @@
import org.apache.cassandra.thrift.TimedOutException;
import org.apache.cassandra.thrift.UnavailableException;
import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Cassandra statement: implementation class for {@link PreparedStatement}.
*/
-class CassandraStatement extends AbstractStatement implements Statement,
Comparable
-{
+class CassandraStatement extends AbstractStatement implements Statement,
Comparable<Object>
+{
+ private static final Logger logger =
LoggerFactory.getLogger(CassandraStatement.class);
/**
* The connection.
*/
@@ -153,6 +156,8 @@
{
try
{
+ if (logger.isTraceEnabled()) logger.trace("CQL: "+ sql);
+
resetResults();
CqlResult rSet = connection.execute(sql);
String keyspace = connection.currentKeyspace;
=======================================
--- /src/main/java/org/apache/cassandra/cql/jdbc/ColumnDecoder.java Thu Oct
13 00:45:22 2011
+++ /src/main/java/org/apache/cassandra/cql/jdbc/ColumnDecoder.java Mon Nov
21 14:34:55 2011
@@ -89,6 +89,13 @@
AbstractJdbcType<?> type = (cf != null) ?
TypesMap.getTypeForComparator(cf.comparator) : null;
return (type == null) ? null : type;
}
+
+ protected AbstractJdbcType<?> getDefaultValidator(String keyspace,
String columnFamily)
+ {
+ CFamMeta cf = metadata.get(String.format("%s.%s", keyspace,
columnFamily));
+ AbstractJdbcType<?> type = (cf != null) ?
TypesMap.getTypeForComparator(cf.defaultValidator) : null;
+ return (type == null) ? null : type;
+ }
private AbstractJdbcType<?> getNameType(String keyspace, String
columnFamily, ByteBuffer name)
{
==============================================================================
Revision: d916a92447be
Author: Rick Shaw <wfs...@gmail.com>
Date: Mon Nov 21 14:37:51 2011
Log: Add log4j.properties to suppress warnings during test
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=d916a92447be
Added:
/src/main/resources/log4j.properties
/src/test/resources/log4j.properties
=======================================
--- /dev/null
+++ /src/main/resources/log4j.properties Mon Nov 21 14:37:51 2011
@@ -0,0 +1,8 @@
+# Test Log4J Properties File
+
+log4j.rootLogger=WARN, stdout
+log4j.logger.org.apache.cassandra.cql.jdbc=INFO
+
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%-6r %-5p [%-30c{3}] = %m%n
=======================================
--- /dev/null
+++ /src/test/resources/log4j.properties Mon Nov 21 14:37:51 2011
@@ -0,0 +1,8 @@
+# Test Log4J Properties File
+
+log4j.rootLogger=WARN, stdout
+log4j.logger.org.apache.cassandra.cql.jdbc=TRACE
+
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%-6r %-5p [%-30c{3}] = %m%n
==============================================================================
Revision: 6e74073394b5
Author: Rick Shaw <wfs...@gmail.com>
Date: Mon Nov 21 14:40:58 2011
Log: Add a unit test for the code on the Splash screen of the
Apache-extras
Cassandra-JDBC site.
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=6e74073394b5
Added:
/src/test/java/org/apache/cassandra/cql/jdbc/SpashScreenTest.java
=======================================
--- /dev/null
+++ /src/test/java/org/apache/cassandra/cql/jdbc/SpashScreenTest.java Mon
Nov 21 14:40:58 2011
@@ -0,0 +1,76 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.cassandra.cql.jdbc;
+
+import static org.junit.Assert.*;
+
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.Statement;
+
+import org.apache.cassandra.cql.ConnectionDetails;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class SpashScreenTest
+{
+ private static java.sql.Connection con = null;
+
+ @BeforeClass
+ public static void waxOn() throws Exception
+ {
+ Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
+ con =
DriverManager.getConnection(String.format("jdbc:cassandra://%s:%d/%s",
+ ConnectionDetails.getHost(),
+ ConnectionDetails.getPort(),
+ "JdbcTestKeyspace"));
+
+ // Create the target Column family
+ String create = "CREATE COLUMNFAMILY Test (KEY text PRIMARY KEY)
WITH comparator = ascii AND default_validation = bigint;";
+ Statement stmt = con.createStatement();
+ stmt.execute(create);
+ stmt.close();
+ con.close();
+
+ // open it up again to see the new CF
+ con =
DriverManager.getConnection(String.format("jdbc:cassandra://%s:%d/%s",
+ ConnectionDetails.getHost(),
+ ConnectionDetails.getPort(),
+ "JdbcTestKeyspace"));
+ }
+
+
+ @Test
+ public void test() throws Exception
+ {
+ String query = "UPDATE Test SET a=?, b=? WHERE KEY=?";
+ PreparedStatement statement = con.prepareStatement(query);
+
+ statement.setLong(1, 100);
+ statement.setLong(2, 1000);
+ statement.setString(3, "key0");
+
+ statement.executeUpdate();
+
+ statement.close();
+ }
+}
==============================================================================
Revision: 77ebc636c7ee
Author: Rick Shaw <wfs...@gmail.com>
Date: Mon Nov 21 14:43:38 2011
Log: Revert "Fixes for Cassandra-JDBC Issue#8"
This reverts commit fa62a5a3162f5e97e86d7d15d78fe19e3b6d7e05.
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=77ebc636c7ee
Modified:
/src/main/java/org/apache/cassandra/cql/jdbc/CassandraStatement.java
/src/main/java/org/apache/cassandra/cql/jdbc/ColumnDecoder.java
=======================================
--- /src/main/java/org/apache/cassandra/cql/jdbc/CassandraStatement.java
Mon Nov 21 14:34:55 2011
+++ /src/main/java/org/apache/cassandra/cql/jdbc/CassandraStatement.java
Mon Nov 21 14:43:38 2011
@@ -41,16 +41,13 @@
import org.apache.cassandra.thrift.TimedOutException;
import org.apache.cassandra.thrift.UnavailableException;
import org.apache.thrift.TException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Cassandra statement: implementation class for {@link PreparedStatement}.
*/
-class CassandraStatement extends AbstractStatement implements Statement,
Comparable<Object>
-{
- private static final Logger logger =
LoggerFactory.getLogger(CassandraStatement.class);
+class CassandraStatement extends AbstractStatement implements Statement,
Comparable
+{
/**
* The connection.
*/
@@ -156,8 +153,6 @@
{
try
{
- if (logger.isTraceEnabled()) logger.trace("CQL: "+ sql);
-
resetResults();
CqlResult rSet = connection.execute(sql);
String keyspace = connection.currentKeyspace;
=======================================
--- /src/main/java/org/apache/cassandra/cql/jdbc/ColumnDecoder.java Mon Nov
21 14:34:55 2011
+++ /src/main/java/org/apache/cassandra/cql/jdbc/ColumnDecoder.java Mon Nov
21 14:43:38 2011
@@ -89,13 +89,6 @@
AbstractJdbcType<?> type = (cf != null) ?
TypesMap.getTypeForComparator(cf.comparator) : null;
return (type == null) ? null : type;
}
-
- protected AbstractJdbcType<?> getDefaultValidator(String keyspace,
String columnFamily)
- {
- CFamMeta cf = metadata.get(String.format("%s.%s", keyspace,
columnFamily));
- AbstractJdbcType<?> type = (cf != null) ?
TypesMap.getTypeForComparator(cf.defaultValidator) : null;
- return (type == null) ? null : type;
- }
private AbstractJdbcType<?> getNameType(String keyspace, String
columnFamily, ByteBuffer name)
{
==============================================================================
Revision: 8a21b47f1fda
Author: Rick Shaw <wfs...@gmail.com>
Date: Mon Nov 21 14:56:04 2011
Log: Fixes for Cassandra-JDBC Issue#8
added a new method to ColumnDecoder: getDefaultValidator()
called the new method in the UPDATE code for client side binding.
Add some trace logging
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=8a21b47f1fda
Modified:
/src/main/java/org/apache/cassandra/cql/jdbc/CassandraPreparedStatement.java
/src/main/java/org/apache/cassandra/cql/jdbc/CassandraStatement.java
/src/main/java/org/apache/cassandra/cql/jdbc/ColumnDecoder.java
=======================================
---
/src/main/java/org/apache/cassandra/cql/jdbc/CassandraPreparedStatement.java
Thu Oct 13 00:45:22 2011
+++
/src/main/java/org/apache/cassandra/cql/jdbc/CassandraPreparedStatement.java
Mon Nov 21 14:56:04 2011
@@ -233,8 +233,7 @@
String left = cql.substring(0, pivot);
AbstractJdbcType leftComp =
connection.decoder.getComparator(keyspace, columnFamily);
if (leftComp == null) throw new
SQLDataException(String.format(NO_COMPARATOR, keyspace, columnFamily));
-
- AbstractJdbcType leftVald =
connection.decoder.getComparator(keyspace, columnFamily);
+ AbstractJdbcType leftVald =
connection.decoder.getDefaultValidator(keyspace, columnFamily);
if (leftVald == null) throw new
SQLDataException(String.format(NO_VALIDATOR, keyspace, columnFamily));
left = applyDualBindings(left, leftComp, leftVald, params);
=======================================
--- /src/main/java/org/apache/cassandra/cql/jdbc/CassandraStatement.java
Mon Nov 21 14:43:38 2011
+++ /src/main/java/org/apache/cassandra/cql/jdbc/CassandraStatement.java
Mon Nov 21 14:56:04 2011
@@ -41,13 +41,16 @@
import org.apache.cassandra.thrift.TimedOutException;
import org.apache.cassandra.thrift.UnavailableException;
import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Cassandra statement: implementation class for {@link PreparedStatement}.
*/
-class CassandraStatement extends AbstractStatement implements Statement,
Comparable
-{
+class CassandraStatement extends AbstractStatement implements Statement,
Comparable<Object>
+{
+ private static final Logger logger =
LoggerFactory.getLogger(CassandraStatement.class);
/**
* The connection.
*/
@@ -153,6 +156,8 @@
{
try
{
+ if (logger.isTraceEnabled()) logger.trace("CQL: "+ sql);
+
resetResults();
CqlResult rSet = connection.execute(sql);
String keyspace = connection.currentKeyspace;
=======================================
--- /src/main/java/org/apache/cassandra/cql/jdbc/ColumnDecoder.java Mon Nov
21 14:43:38 2011
+++ /src/main/java/org/apache/cassandra/cql/jdbc/ColumnDecoder.java Mon Nov
21 14:56:04 2011
@@ -89,6 +89,13 @@
AbstractJdbcType<?> type = (cf != null) ?
TypesMap.getTypeForComparator(cf.comparator) : null;
return (type == null) ? null : type;
}
+
+ protected AbstractJdbcType<?> getDefaultValidator(String keyspace,
String columnFamily)
+ {
+ CFamMeta cf = metadata.get(String.format("%s.%s", keyspace,
columnFamily));
+ AbstractJdbcType<?> type = (cf != null) ?
TypesMap.getTypeForComparator(cf.defaultValidator) : null;
+ return (type == null) ? null : type;
+ }
private AbstractJdbcType<?> getNameType(String keyspace, String
columnFamily, ByteBuffer name)
{