Class DefaultSqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>
java.lang.Object
org.eclipse.dirigible.database.sql.dialects.DefaultSqlDialect<SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,DROP,NEXT,LAST>
- Type Parameters:
SELECT- the generic typeINSERT- the generic typeUPDATE- the generic typeDELETE- the generic typeCREATE- the generic typeDROP- the generic typeNEXT- the generic typeLAST- the generic type
- All Implemented Interfaces:
ISqlDialect<SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,DROP,NEXT,LAST>,ISqlFactory<SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,DROP,NEXT,LAST>,ISqlKeywords
- Direct Known Subclasses:
DerbySqlDialect,H2SqlDialect,HanaSqlDialect,MySQLSqlDialect,PostgresSqlDialect,SybaseSqlDialect
public class DefaultSqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder> extends Object implements ISqlDialect<SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,DROP,NEXT,LAST>
The Default SQL Dialect.
-
Field Summary
Fields 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_CONSTRAINT, KEYWORD_CREATE, 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_GROUP_BY, KEYWORD_HAVING, KEYWORD_IDENTITY, KEYWORD_INDEX, KEYWORD_INNER, KEYWORD_INSERT, KEYWORD_INTO, KEYWORD_JOIN, KEYWORD_KEY, KEYWORD_LEFT, KEYWORD_LIMIT, KEYWORD_NEXT, KEYWORD_NEXT_VALUE_FOR, 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_ROWS, 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_UNION, KEYWORD_UNIQUE, KEYWORD_UPDATE, KEYWORD_VALUES, KEYWORD_VIEW, KEYWORD_WHERE, KEYWORD_WITH, METADATA_ALIAS, METADATA_CALC_VIEW, METADATA_GLOBAL_TEMPORARY, METADATA_LOCAL_TEMPORARY, METADATA_SYNONYM, METADATA_SYSTEM_TABLE, METADATA_TABLE, METADATA_TABLE_TYPES, METADATA_VIEW, OPEN, QUESTION, SPACE, STAR, TABLE, UNDERSCROE -
Constructor Summary
Constructors Constructor Description DefaultSqlDialect() -
Method Summary
Modifier and Type Method Description ALTERalter()Alters the.intcount(Connection connection, String table)Returns the count of rows in the given table.CREATEcreate()Creates the.DELETEdelete()Delete.DROPdrop()Drop.booleanexists(Connection connection, String table)Check existence of a table.booleanexists(Connection connection, String table, int type)Check existence of an artifacts.ExpressionBuilderexpression()Expression.StringfunctionCurrentDate()Gives the dialect specific name of the CURRENT_DATE function.StringfunctionCurrentTime()Gives the dialect specific name of the CURRENT_TIME function.StringfunctionCurrentTimestamp()Gives the dialect specific name of the CURRENT_TIMESTAMP function.StringgetDatabaseName(Connection connection)Returns the database nameStringgetDataTypeName(DataType dataType)Default implementation returns the direct toString() conversion.Set<String>getFunctionsNames()Returns the function namesStringgetIdentityArgument()Identity argument for a column for the create table script Default is "IDENTITY".StringgetNotNullArgument()NOT NULL argument for a column for the create table script Default is "NOT NULL".StringgetPrimaryKeyArgument()PRIMARY KEY argument for a column for the create table script Default is "PRIMARY KEY".StringgetSchemaFilterScript()If the database supports schema filtering SQL statements (seeISqlDialect.isSchemaFilterSupported()), this method provides the corresponding SQL statement.StringgetUniqueArgument()UNIQUE argument for a column for the create table script Default is "UNIQUE".INSERTinsert()Insert.booleanisCatalogForSchema()Does this database support catalogs synonymous to schemas.booleanisSchemaFilterSupported()Checks if the database is capable of schema-level filtering statements (e.g.booleanisSequenceSupported()Checks if the database is capable to create and use Sequences.booleanisSynonymSupported()Checks if the database is capable to create and use Synonyms.LASTlastval(String... args)Lastval.NEXTnextval(String sequence)Nextval.static StringnormalizeTableName(String table)SELECTselect()Select.UPDATEupdate()Update.
-
Field Details
-
Constructor Details
-
DefaultSqlDialect
public DefaultSqlDialect()
-
-
Method Details
-
select
Description copied from interface:ISqlFactorySelect.- Specified by:
selectin interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the select
-
insert
Description copied from interface:ISqlFactoryInsert.- Specified by:
insertin interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the insert
-
update
Description copied from interface:ISqlFactoryUpdate.- Specified by:
updatein interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the update
-
delete
Description copied from interface:ISqlFactoryDelete.- Specified by:
deletein interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the delete
-
expression
Description copied from interface:ISqlFactoryExpression.- Specified by:
expressionin interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the expression builder
-
create
Description copied from interface:ISqlFactoryCreates the.- Specified by:
createin interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the creates the
-
alter
Description copied from interface:ISqlFactoryAlters the.- Specified by:
alterin interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the alters the
-
drop
Description copied from interface:ISqlFactoryDrop.- Specified by:
dropin interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the drop
-
nextval
Description copied from interface:ISqlFactoryNextval.- Specified by:
nextvalin interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Parameters:
sequence- the sequence- Returns:
- the next
-
getDataTypeName
Description copied from interface:ISqlDialectDefault implementation returns the direct toString() conversion. It may get overridden for specific database dialects- Specified by:
getDataTypeNamein interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Parameters:
dataType- the data type- Returns:
- the data type name
-
getPrimaryKeyArgument
Description copied from interface:ISqlDialectPRIMARY KEY argument for a column for the create table script Default is "PRIMARY KEY".- Specified by:
getPrimaryKeyArgumentin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the primary key argument
-
getIdentityArgument
Description copied from interface:ISqlDialectIdentity argument for a column for the create table script Default is "IDENTITY".- Specified by:
getIdentityArgumentin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the primary key argument
-
getNotNullArgument
Description copied from interface:ISqlDialectNOT NULL argument for a column for the create table script Default is "NOT NULL".- Specified by:
getNotNullArgumentin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the not null argument
-
getUniqueArgument
Description copied from interface:ISqlDialectUNIQUE argument for a column for the create table script Default is "UNIQUE".- Specified by:
getUniqueArgumentin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the unique argument
-
exists
Description copied from interface:ISqlDialectCheck existence of a table.- Specified by:
existsin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Specified by:
existsin interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Parameters:
connection- the current connectiontable- the table name- Returns:
- true if the table exists and false otherwise
- Throws:
SQLException- the SQL exception
-
exists
Description copied from interface:ISqlDialectCheck existence of an artifacts.- Specified by:
existsin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Specified by:
existsin interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Parameters:
connection- the current connectiontable- the artifact nametype- the artifact type- Returns:
- true if the table exists and false otherwise
- Throws:
SQLException- the SQL exception
-
normalizeTableName
-
count
Description copied from interface:ISqlDialectReturns the count of rows in the given table.- Specified by:
countin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Specified by:
countin interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Parameters:
connection- the current connectiontable- the table name- Returns:
- count of rows
- Throws:
SQLException- the SQL exception
-
isSchemaFilterSupported
public boolean isSchemaFilterSupported()Description copied from interface:ISqlDialectChecks if the database is capable of schema-level filtering statements (e.g. to reduce the provisioned schemas down to those that the current user is entitled to see).- Specified by:
isSchemaFilterSupportedin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- true if the feature is supported , false otherwise
-
getSchemaFilterScript
Description copied from interface:ISqlDialectIf the database supports schema filtering SQL statements (seeISqlDialect.isSchemaFilterSupported()), this method provides the corresponding SQL statement.- Specified by:
getSchemaFilterScriptin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- a filtering SQL statement
-
isCatalogForSchema
public boolean isCatalogForSchema()Description copied from interface:ISqlDialectDoes this database support catalogs synonymous to schemas.- Specified by:
isCatalogForSchemain interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- whether it is a catalog for schema
-
functionCurrentDate
Description copied from interface:ISqlDialectGives the dialect specific name of the CURRENT_DATE function.- Specified by:
functionCurrentDatein interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the name of the function
-
functionCurrentTime
Description copied from interface:ISqlDialectGives the dialect specific name of the CURRENT_TIME function.- Specified by:
functionCurrentTimein interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the name of the function
-
functionCurrentTimestamp
Description copied from interface:ISqlDialectGives the dialect specific name of the CURRENT_TIMESTAMP function.- Specified by:
functionCurrentTimestampin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the name of the function
-
lastval
Description copied from interface:ISqlFactoryLastval.- Specified by:
lastvalin interfaceISqlFactory<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Parameters:
args- the arguments- Returns:
- the last
-
isSequenceSupported
public boolean isSequenceSupported()Description copied from interface:ISqlDialectChecks if the database is capable to create and use Sequences.- Specified by:
isSequenceSupportedin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- true if the feature is supported, false otherwise
-
getDatabaseName
Description copied from interface:ISqlDialectReturns the database name- Specified by:
getDatabaseNamein interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Parameters:
connection- the active database connection- Returns:
- the database name
-
isSynonymSupported
public boolean isSynonymSupported()Description copied from interface:ISqlDialectChecks if the database is capable to create and use Synonyms.- Specified by:
isSynonymSupportedin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- true if the feature is supported, false otherwise
-
getFunctionsNames
Description copied from interface:ISqlDialectReturns the function names- Specified by:
getFunctionsNamesin interfaceISqlDialect<SELECT extends SelectBuilder,INSERT extends InsertBuilder,UPDATE extends UpdateBuilder,DELETE extends DeleteBuilder,CREATE extends CreateBranchingBuilder,ALTER extends AlterBranchingBuilder,DROP extends DropBranchingBuilder,NEXT extends NextValueSequenceBuilder,LAST extends LastValueIdentityBuilder>- Returns:
- the list of functions names
-