Package com.mckoi.database.interpret

## Class ViewManager

- java.lang.Object
- - com.mckoi.database.interpret.Statement
  - - com.mckoi.database.interpret.ViewManager

    public class ViewManager
    extends Statement

Handler for creating and dropping views in the database.

Author:
  Tobias Downer

### Field Summary

### Fields inherited from class com.mckoi.database.interpret.Statement

`cmd, database, query, table_list, user`

### Constructor Summary

Constructors
`ViewManager()`

### Method Summary

All Methods Instance Methods Concrete Methods
`Table` `evaluate()` Evaluates the statement and returns a table that represents the result set.
`void` `prepare()` Prepares the statement with the given Database object.

### Methods inherited from class com.mckoi.database.interpret.Statement

`addTable, Debug, init, resolveTree, resolveVariableName`

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

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

### Constructor Detail

#### ViewManager

    public ViewManager()

### Method Detail

#### prepare

    public void prepare()
                 throws DatabaseException

Description copied from class: `Statement`
Prepares the statement with the given Database object. This is called before the statement is evaluated. The prepare statement queries the database and resolves information about the statement (for example, it resolves column names and aliases and determines the tables that are touched by this statement so we can lock the appropriate tables before we evaluate).

NOTE: Care must be taken to ensure that all methods called here are safe in as far as modifications to the data occuring. The rules for safety should be as follows. If the database is in EXCLUSIVE mode, then we need to wait until it's switched back to SHARED mode before this method is called. All collection of information done here should not involve any table state info. except for column count, column names, column types, etc. Queries such as obtaining the row count, selectable scheme information, and certainly 'getCellContents' must never be called during prepare. When prepare finishes, the affected tables are locked and the query is safe to 'evaluate' at which time table state is safe to inspect.

Specified by:
  `prepare` in class `Statement`
Throws:
  `DatabaseException`

#### evaluate

    public Table evaluate()
                   throws DatabaseException

Description copied from class: `Statement`
Evaluates the statement and returns a table that represents the result set. This is called after 'prepare'.

Specified by:
  `evaluate` in class `Statement`
Throws:
  `DatabaseException`