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
public abstract class AbstractSqlBuilder extends Object implements ISqlBuilder
The Abstract SQL Builder.
-
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 Modifier Constructor Description protectedAbstractSqlBuilder(ISqlDialect dialect)Instantiates a new abstract sql builder. -
Method Summary
Modifier and Type Method Description Stringbuild()Returns the default generated snippet.protected Stringencapsulate(String name)Encapsulate the name within qutesprotected StringencapsulateMany(String line)Encapsulate all the non-function and non-numeric wordsprotected ISqlDialectgetDialect()Gets the dialect.protected booleanisCaseSensitive()Whether the names of tables, columns, indices are case sensitiveprotected booleanisColumn(String name)Check whether the name is a column (one word) or it is complex expression containing functions, etc.protected booleanisNumeric(String s)Check whether the string is a numberprotected booleanisValue(String s)StringtoString()Usually returns the default generated snippet.
-
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 qutes- Parameters:
name- the name- Returns:
- the encapsulated name
-
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
-
isNumeric
Check whether the string is a number- Parameters:
s- the input- Returns:
- true if it is a number
-
isValue
-