Package 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, sqlTokens`

## Constructor Summary

Constructors
Constructor
Description
`Explain(SessionLocal session)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`checkParameters()`
Check if all parameters have been set.
`void`
`collectDependencies(HashSet<DbObject> dependencies)`
Find and collect all DbObjects, this Prepared depends on.
`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(long 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, getCurrentRowNumber, getDatabase, getObjectId, getParameters, getPersistedObjectId, getPlanSQL, getPlanSQL, getSession, getSimpleSQL, getSQL, getSQLTokens, isCacheable, isRetryable, isWithParamValues, needRecompile, setCommand, setCurrentRowNumber, setParameterList, setPersistedObjectId, setPrepareAlways, setRow, setSession, setSQL, setWithParamValues, toString, update`

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

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

## Constructor Details

### Explain

public Explain(SessionLocal session)

## Method Details

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

### collectDependencies

public void collectDependencies(HashSet<DbObject> dependencies)
Description copied from class: `Prepared`
Find and collect all DbObjects, this Prepared depends on.

Overrides:
  `collectDependencies` in class `Prepared`
Parameters:
  `dependencies` - collection of dependencies to populate