Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: src/java/org/apache/cassandra/cql3/functions/TimeuuidFcts.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2c84b140 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2c84b140 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2c84b140 Branch: refs/heads/trunk Commit: 2c84b1403f9bfdaf563f62c6d1751f80627e9915 Parents: f6fda9c 8bedb57 Author: Sylvain Lebresne <sylv...@datastax.com> Authored: Wed Sep 11 08:35:24 2013 +0200 Committer: Sylvain Lebresne <sylv...@datastax.com> Committed: Wed Sep 11 08:35:24 2013 +0200 ---------------------------------------------------------------------- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/cql3/Cql.g | 2 +- .../cassandra/cql3/functions/TimeuuidFcts.java | 24 ++++++++++++++++---- .../cassandra/cql3/functions/TokenFct.java | 7 +++++- 4 files changed, 29 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c84b140/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 808c558,e420a7b..68829d8 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -27,54 -11,15 +27,56 @@@ Merged from 1.2 * Correctly handle limits in CompositesSearcher (CASSANDRA-5975) * Pig: handle CQL collections (CASSANDRA-5867) * Pass the updated cf to the PRSI index() method (CASSANDRA-5999) + * Allow empty CQL3 batches (as no-op) (CASSANDRA-5994) + * Support null in CQL3 functions (CASSANDRA-5910) -1.2.9 +2.0.0 + * Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138) + * Fix periodic memtable flushing behavior with clean memtables (CASSANDRA-5931) + * Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928) + * Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938) + * Add stream session progress to JMX (CASSANDRA-4757) + * Fix NPE during CAS operation (CASSANDRA-5925) +Merged from 1.2: * Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900) - * migrate 1.1 schema_columnfamilies.key_alias column to key_aliases - (CASSANDRA-5800) - * add --migrate option to sstableupgrade and sstablescrub (CASSANDRA-5831) + * Don't announce schema version until we've loaded the changes locally + (CASSANDRA-5904) + * Fix to support off heap bloom filters size greater than 2 GB (CASSANDRA-5903) + * Properly handle parsing huge map and set literals (CASSANDRA-5893) + + +2.0.0-rc2 + * enable vnodes by default (CASSANDRA-5869) + * fix CAS contention timeout (CASSANDRA-5830) + * fix HsHa to respect max frame size (CASSANDRA-4573) + * Fix (some) 2i on composite components omissions (CASSANDRA-5851) + * cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880) +Merged from 1.2: + * Correctly validate sparse composite cells in scrub (CASSANDRA-5855) + * Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868) + * cqlsh: add support for multiline comments (CASSANDRA-5798) + * Handle CQL3 SELECT duplicate IN restrictions on clustering columns + (CASSANDRA-5856) + + +2.0.0-rc1 + * improve DecimalSerializer performance (CASSANDRA-5837) + * fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690) + * fix schema-related trigger issues (CASSANDRA-5774) + * Better validation when accessing CQL3 table from thrift (CASSANDRA-5138) + * Fix assertion error during repair (CASSANDRA-5801) + * Fix range tombstone bug (CASSANDRA-5805) + * DC-local CAS (CASSANDRA-5797) + * Add a native_protocol_version column to the system.local table (CASSANRDA-5819) + * Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822) + * Fix buffer underflow on socket close (CASSANDRA-5792) +Merged from 1.2: + * Fix reading DeletionTime from 1.1-format sstables (CASSANDRA-5814) + * cqlsh: add collections support to COPY (CASSANDRA-5698) + * retry important messages for any IOException (CASSANDRA-5804) + * Allow empty IN relations in SELECT/UPDATE/DELETE statements (CASSANDRA-5626) + * cqlsh: fix crashing on Windows due to libedit detection (CASSANDRA-5812) * fix bulk-loading compressed sstables (CASSANDRA-5820) * (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter (CASSANDRA-5824) http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c84b140/src/java/org/apache/cassandra/cql3/Cql.g ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/cql3/Cql.g index 0e1be34,2445bf2..61bf3c8 --- a/src/java/org/apache/cassandra/cql3/Cql.g +++ b/src/java/org/apache/cassandra/cql3/Cql.g @@@ -419,10 -386,10 +419,10 @@@ batchStatement returns [BatchStatement. : K_BEGIN ( K_UNLOGGED { type = BatchStatement.Type.UNLOGGED; } | K_COUNTER { type = BatchStatement.Type.COUNTER; } )? K_BATCH ( usingClause[attrs] )? - ( s=batchStatementObjective ';'? { statements.add(s); } )+ + ( s=batchStatementObjective ';'? { statements.add(s); } )* K_APPLY K_BATCH { - return new BatchStatement(type, statements, attrs); + return new BatchStatement.Parsed(type, attrs, statements); } ; http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c84b140/src/java/org/apache/cassandra/cql3/functions/TimeuuidFcts.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/cql3/functions/TimeuuidFcts.java index 18ccd56,52eca54..9c69c19 --- a/src/java/org/apache/cassandra/cql3/functions/TimeuuidFcts.java +++ b/src/java/org/apache/cassandra/cql3/functions/TimeuuidFcts.java @@@ -47,7 -47,11 +47,11 @@@ public abstract class TimeuuidFct { public ByteBuffer execute(List<ByteBuffer> parameters) { - return ByteBuffer.wrap(UUIDGen.decompose(UUIDGen.minTimeUUID(TimestampType.instance.compose(parameters.get(0)).getTime()))); + ByteBuffer bb = parameters.get(0); + if (bb == null) + return null; + - return ByteBuffer.wrap(UUIDGen.decompose(UUIDGen.minTimeUUID(DateType.instance.compose(bb).getTime()))); ++ return ByteBuffer.wrap(UUIDGen.decompose(UUIDGen.minTimeUUID(TimestampType.instance.compose(bb).getTime()))); } }; @@@ -55,7 -59,11 +59,11 @@@ { public ByteBuffer execute(List<ByteBuffer> parameters) { - return ByteBuffer.wrap(UUIDGen.decompose(UUIDGen.maxTimeUUID(TimestampType.instance.compose(parameters.get(0)).getTime()))); + ByteBuffer bb = parameters.get(0); + if (bb == null) + return null; + - return ByteBuffer.wrap(UUIDGen.decompose(UUIDGen.maxTimeUUID(DateType.instance.compose(bb).getTime()))); ++ return ByteBuffer.wrap(UUIDGen.decompose(UUIDGen.maxTimeUUID(TimestampType.instance.compose(bb).getTime()))); } }; @@@ -63,7 -71,11 +71,11 @@@ { public ByteBuffer execute(List<ByteBuffer> parameters) { - return TimestampType.instance.decompose(new Date(UUIDGen.unixTimestamp(UUIDGen.getUUID(parameters.get(0))))); + ByteBuffer bb = parameters.get(0); + if (bb == null) + return null; + - return DateType.instance.decompose(new Date(UUIDGen.unixTimestamp(UUIDGen.getUUID(bb)))); ++ return TimestampType.instance.decompose(new Date(UUIDGen.unixTimestamp(UUIDGen.getUUID(bb)))); } }; http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c84b140/src/java/org/apache/cassandra/cql3/functions/TokenFct.java ----------------------------------------------------------------------