Merge branch 'cassandra-2.2' into cassandra-3.0

Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/84750421
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/84750421
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/84750421

Branch: refs/heads/trunk
Commit: 84750421a90a0aa46ff067b683152138e442a448
Parents: 8a0615b b0fd517
Author: Sylvain Lebresne <sylv...@datastax.com>
Authored: Fri Nov 20 15:12:16 2015 +0100
Committer: Sylvain Lebresne <sylv...@datastax.com>
Committed: Fri Nov 20 15:12:16 2015 +0100

----------------------------------------------------------------------
 CHANGES.txt  |  1 +
 bin/cqlsh.py | 28 ++++++++++++++++++++++------
 2 files changed, 23 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/84750421/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index d6f0379,146a0ce..a9b3f36
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -9,7 -3,16 +9,8 @@@ Merged from 2.2
   * Fix SimpleDateType type compatibility (CASSANDRA-10027)
   * (Hadoop) fix splits calculation (CASSANDRA-10640)
   * (Hadoop) ensure that Cluster instances are always closed (CASSANDRA-10058)
 - * (cqlsh) show partial trace if incomplete after max_trace_wait 
(CASSANDRA-7645)
 - * Use most up-to-date version of schema for system tables (CASSANDRA-10652)
 - * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581,10628)
 - * Expose phi values from failure detector via JMX and tweak debug
 -   and trace logging (CASSANDRA-9526)
 - * Fix RangeNamesQueryPager (CASSANDRA-10509)
 - * Deprecate Pig support (CASSANDRA-10542)
 - * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
  Merged from 2.1:
+  * (cqlsh) Support counters in COPY commands (CASSANDRA-9043)
   * Try next replica if not possible to connect to primary replica on
     ColumnFamilyRecordReader (CASSANDRA-2388)
   * Limit window size in DTCS (CASSANDRA-10280)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/84750421/bin/cqlsh.py
----------------------------------------------------------------------
diff --cc bin/cqlsh.py
index 793afe5,41672c0..328ba30
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@@ -2328,12 -2259,19 +2328,19 @@@ class ImportProcess(mp.Process)
          table_meta = new_cluster.metadata.keyspaces[self.ks].tables[self.cf]
  
          pk_cols = [col.name for col in table_meta.primary_key]
 -        cqltypes = [table_meta.columns[name].typestring for name in 
self.columns]
 +        cqltypes = [table_meta.columns[name].cql_type for name in 
self.columns]
          pk_indexes = [self.columns.index(col.name) for col in 
table_meta.primary_key]
-         query = 'INSERT INTO %s.%s (%s) VALUES (%%s)' % (
-             protect_name(self.ks),
-             protect_name(self.cf),
-             ', '.join(protect_names(self.columns)))
+         is_counter_table = ("counter" in cqltypes)
+ 
+         if is_counter_table:
+             query = 'UPDATE %s.%s SET %%s WHERE %%s' % (
+                 protect_name(table_meta.keyspace_name),
+                 protect_name(table_meta.name))
+         else:
+             query = 'INSERT INTO %s.%s (%s) VALUES (%%s)' % (
+                 protect_name(table_meta.keyspace_name),
+                 protect_name(table_meta.name),
+                 ', '.join(protect_names(self.columns)))
  
          # we need to handle some types specially
          should_escape = [t in ('ascii', 'text', 'timestamp', 'date', 'time', 
'inet') for t in cqltypes]

Reply via email to