[ 
https://issues.apache.org/jira/browse/CASSANDRA-6136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13784934#comment-13784934
 ] 

Sylvain Lebresne commented on CASSANDRA-6136:
---------------------------------------------

Concerning IndexInfo, this is really a bug of the describe command of cqlsh. We 
internally use a empty column name to represent COMPACT tables that have not 
column outside the PK (which is generally allowed). So cqlsh should be not 
display that empty column.

Now the fact that we use it internally for that purpose is probably a good idea 
to refuse it otherwise indeed (the fact that it's not allowed for table and 
keyspace identifiers is less so, those are a lot more restricted than column 
names already).

But if we do it, I'd rather directly do it at the grammar level, and disallow 
empty quoted names altogether (again, that's *not* a problem for IndexInfo).

> CQL should not allow an empty string as column identifier
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-6136
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6136
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Michaël Figuière
>            Assignee: Dave Brosius
>            Priority: Minor
>         Attachments: 6136.txt, 6136_v2.txt
>
>
> CQL currently allows users to create a table with an empty string as column 
> identifier:
> {code}
> CREATE TABLE t (k int primary key, "" int);
> {code}
> Which results in the following table:
> {code}
> CREATE TABLE t (
>   k int,
>   "" int,
>   PRIMARY KEY (k)
> ) WITH
>   bloom_filter_fp_chance=0.010000 AND
>   caching='KEYS_ONLY' AND
>   comment='' AND
>   dclocal_read_repair_chance=0.000000 AND
>   gc_grace_seconds=864000 AND
>   index_interval=128 AND
>   read_repair_chance=0.100000 AND
>   replicate_on_write='true' AND
>   populate_io_cache_on_flush='false' AND
>   default_time_to_live=0 AND
>   speculative_retry='NONE' AND
>   memtable_flush_period_in_ms=0 AND
>   compaction={'class': 'SizeTieredCompactionStrategy'} AND
>   compression={'sstable_compression': 'SnappyCompressor'};
> {code}
> Empty strings are not allowed for keyspace and table identifiers though.
> I guess it's just a case that we haven't covered. Of course making it illegal 
> in a future version would be a breaking change, but nobody serious would 
> manually have chosen such an identifier...



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to