org.h2.command.dml

## Class Explain

- java.lang.Object
- - org.h2.command.Prepared
  - - org.h2.command.dml.Explain

    public class Explain
    extends Prepared

This class represents the statement EXPLAIN

### Field Summary

### Fields inherited from class org.h2.command.Prepared

`create, parameters, prepareAlways, session, sqlStatement`

### Constructor Summary

Constructors
Constructor and Description
`Explain(Session session)`

### Method Summary

Methods
`protected void` `checkParameters()` Check if all parameters have been set.
`Prepared` `getCommand()`
`int` `getType()` Get the command type as defined in CommandInterface
`boolean` `isQuery()` Check if this object is a query.
`boolean` `isReadOnly()` Check if this command is read only.
`boolean` `isTransactional()` Check if this command is transactional.
`void` `prepare()` Prepare this statement.
`ResultInterface` `query(int maxrows)` Execute the query.
`ResultInterface` `queryMeta()` Get an empty result set containing the meta data.
`void` `setCommand(Prepared command)`
`void` `setExecuteCommand(boolean executeCommand)`

### Methods inherited from class org.h2.command.Prepared

`checkCanceled, getCurrentObjectId, getCurrentRowNumber, getObjectId, getParameters, getPlanSQL, getSQL, getSQL, getSQL, isCacheable, needRecompile, setCommand, setCurrentRowNumber, setObjectId, setParameterList, setPrepareAlways, setRow, setSession, setSQL, toString, update`

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

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

### Constructor Detail

#### Explain

    public Explain(Session session)

### Method Detail

#### setCommand

    public void setCommand(Prepared command)

#### getCommand

    public Prepared getCommand()

#### prepare

    public void prepare()

Description copied from class: `Prepared`
Prepare this statement.

Overrides:
  `prepare` in class `Prepared`

#### setExecuteCommand

    public void setExecuteCommand(boolean executeCommand)

#### queryMeta

    public ResultInterface queryMeta()

Description copied from class: `Prepared`
Get an empty result set containing the meta data.

Specified by:
  `queryMeta` in class `Prepared`
Returns:
  the result set

#### checkParameters

    protected void checkParameters()

Description copied from class: `Prepared`
Check if all parameters have been set.

Overrides:
  `checkParameters` in class `Prepared`

#### query

    public ResultInterface query(int maxrows)

Description copied from class: `Prepared`
Execute the query.

Overrides:
  `query` in class `Prepared`
Parameters:
  `maxrows` - the maximum number of rows to return
Returns:
  the result set

#### isQuery

    public boolean isQuery()

Description copied from class: `Prepared`
Check if this object is a query.

Overrides:
  `isQuery` in class `Prepared`
Returns:
  true if it is

#### isTransactional

    public boolean isTransactional()

Description copied from class: `Prepared`
Check if this command is transactional. If it is not, then it forces the current transaction to commit.

Specified by:
  `isTransactional` in class `Prepared`
Returns:
  true if it is

#### isReadOnly

    public boolean isReadOnly()

Description copied from class: `Prepared`
Check if this command is read only.

Overrides:
  `isReadOnly` in class `Prepared`
Returns:
  true if it is

#### getType

    public int getType()

Description copied from class: `Prepared`
Get the command type as defined in CommandInterface

Specified by:
  `getType` in class `Prepared`
Returns:
  the statement type