[ 
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)

Reply via email to