org.axiondb.engine.commands
Class UpdateCommand

java.lang.Object
  extended by org.axiondb.engine.commands.BaseAxionCommand
      extended by org.axiondb.engine.commands.ChildTableUpdater
          extended by org.axiondb.engine.commands.UpdateCommand
All Implemented Interfaces:
AxionCommand

public class UpdateCommand
extends ChildTableUpdater

An UPDATE command.

Version:
$Revision: 1.64 $ $Date: 2006/01/10 21:02:37 $

Constructor Summary
UpdateCommand()
           
 
Method Summary
 void addColumn(ColumnIdentifier col)
           
 void addValue(Selectable val)
           
protected  void buildBindVariables()
           
 boolean execute(Database database)
          Executes an SQL statement that may return multiple results.
 AxionResultSet executeQuery(Database database)
          Unsupported, use executeUpdate(org.axiondb.Database)instead.
 int executeUpdate(Database db)
          Executes an SQL that may add, delete or modify zero or more rows within the database, such as an INSERT, UPDATE or DELETE statement.
 int getColumnCount()
           
 Iterator getColumnIterator()
           
 org.axiondb.engine.commands.UpdateCommand.ExceptionWhenClause getExceptionWhenClause()
           
 TableIdentifier getTable()
           
 int getValueCount()
           
 Iterator getValueIterator()
           
 Selectable getWhere()
           
protected  void resolve(Database db)
           
 void setExceptionWhenClause(DMLWhenClause w, TableIdentifier t, List cols, List vals)
           
 void setQueryContext(AxionQueryContext context)
           
 void setTable(TableIdentifier table)
           
 void setWhere(Selectable where)
           
 
Methods inherited from class org.axiondb.engine.commands.ChildTableUpdater
deleteOrSetNullChildRows, deleteOrSetNullChildRows, updateOrSetNullChildRows, updateOrSetNullChildRows
 
Methods inherited from class org.axiondb.engine.commands.BaseAxionCommand
assertNotReadOnly, attemptToConvertValue, bindAll, clearBindings, createResolveSelectableVisitor, executeQuery, getBindVariableIterator, getBindVariableIterator, getBindVariables, getBindVariableVisitor, getColIdentifierList, getCommitSize, getEffectedRowCount, getResultSet, getRowIterator, makeRowDecorator, populateDefaultValues, populateSequenceColumns, resolveGeneratedColumns, resolveGeneratedColumns, resolveSelectable, resolveSelectable, resolveSelectableList, resolveSelectableList, setBindVariableVisitor, setDeferAllConstraintIfRequired, setEffectedRowCount, setResultSet, updateGeneratedValues
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UpdateCommand

public UpdateCommand()
Method Detail

addColumn

public void addColumn(ColumnIdentifier col)

addValue

public void addValue(Selectable val)

execute

public boolean execute(Database database)
                throws AxionException
Description copied from interface: AxionCommand
Executes an SQL statement that may return multiple results.

Returns:
true if one or more ResultSets were generated, false otherwise
Throws:
AxionException
See Also:
Statement.execute(java.lang.String), PreparedStatement.execute()

executeQuery

public AxionResultSet executeQuery(Database database)
                            throws AxionException
Unsupported, use executeUpdate(org.axiondb.Database)instead.

Returns:
the generated ResultSet
Throws:
UnsupportedOperationException
AxionException
See Also:
Statement.executeQuery(java.lang.String), PreparedStatement.executeQuery()

executeUpdate

public int executeUpdate(Database db)
                  throws AxionException
Description copied from interface: AxionCommand
Executes an SQL that may add, delete or modify zero or more rows within the database, such as an INSERT, UPDATE or DELETE statement. In addition, SQL statements that return nothing, such as SQL DDL statements, can be executed via this method.

Returns:
the number of rows modified
Throws:
AxionException
See Also:
Statement.executeUpdate(java.lang.String), PreparedStatement.executeUpdate()

getColumnCount

public int getColumnCount()

getColumnIterator

public Iterator getColumnIterator()

getExceptionWhenClause

public org.axiondb.engine.commands.UpdateCommand.ExceptionWhenClause getExceptionWhenClause()

getTable

public TableIdentifier getTable()

getValueCount

public int getValueCount()

getValueIterator

public Iterator getValueIterator()

getWhere

public Selectable getWhere()

setExceptionWhenClause

public void setExceptionWhenClause(DMLWhenClause w,
                                   TableIdentifier t,
                                   List cols,
                                   List vals)

setQueryContext

public void setQueryContext(AxionQueryContext context)

setTable

public void setTable(TableIdentifier table)

setWhere

public void setWhere(Selectable where)

buildBindVariables

protected void buildBindVariables()
Overrides:
buildBindVariables in class BaseAxionCommand

resolve

protected void resolve(Database db)
                throws AxionException
Throws:
AxionException