Merge branch 'cassandra-3.11' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/31208d00 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/31208d00 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/31208d00 Branch: refs/heads/trunk Commit: 31208d00d4d3e3d055dc544a30e71875aa3ccfd1 Parents: 546df00 13f654e Author: Tyler Hobbs <[email protected]> Authored: Fri Feb 3 11:33:47 2017 -0600 Committer: Tyler Hobbs <[email protected]> Committed: Fri Feb 3 11:33:47 2017 -0600 ---------------------------------------------------------------------- CHANGES.txt | 3 ++ .../apache/cassandra/schema/SchemaKeyspace.java | 40 +++++++++++++++++++- 2 files changed, 41 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/31208d00/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 63dc803,9274771..42e6b85 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,37 -1,8 +1,40 @@@ -3.11 +4.0 + * Make TableMetadata immutable, optimize Schema (CASSANDRA-9425) + * Refactor ColumnCondition (CASSANDRA-12981) + * Parallelize streaming of different keyspaces (CASSANDRA-4663) + * Improved compactions metrics (CASSANDRA-13015) + * Speed-up start-up sequence by avoiding un-needed flushes (CASSANDRA-13031) + * Use Caffeine (W-TinyLFU) for on-heap caches (CASSANDRA-10855) + * Thrift removal (CASSANDRA-11115) + * Remove pre-3.0 compatibility code for 4.0 (CASSANDRA-12716) + * Add column definition kind to dropped columns in schema (CASSANDRA-12705) + * Add (automate) Nodetool Documentation (CASSANDRA-12672) + * Update bundled cqlsh python driver to 3.7.0 (CASSANDRA-12736) + * Reject invalid replication settings when creating or altering a keyspace (CASSANDRA-12681) + * Clean up the SSTableReader#getScanner API wrt removal of RateLimiter (CASSANDRA-12422) + * Use new token allocation for non bootstrap case as well (CASSANDRA-13080) + * Avoid byte-array copy when key cache is disabled (CASSANDRA-13084) + * More fixes to the TokenAllocator (CASSANDRA-12990) + * Require forceful decommission if number of nodes is less than replication factor (CASSANDRA-12510) + * Allow IN restrictions on column families with collections (CASSANDRA-12654) + * Move to FastThreadLocalThread and FastThreadLocal (CASSANDRA-13034) + * nodetool stopdaemon errors out (CASSANDRA-13030) + * Log message size in trace message in OutboundTcpConnection (CASSANDRA-13028) + * Add timeUnit Days for cassandra-stress (CASSANDRA-13029) + * Add mutation size and batch metrics (CASSANDRA-12649) + * Add method to get size of endpoints to TokenMetadata (CASSANDRA-12999) + * Fix primary index calculation for SASI (CASSANDRA-12910) + * Expose time spent waiting in thread pool queue (CASSANDRA-8398) + * Conditionally update index built status to avoid unnecessary flushes (CASSANDRA-12969) + * NoReplicationTokenAllocator should work with zero replication factor (CASSANDRA-12983) + * cqlsh auto completion: refactor definition of compaction strategy options (CASSANDRA-12946) + * Add support for arithmetic operators (CASSANDRA-11935) + * Tables in system_distributed should not use gcgs of 0 (CASSANDRA-12954) + Merged from 3.0: + * Provide user workaround when system_schema.columns does not contain entries + for a table that's in system_schema.tables (CASSANDRA-13180) + 3.10 * Fix secondary index queries regression (CASSANDRA-13013) * Add duration type to the protocol V5 (CASSANDRA-12850) http://git-wip-us.apache.org/repos/asf/cassandra/blob/31208d00/src/java/org/apache/cassandra/schema/SchemaKeyspace.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/schema/SchemaKeyspace.java index 6716652,58580b9..5e5ba34 --- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java +++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java @@@ -961,11 -1040,15 +985,15 @@@ public final class SchemaKeyspac .build(); } - private static List<ColumnDefinition> fetchColumns(String keyspace, String table, Types types) + private static List<ColumnMetadata> fetchColumns(String keyspace, String table, Types types) { String query = format("SELECT * FROM %s.%s WHERE keyspace_name = ? AND table_name = ?", SchemaConstants.SCHEMA_KEYSPACE_NAME, COLUMNS); + UntypedResultSet columnRows = query(query, keyspace, table); + if (columnRows.isEmpty()) + throw new MissingColumns("Columns not found in schema table for " + keyspace + "." + table); + - List<ColumnDefinition> columns = new ArrayList<>(); + List<ColumnMetadata> columns = new ArrayList<>(); - query(query, keyspace, table).forEach(row -> columns.add(createColumnFromRow(row, types))); + columnRows.forEach(row -> columns.add(createColumnFromRow(row, types))); return columns; }
