org.apache.cassandra.cql3.statements

## Class CreateIndexStatement

- java.lang.Object
- - org.apache.cassandra.cql3.statements.ParsedStatement
  - - org.apache.cassandra.cql3.statements.CFStatement
    - - org.apache.cassandra.cql3.statements.SchemaAlteringStatement
      - - org.apache.cassandra.cql3.statements.CreateIndexStatement

- All Implemented Interfaces:
    CQLStatement

      public class CreateIndexStatement
      extends SchemaAlteringStatement

  A `CREATE INDEX` statement parsed from a CQL query.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.cassandra.cql3.statements.ParsedStatement

      `ParsedStatement.Prepared`

  - ### Field Summary

    - ### Fields inherited from class org.apache.cassandra.cql3.statements.CFStatement

      `cfName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CreateIndexStatement(CFName name, java.lang.String indexName, ColumnIdentifier columnName, boolean isCustom, java.lang.String indexClass)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `announceMigration()`
    `ResultMessage.SchemaChange.Change` | `changeType()`
    `void` | `checkAccess(ClientState state)` Perform any access verification necessary for the statement.
    `void` | `validate(ClientState state)` Perform additional validation required by the statment.

    - ### Methods inherited from class org.apache.cassandra.cql3.statements.SchemaAlteringStatement

      `execute, executeInternal, prepare, prepareKeyspace`

    - ### Methods inherited from class org.apache.cassandra.cql3.statements.CFStatement

      `columnFamily, keyspace`

    - ### Methods inherited from class org.apache.cassandra.cql3.statements.ParsedStatement

      `getBoundTerms, setBoundTerms`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.cassandra.cql3.CQLStatement

      `getBoundTerms`

- - ### Constructor Detail

    - #### CreateIndexStatement

          public CreateIndexStatement(CFName name,
                              java.lang.String indexName,
                              ColumnIdentifier columnName,
                              boolean isCustom,
                              java.lang.String indexClass)

  - ### Method Detail

    - #### checkAccess

          public void checkAccess(ClientState state)
                           throws UnauthorizedException,
                                  InvalidRequestException

      Description copied from interface: `CQLStatement`
      Perform any access verification necessary for the statement.
      Parameters:
        `state` - the current client state
      Throws:
        `UnauthorizedException`
        `InvalidRequestException`

    - #### validate

          public void validate(ClientState state)
                        throws RequestValidationException

      Description copied from interface: `CQLStatement`
      Perform additional validation required by the statment. To be overriden by subclasses if needed.
      Specified by:
        `validate` in interface `CQLStatement`
      Overrides:
        `validate` in class `SchemaAlteringStatement`
      Parameters:
        `state` - the current client state
      Throws:
        `RequestValidationException`

    - #### announceMigration

          public void announceMigration()
                                 throws InvalidRequestException,
                                        ConfigurationException

      Specified by:
        `announceMigration` in class `SchemaAlteringStatement`
      Throws:
        `InvalidRequestException`
        `ConfigurationException`

    - #### changeType

          public ResultMessage.SchemaChange.Change changeType()

      Specified by:
        `changeType` in class `SchemaAlteringStatement`

Copyright © 2014 The Apache Software Foundation