org.h2.command
Class Command

java.lang.Object
  extended by org.h2.command.Command
All Implemented Interfaces:
CommandInterface

public abstract class Command
extends java.lang.Object
implements CommandInterface

Represents a SQL statement. This object is only used on the server side.


Field Summary
protected  Session session
          The session.
protected  long startTime
          The last start time.
 
Fields inherited from interface org.h2.command.CommandInterface
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_NOT_NULL, ALTER_TABLE_ALTER_COLUMN_NULL, ALTER_TABLE_ALTER_COLUMN_RENAME, ALTER_TABLE_ALTER_COLUMN_SELECTIVITY, ALTER_TABLE_DROP_COLUMN, ALTER_TABLE_DROP_CONSTRAINT, ALTER_TABLE_RENAME, 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_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_TABLE, DROP_TRIGGER, DROP_USER, DROP_VIEW, EXECUTE, EXPLAIN, GRANT, INSERT, MERGE, NO_OPERATION, PREPARE, PREPARE_COMMIT, 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
 
Method Summary
 void cancel()
          Cancel the statement if it is still processing.
 boolean canReuse()
          Whether the command is already closed (in which case it can be re-used).
protected  void checkCanceled()
          Check if this command has been canceled, and throw an exception if yes.
 void close()
          Close the statement.
 ResultInterface executeQuery(int maxrows, boolean scrollable)
          Execute a query and return the result.
 int executeUpdate()
          Execute the statement
 ResultInterface getMetaData()
          Get an empty result set containing the meta data of the result.
abstract  java.util.ArrayList<? extends ParameterInterface> getParameters()
          Get the list of parameters.
 boolean isCacheable()
           
abstract  boolean isQuery()
          Check if this command is a query.
abstract  boolean isReadOnly()
          Check if this command is read only.
abstract  boolean isTransactional()
          Check if this command is transactional.
 ResultInterface query(int maxrows)
          Execute a query statement, if this is possible.
abstract  ResultInterface queryMeta()
          Get an empty result set containing the meta data.
 void reuse()
          The command is now re-used, therefore reset the canReuse flag, and the parameter values.
 java.lang.String toString()
           
 int update()
          Execute an updating statement, if this is possible.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.h2.command.CommandInterface
getCommandType
 

Field Detail

session

protected final Session session
The session.


startTime

protected long startTime
The last start time.

Method Detail

isTransactional

public abstract boolean isTransactional()
Check if this command is transactional. If it is not, then it forces the current transaction to commit.

Returns:
true if it is

isQuery

public abstract boolean isQuery()
Check if this command is a query.

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

getParameters

public abstract java.util.ArrayList<? extends ParameterInterface> getParameters()
Get the list of parameters.

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

isReadOnly

public abstract boolean isReadOnly()
Check if this command is read only.

Returns:
true if it is

queryMeta

public abstract ResultInterface queryMeta()
Get an empty result set containing the meta data.

Returns:
an empty result set

update

public int update()
Execute an updating statement, if this is possible.

Returns:
the update count
Throws:
DbException - if the command is not an updating statement

query

public ResultInterface query(int maxrows)
Execute a query statement, if this is possible.

Parameters:
maxrows - the maximum number of rows returned
Returns:
the local result set
Throws:
DbException - if the command is not a query

getMetaData

public final ResultInterface getMetaData()
Description copied from interface: CommandInterface
Get an empty result set containing the meta data of the result.

Specified by:
getMetaData in interface CommandInterface
Returns:
the empty result

checkCanceled

protected void checkCanceled()
Check if this command has been canceled, and throw an exception if yes.

Throws:
DbException - if the statement has been canceled

executeQuery

public ResultInterface executeQuery(int maxrows,
                                    boolean scrollable)
Execute a query and return the result. This method prepares everything and calls query(int) finally.

Specified by:
executeQuery in interface CommandInterface
Parameters:
maxrows - the maximum number of rows to return
scrollable - if the result set must be scrollable (ignored)
Returns:
the result set

executeUpdate

public int executeUpdate()
Description copied from interface: CommandInterface
Execute the statement

Specified by:
executeUpdate in interface CommandInterface
Returns:
the update count

close

public void close()
Description copied from interface: CommandInterface
Close the statement.

Specified by:
close in interface CommandInterface

cancel

public void cancel()
Description copied from interface: CommandInterface
Cancel the statement if it is still processing.

Specified by:
cancel in interface CommandInterface

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

isCacheable

public boolean isCacheable()

canReuse

public boolean canReuse()
Whether the command is already closed (in which case it can be re-used).

Returns:
true if it can be re-used

reuse

public void reuse()
The command is now re-used, therefore reset the canReuse flag, and the parameter values.