Package org.h2.command

# Class CommandContainer

java.lang.Object
org.h2.command.Command
org.h2.command.CommandContainer

All Implemented Interfaces:
  `AutoCloseable`, `CommandInterface`

public class CommandContainer extends Command
Represents a single SQL statements. It wraps a prepared statement.

## Field Summary

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

`session, startTimeNanos`

### Fields inherited from interface org.h2.command.CommandInterface

`ALTER_DOMAIN_ADD_CONSTRAINT, ALTER_DOMAIN_DEFAULT, ALTER_DOMAIN_DROP_CONSTRAINT, ALTER_DOMAIN_ON_UPDATE, ALTER_DOMAIN_RENAME, ALTER_DOMAIN_RENAME_CONSTRAINT, ALTER_INDEX_RENAME, ALTER_SCHEMA_RENAME, ALTER_SEQUENCE, ALTER_TABLE_ADD_COLUMN, ALTER_TABLE_ADD_CONSTRAINT_CHECK, ALTER_TABLE_ADD_CONSTRAINT_PRIMARY_KEY, ALTER_TABLE_ADD_CONSTRAINT_REFERENTIAL, ALTER_TABLE_ADD_CONSTRAINT_UNIQUE, ALTER_TABLE_ALTER_COLUMN_CHANGE_TYPE, ALTER_TABLE_ALTER_COLUMN_DEFAULT, ALTER_TABLE_ALTER_COLUMN_DEFAULT_ON_NULL, ALTER_TABLE_ALTER_COLUMN_DROP_EXPRESSION, ALTER_TABLE_ALTER_COLUMN_DROP_IDENTITY, ALTER_TABLE_ALTER_COLUMN_DROP_NOT_NULL, ALTER_TABLE_ALTER_COLUMN_NOT_NULL, ALTER_TABLE_ALTER_COLUMN_ON_UPDATE, ALTER_TABLE_ALTER_COLUMN_RENAME, ALTER_TABLE_ALTER_COLUMN_SELECTIVITY, ALTER_TABLE_ALTER_COLUMN_VISIBILITY, ALTER_TABLE_DROP_COLUMN, ALTER_TABLE_DROP_CONSTRAINT, ALTER_TABLE_RENAME, ALTER_TABLE_RENAME_CONSTRAINT, ALTER_TABLE_SET_REFERENTIAL_INTEGRITY, ALTER_TYPE, ALTER_USER_ADMIN, ALTER_USER_RENAME, ALTER_USER_SET_PASSWORD, ALTER_VIEW, ANALYZE, BACKUP, BEGIN, CALL, CHECKPOINT, CHECKPOINT_SYNC, COMMENT, COMMIT, COMMIT_TRANSACTION, CREATE_AGGREGATE, CREATE_ALIAS, CREATE_CONSTANT, CREATE_DOMAIN, CREATE_INDEX, CREATE_LINKED_TABLE, CREATE_MATERIALIZED_VIEW, CREATE_ROLE, CREATE_SCHEMA, CREATE_SEQUENCE, CREATE_SYNONYM, CREATE_TABLE, CREATE_TRIGGER, CREATE_USER, CREATE_VIEW, DEALLOCATE, DELETE, DROP_AGGREGATE, DROP_ALIAS, DROP_ALL_OBJECTS, DROP_CONSTANT, DROP_DOMAIN, DROP_INDEX, DROP_MATERIALIZED_VIEW, DROP_ROLE, DROP_SCHEMA, DROP_SEQUENCE, DROP_SYNONYM, DROP_TABLE, DROP_TRIGGER, DROP_USER, DROP_VIEW, EXECUTE, EXECUTE_IMMEDIATELY, EXPLAIN, EXPLAIN_ANALYZE, GRANT, HELP, INSERT, MERGE, NO_OPERATION, PREPARE, PREPARE_COMMIT, REFRESH_MATERIALIZED_VIEW, REPLACE, REVOKE, ROLLBACK, ROLLBACK_TO_SAVEPOINT, ROLLBACK_TRANSACTION, RUNSCRIPT, SAVEPOINT, SCRIPT, SELECT, SET, SET_AUTOCOMMIT_FALSE, SET_AUTOCOMMIT_TRUE, SHUTDOWN, SHUTDOWN_COMPACT, SHUTDOWN_DEFRAG, SHUTDOWN_IMMEDIATELY, TRUNCATE_TABLE, UNKNOWN, UPDATE`

## Constructor Summary

Constructors
Constructor
Description
`CommandContainer(SessionLocal session, String sql, Prepared prepared)`

## Method Summary

Modifier and Type
Method
Description
`int`
`getCommandType()`
Get command type.
`Set<DbObject>`
`getDependencies()`
Collect all database objects, this command depends on
`ArrayList<? extends ParameterInterface>`
`getParameters()`
Get the list of parameters.
`void`
`invalidateCachedResult(Table reason)`
Clear cached results of all prepared statements, which depends on a given table
`boolean`
`isCacheable()`
`boolean`
`isQuery()`
Check if this command is a query.
`boolean`
`isReadOnly()`
Check if this command is read only.
`protected boolean`
`isRetryable()`
Checks if this command can be repeated on locking failure.
`boolean`
`isTransactional()`
Check if this command is transactional.
`ResultInterface`
`query(long maxrows)`
Execute a query statement, if this is possible.
`ResultInterface`
`queryMeta()`
Get an empty result set containing the metadata.
`ResultWithGeneratedKeys`
`update(Object generatedKeysRequest)`
Execute an updating statement (for example insert, delete, or update), if this is possible.

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

`cancel, canReuse, checkCanceled, close, executeBatchUpdate, executeQuery, executeUpdate, getDatabase, getMetaData, reuse, stop, toString`

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

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

## Constructor Details

### CommandContainer

public CommandContainer(SessionLocal session, String sql, Prepared prepared)

## Method Details

### getParameters

public ArrayList<? extends ParameterInterface> getParameters()
Description copied from class: `Command`
Get the list of parameters.

Specified by:
  `getParameters` in interface `CommandInterface`
Specified by:
  `getParameters` in class `Command`
Returns:
  the list of parameters

### isTransactional

public boolean isTransactional()
Description copied from class: `Command`
Check if this command is transactional. If it is not, then it forces the current transaction to commit.

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

### isQuery

public boolean isQuery()
Description copied from class: `Command`
Check if this command is a query.

Specified by:
  `isQuery` in interface `CommandInterface`
Specified by:
  `isQuery` in class `Command`
Returns:
  true if it is

### update

public ResultWithGeneratedKeys update(Object generatedKeysRequest)
Description copied from class: `Command`
Execute an updating statement (for example insert, delete, or update), if this is possible.

Specified by:
  `update` in class `Command`
Parameters:
  `generatedKeysRequest` - `false` if generated keys are not needed, `true` if generated keys should be configured automatically, `int[]` to specify column indices to return generated keys from, or `String[]` to specify column names to return generated keys from
Returns:
  the update count and generated keys, if any

### query

public ResultInterface query(long maxrows)
Description copied from class: `Command`
Execute a query statement, if this is possible.

Specified by:
  `query` in class `Command`
Parameters:
  `maxrows` - the maximum number of rows returned
Returns:
  the local result set

### isReadOnly

public boolean isReadOnly()
Description copied from class: `Command`
Check if this command is read only.

Specified by:
  `isReadOnly` in class `Command`
Returns:
  true if it is

### queryMeta

public ResultInterface queryMeta()
Description copied from class: `Command`
Get an empty result set containing the metadata.

Specified by:
  `queryMeta` in class `Command`
Returns:
  an empty result set

### isCacheable

public boolean isCacheable()

Overrides:
  `isCacheable` in class `Command`

### getCommandType

public int getCommandType()
Description copied from interface: `CommandInterface`
Get command type.

Returns:
  one of the constants above

### getDependencies

public Set<DbObject> getDependencies()
Description copied from class: `Command`
Collect all database objects, this command depends on

Specified by:
  `getDependencies` in class `Command`
Returns:
  Set of dependencies

### invalidateCachedResult

public void invalidateCachedResult(Table reason)
Description copied from class: `Command`
Clear cached results of all prepared statements, which depends on a given table

Specified by:
  `invalidateCachedResult` in class `Command`
Parameters:
  `reason` - table causing invalidation

### isRetryable

protected boolean isRetryable()
Description copied from class: `Command`
Checks if this command can be repeated on locking failure.

Specified by:
  `isRetryable` in class `Command`
Returns:
  true if this command can be repeated on locking failure