[ https://issues.apache.org/jira/browse/CASSANDRA-10216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14745462#comment-14745462 ]
Sylvain Lebresne commented on CASSANDRA-10216: ---------------------------------------------- I don't think {{!column.toString().equals(column.toString().toLowerCase(Locale.US));}} works all the time as a test to know if the name should be quoted, because we actually allow identifiers with spaces in them if they are quoted (so a name could be all lowercase, but still require quoting because it has spaces or some other weird character). The proper test is probably to check if the name matches the grammar for non-quoted identifer, i.e. {{IDENT : LETTER (LETTER | DIGIT | '_')*}}. Similarly, {{columnName.replaceAll("\\\"", "");}} is a tad dangerous because you can have quotes inside a column identifier if you escape it by doubling it (so {{"foo""bar"}} is the identifier {{foo"bar}}). I guess just checking if the first character is a quote, and remove that and the last character would be good enough however. > Remove target type from internal index metadata > ----------------------------------------------- > > Key: CASSANDRA-10216 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10216 > Project: Cassandra > Issue Type: Improvement > Reporter: Sam Tunnicliffe > Assignee: Sam Tunnicliffe > Labels: client-impacting > Fix For: 3.0.0 rc1 > > > As part of CASSANDRA-6716 & in anticipation of CASSANDRA-10124, a distinction > was introduced between secondary indexes which target a fixed set of 1 or > more columns in the base data, and those which are agnostic to the structure > of the underlying rows. This distinction is manifested in > {{IndexMetadata.targetType}} and {{system_schema.indexes}}, in the > {{target_type}} column. It could be argued that this distinction complicates > the codebase without providing any tangible benefit, given that the target > type is not actually used anywhere. > It's only the impact on {{system_schema.indexes}} that makes puts this on the > critical path for 3.0, any code changes are just implementation details. -- This message was sent by Atlassian JIRA (v6.3.4#6332)