Uploaded image for project: 'Apache Cassandra'
  1. Apache Cassandra
  2. CASSANDRA-8365

CamelCase name is used as index name instead of lowercase

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 2.1.3
    • Legacy/CQL
    • Low

    Description

      In cqlsh, when I execute a CREATE INDEX FooBar ... statement, the CamelCase name is used as index name, even though it is unquoted. Trying to quote the index name results in a syntax error.

      However, when I try to delete the index, I have to quote the index name, otherwise I get an invalid-query error telling me that the index (lowercase) does not exist.

      This seems inconsistent. Shouldn't the index name be lowercased before the index is created ?

      Here is the code to reproduce the issue :

      cqlsh:schemabuilderit> CREATE TABLE IndexTest (a int primary key, b int);
      cqlsh:schemabuilderit> CREATE INDEX FooBar on indextest (b);
      cqlsh:schemabuilderit> DESCRIBE TABLE indextest ;
      
      CREATE TABLE schemabuilderit.indextest (
          a int PRIMARY KEY,
          b int
      ) ........;
      CREATE INDEX FooBar ON schemabuilderit.indextest (b);
      
      cqlsh:schemabuilderit> DROP INDEX FooBar;
      code=2200 [Invalid query] message="Index 'foobar' could not be found in any of the tables of keyspace 'schemabuilderit'"
      

      Attachments

        1. CASSANDRA-8365.txt
          13 kB
          Benjamin Lerer
        2. CASSANDRA-8365-trunk-unittests-fix.txt
          1 kB
          Benjamin Lerer
        3. CASSANDRA-8365-V2.txt
          17 kB
          Benjamin Lerer

        Issue Links

          Activity

            People

              blerer Benjamin Lerer
              pingtimeout Pierre Laporte
              Benjamin Lerer
              Tom Hobbs
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: