cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cassandra-jdbc.apache-extras....@codespot.com
Subject [cassandra-jdbc] push by wfs...@gmail.com - Fixes for Review revisions for PreparedStatement... on 2011-12-12 22:46 GMT
Date Mon, 12 Dec 2011 22:47:46 GMT
Revision: 300e697bd2a1
Author:   Rick Shaw <wfshaw@gmail.com>
Date:     Mon Dec 12 14:45:57 2011
Log:      Fixes for Review revisions for PreparedStatement

Signed-off-by: Rick Shaw <wfshaw@gmail.com>
http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/detail?r=300e697bd2a1

Modified:
  /src/main/java/org/apache/cassandra/cql/jdbc/CassandraConnection.java
   
/src/main/java/org/apache/cassandra/cql/jdbc/CassandraPreparedStatement.java

=======================================
--- /src/main/java/org/apache/cassandra/cql/jdbc/CassandraConnection.java	 
Thu Dec  1 10:31:03 2011
+++ /src/main/java/org/apache/cassandra/cql/jdbc/CassandraConnection.java	 
Mon Dec 12 14:45:57 2011
@@ -414,7 +414,7 @@
          return execute(queryStr, defaultCompression);
      }

-    protected CqlResult execute(int itemId, List<CqlBindValue> values)
+    protected CqlResult execute(int itemId, List<String> values)
                throws InvalidRequestException, UnavailableException,  
TimedOutException, SchemaDisagreementException, TException
      {
          try
@@ -449,20 +449,6 @@
          {
              return prepare(queryStr, defaultCompression);
          }
-        catch (TException error)
-        {
-            numFailures++;
-            timeOfLastFailure = System.currentTimeMillis();
-            throw error;
-        }
-    }
-
-    protected void release(int itemId)  throws InvalidRequestException,  
TException
-    {
-        try
-        {
-            client.remove_prepared_cql_query(itemId);
-        }
          catch (TException error)
          {
              numFailures++;
=======================================
---  
/src/main/java/org/apache/cassandra/cql/jdbc/CassandraPreparedStatement.java	 
Thu Dec  1 10:31:03 2011
+++  
/src/main/java/org/apache/cassandra/cql/jdbc/CassandraPreparedStatement.java	 
Mon Dec 12 14:45:57 2011
@@ -24,58 +24,36 @@
  import static org.apache.cassandra.cql.jdbc.Utils.NO_SERVER;
  import static org.apache.cassandra.cql.jdbc.Utils.NO_UPDATE_COUNT;
  import static org.apache.cassandra.cql.jdbc.Utils.SCHEMA_MISMATCH;
-import static org.apache.cassandra.cql.jdbc.Utils.determineCurrentKeyspace;
-import static  
org.apache.cassandra.cql.jdbc.Utils.determineCurrentColumnFamily;
-import static org.apache.cassandra.cql.jdbc.Utils.NO_CF;
-import static org.apache.cassandra.cql.jdbc.Utils.NO_COMPARATOR;
-import static org.apache.cassandra.cql.jdbc.Utils.NO_VALIDATOR;

  import java.io.ByteArrayOutputStream;
  import java.io.IOException;
-import java.io.InputStream;
  import java.io.ObjectOutput;
  import java.io.ObjectOutputStream;
-import java.io.Reader;
  import java.math.BigDecimal;
-import java.math.BigInteger;
  import java.net.URL;
  import java.nio.ByteBuffer;
-import java.sql.Array;
-import java.sql.Blob;
-import java.sql.Clob;
  import java.sql.Date;
-import java.sql.NClob;
  import java.sql.ParameterMetaData;
  import java.sql.PreparedStatement;
-import java.sql.Ref;
  import java.sql.ResultSet;
  import java.sql.ResultSetMetaData;
  import java.sql.RowId;
-import java.sql.SQLDataException;
  import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
  import java.sql.SQLNonTransientConnectionException;
  import java.sql.SQLNonTransientException;
  import java.sql.SQLRecoverableException;
  import java.sql.SQLSyntaxErrorException;
  import java.sql.SQLTransientConnectionException;
-import java.sql.SQLTransientException;
-import java.sql.SQLXML;
  import java.sql.Time;
  import java.sql.Timestamp;
  import java.util.ArrayList;
  import java.util.Calendar;
-import java.util.HashMap;
  import java.util.LinkedHashMap;
  import java.util.List;
  import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.cassandra.thrift.CqlBindValue;
+
  import org.apache.cassandra.thrift.CqlPreparedResult;
  import org.apache.cassandra.thrift.CqlResult;
-import org.apache.cassandra.thrift.CqlStatementType;
  import org.apache.cassandra.thrift.InvalidRequestException;
  import org.apache.cassandra.thrift.SchemaDisagreementException;
  import org.apache.cassandra.thrift.TimedOutException;
@@ -89,9 +67,6 @@
  {
      private static final Logger LOG =  
LoggerFactory.getLogger(CassandraPreparedStatement.class);

-    /** the statement type (SELECT,INSERT,..) from the parse of the CQL in  
the server-side */
-    private CqlStatementType type;
-
      /** the key token passed back from server-side to identify the  
prepared statement */
      private int itemId;

@@ -99,7 +74,7 @@
      private int count;

      /** a Map of the current bound values encountered in setXXX methods */
-    private Map<Integer,CqlBindValue> bindValues = new  
LinkedHashMap<Integer,CqlBindValue>();
+    private Map<Integer,String> bindValues = new  
LinkedHashMap<Integer,String>();


      CassandraPreparedStatement(CassandraConnection con, String cql) throws  
SQLException
@@ -110,7 +85,6 @@
          {
              CqlPreparedResult result = con.prepare(cql);

-            type = result.type;
              itemId = result.itemId;
              count = result.count;
          }
@@ -130,9 +104,9 @@
          if (index < 1 ) throw new  
SQLRecoverableException(String.format("the column index must be a positive  
number : %d", index));
      }

-    private List<CqlBindValue> getBindValues() throws SQLException
-    {
-        List<CqlBindValue> values = new ArrayList<CqlBindValue>();
+    private List<String> getBindValues() throws SQLException
+    {
+        List<String> values = new ArrayList<String>();
  //        System.out.println("bindValues.size() = "+bindValues.size());
  //        System.out.println("count             = "+count);
          if (bindValues.size() != count )
@@ -140,7 +114,7 @@

          for (int i = 1; i <= count ; i++)
          {
-            CqlBindValue value = bindValues.get(i);
+            String value = bindValues.get(i);
              if (value==null) throw new  
SQLRecoverableException(String.format("the bound value for index: %d was  
not set", i));
             values.add(value);
          }
@@ -150,18 +124,6 @@
      public void close() throws SQLException
      {
          connection.removeStatement(this);
-        try
-        {
-            connection.release(itemId);
-        }
-        catch (InvalidRequestException e)
-        {
-            throw new SQLSyntaxErrorException(e);
-        }
-         catch (TException e)
-        {
-            throw new SQLNonTransientConnectionException(e);
-        }

          connection = null;
      }
@@ -268,7 +230,7 @@
      {
          checkNotClosed();
          checkIndex(parameterIndex);
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(decimal.toPlainString())));
+        bindValues.put(parameterIndex, decimal.toPlainString());
      }


@@ -276,7 +238,7 @@
      {
          checkNotClosed();
          checkIndex(parameterIndex);
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(Boolean.valueOf(truth).toString())));
+        bindValues.put(parameterIndex, Boolean.valueOf(truth).toString());
      }


@@ -284,7 +246,7 @@
      {
          checkNotClosed();
          checkIndex(parameterIndex);
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(Byte.valueOf(b).toString())));
+        bindValues.put(parameterIndex, Byte.valueOf(b).toString());
      }


@@ -292,7 +254,7 @@
      {
          checkNotClosed();
          checkIndex(parameterIndex);
-        bindValues.put(parameterIndex, new CqlBindValue(true,  
ByteBuffer.wrap(bytes)));
+        bindValues.put(parameterIndex,  
ByteBufferUtil.bytesToHex(ByteBuffer.wrap(bytes)));
      }


@@ -302,7 +264,7 @@
          checkIndex(parameterIndex);
          // date type data is handled as an 8 byte Long value of  
milliseconds since the epoch
          String millis = Long.valueOf(value.getTime()).toString();
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(millis)));
+        bindValues.put(parameterIndex, millis);
      }


@@ -317,7 +279,7 @@
      {
          checkNotClosed();
          checkIndex(parameterIndex);
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(Double.valueOf(decimal).toString())));
+        bindValues.put(parameterIndex, Double.valueOf(decimal).toString());
      }


@@ -325,7 +287,7 @@
      {
          checkNotClosed();
          checkIndex(parameterIndex);
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(Float.valueOf(decimal).toString())));
+        bindValues.put(parameterIndex, Float.valueOf(decimal).toString());
      }


@@ -333,7 +295,7 @@
      {
          checkNotClosed();
          checkIndex(parameterIndex);
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(Integer.valueOf(integer).toString())));
+        bindValues.put(parameterIndex,  
Integer.valueOf(integer).toString());
      }


@@ -341,7 +303,7 @@
      {
          checkNotClosed();
          checkIndex(parameterIndex);
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(Long.valueOf(bigint).toString())));
+        bindValues.put(parameterIndex, Long.valueOf(bigint).toString());
      }


@@ -356,8 +318,8 @@
      {
          checkNotClosed();
          checkIndex(parameterIndex);
-        // silently ignore type for cassandra... just store an empty BB
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.EMPTY_BYTE_BUFFER));
+        // silently ignore type for cassandra... just store an empty String
+        bindValues.put(parameterIndex, "");
      }


@@ -390,7 +352,7 @@
              throw new SQLNonTransientException("Problem serializing the  
object", e);
          }

-        bindValues.put(parameterIndex, new CqlBindValue(true,  
ByteBuffer.wrap(bytes)));
+        bindValues.put(parameterIndex,  
ByteBufferUtil.bytesToHex(ByteBuffer.wrap(bytes)));
      }


@@ -398,7 +360,7 @@
      {
          checkNotClosed();
          checkIndex(parameterIndex);
-        bindValues.put(parameterIndex, new CqlBindValue(true,  
ByteBuffer.wrap(value.getBytes())));
+        bindValues.put(parameterIndex,  
ByteBufferUtil.bytesToHex(ByteBuffer.wrap(value.getBytes())));
      }


@@ -406,7 +368,7 @@
      {
          checkNotClosed();
          checkIndex(parameterIndex);
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(Short.valueOf(smallint).toString())));
+        bindValues.put(parameterIndex, Short.valueOf(smallint).toString());
      }


@@ -414,7 +376,7 @@
      {
          checkNotClosed();
          checkIndex(parameterIndex);
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(value)));
+        bindValues.put(parameterIndex, value);
      }


@@ -424,7 +386,7 @@
          checkIndex(parameterIndex);
          // time type data is handled as an 8 byte Long value of  
milliseconds since the epoch
          String millis = Long.valueOf(value.getTime()).toString();
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(millis)));
+        bindValues.put(parameterIndex, millis);
      }


@@ -441,7 +403,7 @@
          checkIndex(parameterIndex);
          // timestamp type data is handled as an 8 byte Long value of  
milliseconds since the epoch
          String millis = Long.valueOf(value.getTime()).toString();
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(millis)));
+        bindValues.put(parameterIndex, millis);
      }


@@ -458,6 +420,6 @@
          checkIndex(parameterIndex);
          // URl type data is handled as an string
          String url = value.toString();
-        bindValues.put(parameterIndex, new CqlBindValue(false,  
ByteBufferUtil.bytes(url)));
+        bindValues.put(parameterIndex, url);
      }
  }

Mime
View raw message