This package contains the classes that represent the commands that the NanoSQL
database recognizes. All of the commands are represented as subclasses of the
{@link edu.caltech.nanodb.commands.Command} abstract base-class. Commands are
grouped into the following categories:
Data Definition Language (DDL) Commands
These commands manipulate the contents of the data-dictionary. The supported
commands are as follows:
- CREATE TABLE - {@link edu.caltech.nanodb.commands.CreateTableCommand} class
- DROP TABLE - {@link edu.caltech.nanodb.commands.DropTableCommand} class
Data Manipulation Language (DML) Commands
These commands retrieve and modify the database tables themselves. Note that
these commands all derive from the {@link edu.caltech.nanodb.commands.QueryCommand}
abstract class. The supported commands are as follows:
- DELETE ... - {@link edu.caltech.nanodb.commands.DeleteCommand} class
- INSERT ... - {@link edu.caltech.nanodb.commands.InsertCommand} class
- SELECT ... - {@link edu.caltech.nanodb.commands.SelectCommand} class
- UPDATE ... - {@link edu.caltech.nanodb.commands.UpdateCommand} class
Transaction-Demarcation Commands
These commands provide control over when a transaction is started or ended:
- BEGIN [WORK] | START TRANSACTION - {@link edu.caltech.nanodb.commands.BeginTransactionCommand} class
- COMMIT [WORK] - {@link edu.caltech.nanodb.commands.CommitTransactionCommand} class
- ROLLBACK [WORK] - {@link edu.caltech.nanodb.commands.RollbackTransactionCommand} class
Utility Commands
These commands perform various utility operations:
- ANALYZE ... - {@link edu.caltech.nanodb.commands.AnalyzeCommand} class
- EXPLAIN ... - {@link edu.caltech.nanodb.commands.ExplainCommand} class
- EXIT | QUIT - {@link edu.caltech.nanodb.commands.ExitCommand} class