Class CommandContainer
java.lang.Object
org.h2.command.Command
org.h2.command.CommandContainer
- All Implemented Interfaces:
AutoCloseable, CommandInterface
Represents a single SQL statements.
It wraps a prepared statement.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classCollector of generated keys. -
Field Summary
FieldsFields inherited from class Command
session, startTimeNanosFields inherited from interface 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_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_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_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, 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 -
Method Summary
Modifier and TypeMethodDescriptionbooleancanReuse()Whether the command is already closed (in which case it can be re-used).(package private) voidclearCTE()Clean up any associated CTE.(package private) static voidclearCTE(SessionLocal session, List<TableView> views) Clears CTE views.(package private) static voidclearCTE(SessionLocal session, Prepared prepared) Clears CTE views for a specified statement.private ResultWithGeneratedKeysexecuteUpdateWithGeneratedKeys(DataChangeStatement statement, Object generatedKeysRequest) intGet command type.ArrayList<? extends ParameterInterface> Get the list of parameters.booleanprotected booleanIs the command we just tried to execute a DefineCommand (i.e.booleanisQuery()Check if this command is a query.booleanCheck if this command is read only.booleanCheck if this command is transactional.query(long maxrows) Execute a query statement, if this is possible.Get an empty result set containing the meta data.private voidvoidstop()Stop the command execution, release all locks and resourcesExecute an updating statement (for example insert, delete, or update), if this is possible.Methods inherited from class Command
cancel, checkCanceled, close, executeQuery, executeUpdate, getMetaData, reuse, setCanReuse, setProgress, start, toString
-
Field Details
-
prepared
-
readOnlyKnown
private boolean readOnlyKnown -
readOnly
private boolean readOnly
-
-
Constructor Details
-
CommandContainer
-
-
Method Details
-
clearCTE
Clears CTE views for a specified statement.- Parameters:
session- the sessionprepared- prepared statement
-
clearCTE
Clears CTE views.- Parameters:
session- the sessionviews- list of view
-
getParameters
Description copied from class:CommandGet the list of parameters.- Specified by:
getParametersin interfaceCommandInterface- Specified by:
getParametersin classCommand- Returns:
- the list of parameters
-
isTransactional
public boolean isTransactional()Description copied from class:CommandCheck if this command is transactional. If it is not, then it forces the current transaction to commit.- Specified by:
isTransactionalin classCommand- Returns:
- true if it is
-
isQuery
public boolean isQuery()Description copied from class:CommandCheck if this command is a query.- Specified by:
isQueryin interfaceCommandInterface- Specified by:
isQueryin classCommand- Returns:
- true if it is
-
recompileIfRequired
private void recompileIfRequired() -
update
Description copied from class:CommandExecute an updating statement (for example insert, delete, or update), if this is possible.- Specified by:
updatein classCommand- Parameters:
generatedKeysRequest-falseif generated keys are not needed,trueif generated keys should be configured automatically,int[]to specify column indices to return generated keys from, orString[]to specify column names to return generated keys from- Returns:
- the update count and generated keys, if any
-
executeUpdateWithGeneratedKeys
private ResultWithGeneratedKeys executeUpdateWithGeneratedKeys(DataChangeStatement statement, Object generatedKeysRequest) -
query
Description copied from class:CommandExecute a query statement, if this is possible. -
stop
public void stop()Description copied from interface:CommandInterfaceStop the command execution, release all locks and resources- Specified by:
stopin interfaceCommandInterface- Overrides:
stopin classCommand
-
canReuse
-
isReadOnly
public boolean isReadOnly()Description copied from class:CommandCheck if this command is read only.- Specified by:
isReadOnlyin classCommand- Returns:
- true if it is
-
queryMeta
Description copied from class:CommandGet an empty result set containing the meta data. -
isCacheable
public boolean isCacheable()- Overrides:
isCacheablein classCommand
-
getCommandType
public int getCommandType()Description copied from interface:CommandInterfaceGet command type.- Returns:
- one of the constants above
-
clearCTE
void clearCTE()Clean up any associated CTE. -
getDependencies
- Specified by:
getDependenciesin classCommand
-
isCurrentCommandADefineCommand
protected boolean isCurrentCommandADefineCommand()Description copied from class:CommandIs the command we just tried to execute a DefineCommand (i.e. DDL).- Specified by:
isCurrentCommandADefineCommandin classCommand- Returns:
- true if yes
-