Class AbstractSqlBuilder
java.lang.Object
org.eclipse.dirigible.database.sql.builders.AbstractSqlBuilder
- All Implemented Interfaces:
ISqlBuilder,ISqlKeywords
- Direct Known Subclasses:
AbstractCreateSqlBuilder,AbstractCreateTableConstraintBuilder,AbstractDropSqlBuilder,AbstractQuerySqlBuilder,AlterBranchingBuilder,CreateBranchingBuilder,DropBranchingBuilder,ExpressionBuilder,InsertBuilder
The Abstract SQL Builder.
-
Field Summary
Fields inherited from interface org.eclipse.dirigible.database.sql.ISqlKeywords
ALTER, CLOSE, COMMA, DOT, 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_CASCADE, KEYWORD_DATABASE_DROP_RESTRICT, KEYWORD_DELETE, KEYWORD_DESC, KEYWORD_DISTINCT, KEYWORD_DROP, KEYWORD_DYNAMIC, KEYWORD_EVENT, KEYWORD_EXTERNAL, 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_HYBRID, KEYWORD_ICEBERG, 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_STRUCTURES, METADATA_TABLE_TYPES, METADATA_VIEW, OPEN, QUESTION, SEMICOLON, SPACE, STAR, TABLE, UNDERSCROE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractSqlBuilder(ISqlDialect dialect) Instantiates a new abstract sql builder. -
Method Summary
Modifier and TypeMethodDescriptionbuild()Returns the default generated snippet.protected Stringencapsulate(String name) Encapsulate the name within quotes.protected Stringencapsulate(String name, boolean isDataStructureName) Encapsulate the name within quotes.protected StringencapsulateMany(String line) Encapsulate all the non-function and non-numeric words.protected StringencapsulateMany(String line, char escapeChar) Encapsulate many.protected StringencapsulateWhere(String where) Encapsulate where.protected ISqlDialectGets the dialect.Gets the escape symbol.protected booleanWhether the names of tables, columns, indices are case sensitive.protected booleanCheck whether the name is a column (one word) or it is complex expression containing functions, etc.protected booleanCheck whether the string is a number.protected booleanChecks if is value.toString()Usually returns the default generated snippet.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.dirigible.database.sql.ISqlBuilder
generate
-
Constructor Details
-
AbstractSqlBuilder
Instantiates a new abstract sql builder.- Parameters:
dialect- the dialect
-
-
Method Details
-
getDialect
Gets the dialect.- Returns:
- the dialect
-
toString
Usually returns the default generated snippet. -
build
Returns the default generated snippet.- Specified by:
buildin interfaceISqlBuilder- Returns:
- the string
-
isCaseSensitive
protected boolean isCaseSensitive()Whether the names of tables, columns, indices are case sensitive.- Returns:
- true if set
-
encapsulate
Encapsulate the name within quotes.- Parameters:
name- the name- Returns:
- the encapsulated name
-
encapsulate
Encapsulate the name within quotes.- Parameters:
name- the nameisDataStructureName- to check if encapsulating a data structure name- Returns:
- the encapsulated name
-
getEscapeSymbol
Gets the escape symbol.- Returns:
- the escape symbol
-
isColumn
Check whether the name is a column (one word) or it is complex expression containing functions, etc. (count(*))- Parameters:
name- the name of the eventual column- Returns:
- true if it is one word
-
encapsulateMany
Encapsulate all the non-function and non-numeric words.- Parameters:
line- the input string- Returns:
- the transformed string
-
encapsulateWhere
Encapsulate where.- Parameters:
where- the where- Returns:
- the string
-
encapsulateMany
Encapsulate many.- Parameters:
line- the lineescapeChar- the escape char- Returns:
- the string
-
isNumeric
Check whether the string is a number.- Parameters:
s- the input- Returns:
- true if it is a number
-
isValue
Checks if is value.- Parameters:
s- the s- Returns:
- true, if is value
-