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/8764ef2d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8764ef2d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8764ef2d Branch: refs/heads/trunk Commit: 8764ef2da367fac64adad0821a34e6fa15da13c6 Parents: 6cd4009 adc32ac Author: Alex Petrov <oleksandr.pet...@gmail.com> Authored: Tue Dec 19 10:59:23 2017 +0100 Committer: Alex Petrov <oleksandr.pet...@gmail.com> Committed: Tue Dec 19 10:59:23 2017 +0100 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../org/apache/cassandra/index/TargetParser.java | 17 ++++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8764ef2d/CHANGES.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8764ef2d/src/java/org/apache/cassandra/index/TargetParser.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/index/TargetParser.java index ec25259,96d03af..bc679f2 --- a/src/java/org/apache/cassandra/index/TargetParser.java +++ b/src/java/org/apache/cassandra/index/TargetParser.java @@@ -77,13 -77,16 +77,16 @@@ public class TargetParse } // if it's not a CQL table, we can't assume that the column name is utf8, so - // in that case we have to do a linear scan of the table's columns to get the matching one - if (metadata.isCQLTable()) - return Pair.create(metadata.getColumn(new ColumnIdentifier(columnName, true)), targetType); - else - for (ColumnMetadata column : metadata.columns()) - if (column.name.toString().equals(columnName)) - return Pair.create(column, targetType); + // in that case we have to do a linear scan of the cfm's columns to get the matching one. + // After dropping compact storage (see CASSANDRA-10857), we can't distinguish between the + // former compact/thrift table, so we have to fall back to linear scan in both cases. - ColumnDefinition cd = cfm.getColumnDefinition(new ColumnIdentifier(columnName, true)); ++ ColumnMetadata cd = metadata.getColumn(new ColumnIdentifier(columnName, true)); + if (cd != null) + return Pair.create(cd, targetType); + - for (ColumnDefinition column : cfm.allColumns()) ++ for (ColumnMetadata column : metadata.columns()) + if (column.name.toString().equals(columnName)) + return Pair.create(column, targetType); return null; } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org