org.apache.cassandra.cql3.statements

## Class DropFunctionStatement

- 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.DropFunctionStatement

All Implemented Interfaces:
  CQLStatement

    public final class DropFunctionStatement
    extends SchemaAlteringStatement

A `DROP FUNCTION` 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
`DropFunctionStatement(FunctionName functionName, java.util.List<CQL3Type.Raw> argRawTypes, boolean argsPresent, boolean ifExists)`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `announceMigration(boolean isLocalOnly)` Announces the migration to other nodes in the cluster.
`Event.SchemaChange` `changeEvent()`
`void` `checkAccess(ClientState state)` Perform any access verification necessary for the statement.
`ParsedStatement.Prepared` `prepare()`
`void` `prepareKeyspace(ClientState state)`
`void` `validate(ClientState state)` Perform additional validation required by the statment.

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

`execute, executeInternal, getBoundTerms, grantPermissionsToCreator`

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

`columnFamily, keyspace, prepareKeyspace`

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

`getBoundVariables, getFunctions, setBoundVariables`

### 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

`getFunctions`

### Constructor Detail

#### DropFunctionStatement

    public DropFunctionStatement(FunctionName functionName,
                                 java.util.List<CQL3Type.Raw> argRawTypes,
                                 boolean argsPresent,
                                 boolean ifExists)

### Method Detail

#### prepare

    public ParsedStatement.Prepared prepare()
                                     throws InvalidRequestException

Overrides:
  `prepare` in class `SchemaAlteringStatement`
Throws:
  `InvalidRequestException`

#### prepareKeyspace

    public void prepareKeyspace(ClientState state)
                         throws InvalidRequestException

Overrides:
  `prepareKeyspace` in class `SchemaAlteringStatement`
Throws:
  `InvalidRequestException`

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

Description copied from interface: `CQLStatement`
Perform additional validation required by the statment. To be overriden by subclasses if needed.

Parameters:
  `state` - the current client state

#### changeEvent

    public Event.SchemaChange changeEvent()

Specified by:
  `changeEvent` in class `SchemaAlteringStatement`

#### announceMigration

    public boolean announceMigration(boolean isLocalOnly)
                              throws RequestValidationException

Description copied from class: `SchemaAlteringStatement`
Announces the migration to other nodes in the cluster.

Specified by:
  `announceMigration` in class `SchemaAlteringStatement`
Returns:
  true if the execution of this statement resulted in a schema change, false otherwise (when IF NOT EXISTS is used, for example)
Throws:
  `RequestValidationException`