Package org.h2.command.ddl

# Class CommandWithColumns

java.lang.Object
org.h2.command.Prepared
org.h2.command.ddl.DefineCommand
org.h2.command.ddl.SchemaCommand
org.h2.command.ddl.CommandWithColumns

Direct Known Subclasses:
  `AlterTableAlterColumn`, `CreateTable`

public abstract class CommandWithColumns extends SchemaCommand

## Field Summary

### Fields inherited from class org.h2.command.ddl.DefineCommand

`transactional`

### Fields inherited from class org.h2.command.Prepared

`create, parameters, prepareAlways, session, sqlStatement, sqlTokens`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`CommandWithColumns(SessionLocal session, Schema schema)`

## Method Summary

Modifier and Type
Method
Description
`abstract void`
`addColumn(Column column)`
Add a column to this table.
`void`
`addConstraintCommand(DefineCommand command)`
Add a constraint statement to this statement.
`protected void`
`changePrimaryKeysToNotNull(ArrayList<Column> columns)`
For the given list of columns, disable "nullable" for those columns that are primary key columns.
`protected void`
`createConstraints()`
Create the constraints.
`protected ArrayList<Sequence>`
`generateSequences(ArrayList<Column> columns, boolean temporary)`
For the given list of columns, create sequences for identity columns (if needed), and then get the list of all sequences of the columns.
`AlterTableAddConstraint`
`getPrimaryKey()`

### Methods inherited from class org.h2.command.ddl.SchemaCommand

`getSchema`

### Methods inherited from class org.h2.command.ddl.DefineCommand

`isReadOnly, isRetryable, isTransactional, queryMeta, setTransactional`

### Methods inherited from class org.h2.command.Prepared

`checkCanceled, checkParameters, collectDependencies, getCurrentRowNumber, getDatabase, getObjectId, getParameters, getPersistedObjectId, getPlanSQL, getPlanSQL, getSession, getSimpleSQL, getSQL, getSQLTokens, getType, invalidateCachedResult, isCacheable, isQuery, isWithParamValues, needRecompile, prepare, query, setCommand, setCurrentRowNumber, setParameterList, setPersistedObjectId, setPrepareAlways, setRow, setSession, setSQL, setWithParamValues, toString, update`

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

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

## Constructor Details

### CommandWithColumns

protected CommandWithColumns(SessionLocal session, Schema schema)

## Method Details

### addColumn

public abstract void addColumn(Column column)
Add a column to this table.

Parameters:
  `column` - the column to add

### addConstraintCommand

public void addConstraintCommand(DefineCommand command)
Add a constraint statement to this statement. The primary key definition is one possible constraint statement.

Parameters:
  `command` - the statement to add

### changePrimaryKeysToNotNull

protected void changePrimaryKeysToNotNull(ArrayList<Column> columns)
For the given list of columns, disable "nullable" for those columns that are primary key columns.

Parameters:
  `columns` - the list of columns

### createConstraints

protected void createConstraints()
Create the constraints.

### generateSequences

protected ArrayList<Sequence> generateSequences(ArrayList<Column> columns, boolean temporary)
For the given list of columns, create sequences for identity columns (if needed), and then get the list of all sequences of the columns.

Parameters:
  `columns` - the columns
  `temporary` - whether generated sequences should be temporary
Returns:
  the list of sequences (may be empty)

### getPrimaryKey

public AlterTableAddConstraint getPrimaryKey()