Class CreateTableBuilder<TABLE_BUILDER extends CreateTableBuilder>
java.lang.Object
org.eclipse.dirigible.database.sql.builders.AbstractSqlBuilder
org.eclipse.dirigible.database.sql.builders.AbstractCreateSqlBuilder
org.eclipse.dirigible.database.sql.builders.table.AbstractTableBuilder<TABLE_BUILDER>
org.eclipse.dirigible.database.sql.builders.table.CreateTableBuilder<TABLE_BUILDER>
- Type Parameters:
TABLE_BUILDER- the generic type
- All Implemented Interfaces:
ISqlBuilder,ISqlKeywords
public class CreateTableBuilder<TABLE_BUILDER extends CreateTableBuilder> extends AbstractTableBuilder<TABLE_BUILDER>
The Create Table Builder.
-
Field Summary
Fields Modifier and Type Field Description protected List<CreateTableCheckBuilder>checksThe checks.protected List<CreateTableForeignKeyBuilder>foreignKeysThe foreign keys.protected List<CreateTableIndexBuilder>indicesThe indices.protected CreateTablePrimaryKeyBuilderprimaryKeyThe primary key.static StringSTATEMENT_DELIMITERThe Constant DELIMITER.protected List<CreateTableUniqueIndexBuilder>uniqueIndicesThe unique indices.Fields inherited from class org.eclipse.dirigible.database.sql.builders.table.AbstractTableBuilder
columnsFields inherited from interface org.eclipse.dirigible.database.sql.ISqlKeywords
ALTER, CLOSE, COMMA, EQUALS, FUNCTION_CURRENT_DATE, FUNCTION_CURRENT_TIME, FUNCTION_CURRENT_TIMESTAMP, KEYWORD_ADD, KEYWORD_ALTER, KEYWORD_AND, KEYWORD_AS, KEYWORD_ASC, KEYWORD_CHECK, KEYWORD_COLUMN, KEYWORD_COLUMNSTORE, KEYWORD_CONSTRAINT, KEYWORD_CREATE, KEYWORD_DATA, KEYWORD_DATABASE_DROP_RESTRICT, KEYWORD_DELETE, KEYWORD_DESC, KEYWORD_DISTINCT, KEYWORD_DROP, KEYWORD_FETCH, KEYWORD_FOR, KEYWORD_FOR_UPDATE, KEYWORD_FOREIGN, KEYWORD_FROM, KEYWORD_FULL, KEYWORD_GLOBAL_TEMPORARY, KEYWORD_GLOBAL_TEMPORARY_COLUMN, KEYWORD_GROUP_BY, KEYWORD_HAVING, KEYWORD_IDENTITY, KEYWORD_INDEX, KEYWORD_INNER, KEYWORD_INSERT, KEYWORD_INTO, KEYWORD_JOIN, KEYWORD_KEY, KEYWORD_LEFT, KEYWORD_LIKE, KEYWORD_LIMIT, KEYWORD_NEXT, KEYWORD_NEXT_VALUE_FOR, KEYWORD_NO, KEYWORD_NOT, KEYWORD_NULL, KEYWORD_OFFSET, KEYWORD_ON, KEYWORD_ONLY, KEYWORD_OR, KEYWORD_ORDER_BY, KEYWORD_OUTER, KEYWORD_PRIMARY, KEYWORD_PUBLIC, KEYWORD_REFERENCES, KEYWORD_RIGHT, KEYWORD_ROW, KEYWORD_ROWS, KEYWORD_ROWSTORE, KEYWORD_SCHEMA, KEYWORD_SELECT, KEYWORD_SEQUENCE, KEYWORD_SEQUENCE_CYCLE, KEYWORD_SEQUENCE_EMPTY_STRING_FOR_BOOLEAN_TYPES, KEYWORD_SEQUENCE_INCREMENT_BY, KEYWORD_SEQUENCE_MAXVALUE, KEYWORD_SEQUENCE_MINVALUE, KEYWORD_SEQUENCE_NO_MAXVALUE, KEYWORD_SEQUENCE_NO_MINVALUE, KEYWORD_SEQUENCE_RESET_BY, KEYWORD_SEQUENCE_RESTART_WITH, KEYWORD_SEQUENCE_START_WITH, KEYWORD_SET, KEYWORD_START, KEYWORD_SYNONYM, KEYWORD_TABLE, KEYWORD_TABLE_TYPE, KEYWORD_UNION, KEYWORD_UNIQUE, KEYWORD_UPDATE, KEYWORD_VALUES, KEYWORD_VIEW, KEYWORD_WHERE, KEYWORD_WITH, METADATA_ALIAS, METADATA_BASE_TABLE, METADATA_CALC_VIEW, METADATA_GLOBAL_TEMPORARY, METADATA_GLOBAL_TEMPORARY_COLUMN, METADATA_LOCAL_TEMPORARY, METADATA_SYNONYM, METADATA_SYSTEM_TABLE, METADATA_TABLE, METADATA_TABLE_TYPES, METADATA_VIEW, OPEN, QUESTION, SEMICOLON, SPACE, STAR, TABLE, UNDERSCROE -
Constructor Summary
Constructors Constructor Description CreateTableBuilder(ISqlDialect dialect, String table)Instantiates a new creates the table builder. -
Method Summary
Modifier and Type Method Description TableStatementsbuildTable()BuildTableStatementsobject containing the SQL statements.TABLE_BUILDERcheck(String name, String expression)Check.TABLE_BUILDERforeignKey(String name, String[] columns, String referencedTable, String[] referencedColumns)Foreign key.TABLE_BUILDERforeignKey(String name, String[] columns, String referencedTable, String referencedTableSchema, String[] referencedColumns)Foreign key.TABLE_BUILDERforeignKey(String name, String columns, String referencedTable, String referencedTableSchema, String referencedColumns)Foreign key.Stringgenerate()Generate.protected voidgenerateCheck(StringBuilder sql, CreateTableCheckBuilder check)Generate check.protected voidgenerateChecks(StringBuilder sql)Generate checks.protected voidgenerateForeignKey(StringBuilder sql, CreateTableForeignKeyBuilder foreignKey)Generate foreign key.protected voidgenerateForeignKeys(StringBuilder sql)Generate foreign keys.protected StringgenerateIndex(CreateTableIndexBuilder index)Generate index create statement.protected Collection<String>generateIndices()Generate create statements for indices.protected voidgeneratePrimaryKey(StringBuilder sql)Generate primary key.protected StringgenerateUniqueIndex(CreateTableUniqueIndexBuilder uniqueIndex)Generate unique index.protected Collection<String>generateUniqueIndices()Generate create statements for indices.TABLE_BUILDERindex(String name, Boolean isUnique, String type, Set<String> columns)Index.TABLE_BUILDERprimaryKey(String columns)Primary key.TABLE_BUILDERprimaryKey(String[] columns)Primary key.TABLE_BUILDERprimaryKey(String name, String columns)Primary key.TABLE_BUILDERprimaryKey(String name, String[] columns)Primary key.TABLE_BUILDERunique(String name, String columns)Unique.TABLE_BUILDERunique(String name, String[] columns)Unique.TABLE_BUILDERunique(String name, String[] columns, String type, String order)Unique.Methods inherited from class org.eclipse.dirigible.database.sql.builders.table.AbstractTableBuilder
column, column, column, column, column, column, column, column, column, column, column, column, column, column, column, column, column, column, column, column, column, column, column, column, column, columnBigint, columnBigint, columnBigint, columnBigint, columnBigint, columnBigint, columnBit, columnBit, columnBit, columnBit, columnBlob, columnBlob, columnBlob, columnBlob, columnBoolean, columnBoolean, columnBoolean, columnBoolean, columnBoolean, columnBoolean, columnChar, columnChar, columnChar, columnChar, columnChar, columnChar, columnDate, columnDate, columnDate, columnDate, columnDate, columnDate, columnDecimal, columnDecimal, columnDecimal, columnDecimal, columnDecimal, columnDecimal, columnDouble, columnDouble, columnDouble, columnDouble, columnDouble, columnDouble, columnFloat, columnFloat, columnFloat, columnFloat, columnFloat, columnFloat, columnInteger, columnInteger, columnInteger, columnInteger, columnInteger, columnInteger, columnNvarchar, columnNvarchar, columnNvarchar, columnNvarchar, columnNvarchar, columnNvarchar, columnNvarchar, columnReal, columnReal, columnReal, columnReal, columnReal, columnReal, columnSmallint, columnSmallint, columnSmallint, columnSmallint, columnSmallint, columnSmallint, columnTime, columnTime, columnTime, columnTime, columnTime, columnTime, columnTimestamp, columnTimestamp, columnTimestamp, columnTimestamp, columnTimestamp, columnTimestamp, columnTinyint, columnTinyint, columnTinyint, columnTinyint, columnTinyint, columnTinyint, columnVarbinary, columnVarbinary, columnVarbinary, columnVarbinary, columnVarchar, columnVarchar, columnVarchar, columnVarchar, columnVarchar, columnVarchar, columnVarchar, generateColumnNamesForDrop, generateColumns, generateColumnsForAlter, generateTable, getColumns, getTable, splitValues, traverseColumnNamesForDrop, traverseColumns, traverseColumnsForAlter, traverseNamesMethods inherited from class org.eclipse.dirigible.database.sql.builders.AbstractCreateSqlBuilder
generateAlter, generateCreateMethods inherited from class org.eclipse.dirigible.database.sql.builders.AbstractSqlBuilder
build, encapsulate, encapsulate, encapsulateMany, getDialect, getEscapeSymbol, isCaseSensitive, isColumn, isNumeric, isValue, toString
-
Field Details
-
primaryKey
The primary key. -
foreignKeys
The foreign keys. -
uniqueIndices
The unique indices. -
checks
The checks. -
indices
The indices. -
STATEMENT_DELIMITER
The Constant DELIMITER.- See Also:
- Constant Field Values
-
-
Constructor Details
-
CreateTableBuilder
Instantiates a new creates the table builder.- Parameters:
dialect- the dialecttable- the table
-
-
Method Details
-
primaryKey
Primary key.- Overrides:
primaryKeyin classAbstractTableBuilder<TABLE_BUILDER extends CreateTableBuilder>- Parameters:
name- the namecolumns- the columns- Returns:
- the creates the table builder
-
primaryKey
Primary key.- Parameters:
name- the namecolumns- the columns- Returns:
- the creates the table builder
-
primaryKey
Primary key.- Overrides:
primaryKeyin classAbstractTableBuilder<TABLE_BUILDER extends CreateTableBuilder>- Parameters:
columns- the columns- Returns:
- the creates the table builder
-
primaryKey
Primary key.- Parameters:
columns- the columns- Returns:
- the creates the table builder
-
foreignKey
public TABLE_BUILDER foreignKey(String name, String[] columns, String referencedTable, String[] referencedColumns)Foreign key.- Parameters:
name- the namecolumns- the columnsreferencedTable- the referenced tablereferencedColumns- the referenced columns- Returns:
- the creates the table builder
-
foreignKey
public TABLE_BUILDER foreignKey(String name, String[] columns, String referencedTable, String referencedTableSchema, String[] referencedColumns)Foreign key.- Overrides:
foreignKeyin classAbstractTableBuilder<TABLE_BUILDER extends CreateTableBuilder>- Parameters:
name- the namecolumns- the columnsreferencedTable- the referenced tablereferencedTableSchema- the referenced table schemareferencedColumns- the referenced columns- Returns:
- the table builder
-
foreignKey
public TABLE_BUILDER foreignKey(String name, String columns, String referencedTable, String referencedTableSchema, String referencedColumns)Foreign key.- Parameters:
name- the namecolumns- the columnsreferencedTable- the referenced tablereferencedTableSchema- the referenced table schemareferencedColumns- the referenced columns- Returns:
- the creates the table builder
-
unique
Unique.- Overrides:
uniquein classAbstractTableBuilder<TABLE_BUILDER extends CreateTableBuilder>- Parameters:
name- the namecolumns- the columns- Returns:
- the creates the table builder
-
unique
Unique.- Parameters:
name- the namecolumns- the columns- Returns:
- the creates the table builder
-
unique
Unique.- Overrides:
uniquein classAbstractTableBuilder<TABLE_BUILDER extends CreateTableBuilder>- Parameters:
name- the namecolumns- the columnstype- the typeorder- the order- Returns:
- the creates the table builder
-
check
Check.- Overrides:
checkin classAbstractTableBuilder<TABLE_BUILDER extends CreateTableBuilder>- Parameters:
name- the nameexpression- the expression- Returns:
- the creates the table builder
-
index
Index.- Overrides:
indexin classAbstractTableBuilder<TABLE_BUILDER extends CreateTableBuilder>- Parameters:
name- the nameisUnique- the isUniquetype- the typecolumns- the index columns- Returns:
- the creates the table builder
-
generate
Generate.- Returns:
- the string
-
buildTable
BuildTableStatementsobject containing the SQL statements.- Returns:
TableStatements
-
generatePrimaryKey
Generate primary key.- Parameters:
sql- the sql
-
generateForeignKeys
Generate foreign keys.- Parameters:
sql- the sql
-
generateForeignKey
Generate foreign key.- Parameters:
sql- the sqlforeignKey- the foreign key
-
generateUniqueIndices
Generate create statements for indices.- Returns:
- Collection of create index statements
-
generateUniqueIndex
Generate unique index.- Parameters:
uniqueIndex- the unique index- Returns:
- Create index statement
-
generateChecks
Generate checks.- Parameters:
sql- the sql
-
generateCheck
Generate check.- Parameters:
sql- the sqlcheck- the check
-
generateIndices
Generate create statements for indices.- Returns:
- Collection of create index statements
-
generateIndex
Generate index create statement.- Parameters:
index- IndexBuilder- Returns:
- Generated statement
-