Package tilda.db.stores
Class PostgreSQL
- java.lang.Object
-
- tilda.db.stores.CommonStoreImpl
-
- tilda.db.stores.PostgreSQL
-
- All Implemented Interfaces:
DBType
- Direct Known Subclasses:
Sql
public class PostgreSQL extends CommonStoreImpl
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String[]_CANCEL_SQL_STATESPostgres Cancellation codes, from https://www.postgresql.org/docs/11/errcodes-appendix.htmlprotected static java.lang.String[]_LOCK_CONN_ERROR_SUBSTRprotected static java.lang.String[]_NODATA_SQL_STATESprotected static Sql_SQL-
Fields inherited from class tilda.db.stores.CommonStoreImpl
REQUOTE0, REQUOTE1, REQUOTE2
-
-
Constructor Summary
Constructors Constructor Description PostgreSQL()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidage(Connection C, java.lang.StringBuilder Str, Type_DatetimePrimitive ColStart, Type_DatetimePrimitive ColEnd, DurationUtil.IntervalEnum Type, int Count, java.lang.String Operator)booleanalterTableAlterColumnComment(Connection Con, Column Col)booleanalterTableComment(Connection Con, Object Obj)voidcancel(Connection C)booleanfullIdentifierOnUpdate()java.lang.StringgetAclRolesScript(Connection Con, java.util.List<Schema> TildaList)java.lang.StringgetAggregateStr(AggregateType AT)java.lang.StringgetBackendConnectionId(Connection connection)chargetColumnQuotingEndChar()chargetColumnQuotingStartChar()java.lang.StringgetColumnType(ColumnType T, java.lang.Integer S, ColumnMode M, boolean Collection, java.lang.Integer Precision, java.lang.Integer Scale)java.lang.StringgetColumnTypeRaw(ColumnType Type, int Size, boolean Calculated, boolean isCollection, boolean MultiOverride)java.lang.String[]getConnectionCancelStates()java.lang.String[]getConnectionLockMsgs()java.lang.String[]getConnectionNoDataStates()java.lang.StringgetCurrentDateStr()java.lang.StringgetCurrentDateTimeStr()java.lang.StringgetCurrentTimestampStr()DBStringTypegetDBStringType(int Size)java.lang.StringgetHelperFunctionsScript(Connection Con, boolean Start)java.lang.StringgetJsonParametrizedQueryPlaceHolder()intgetMaxColumnNameSize()intgetMaxTableNameSize()java.lang.StringgetName()java.lang.StringgetSelectLimitClause(int Start, int Size)CodeGenSqlgetSQlCodeGen()protected ColumnTypegetSubTypeMapping(java.lang.String Name, java.lang.String TypeName, ColumnType TildaType)booleanisCaseSentitiveSchemaTableViewNames()booleanisSuperUser(Connection C)booleanneedsSavepoint()voidreCreateRole(java.lang.StringBuilder Str, java.lang.String Role)booleanreorgTable(Connection con, java.lang.String schemaName, java.lang.String tableName, java.lang.String clusterIndexName, boolean verbose, boolean full)booleansupportsArrays()booleansupportsFilterClause()booleansupportsFirstLastAggregates()booleansupportsForeignKeys()booleansupportsIndices()booleansupportsPrimaryKeys()booleansupportsReorg()booleansupportsSelectLimit()booleansupportsSelectOffset()booleansupportsSuperMetaDataQueries()voidwithin(Connection C, java.lang.StringBuilder Str, Type_DatetimePrimitive Col, Type_DatetimePrimitive ColStart, long DurationCount, DurationUtil.IntervalEnum DurationType)-
Methods inherited from class tilda.db.stores.CommonStoreImpl
alterTableAddColumn, alterTableAddFK, alterTableAddIndex, alterTableAddIndexDDL, alterTableAlterColumnDefault, alterTableAlterColumnMulti, alterTableAlterColumnNull, alterTableAlterColumnNumericSize, alterTableAlterColumnStringSize, alterTableAlterColumnType, alterTableDropColumn, alterTableDropFK, alterTableDropIndex, alterTableIndexAddCluster, alterTableIndexDropCluster, alterTableRenameIndex, alterTableReplaceTablePK, createKeysEntry, createSchema, createTable, createView, dropView, dropView, getColumnType, getColumnType, getColumnType, getColumnTypeRaw, getColumnTypeRaw, getCurrentDate, getCurrentDateTime, getCurrentTimestamp, getFullColumnVar, getFullColumnVar, getFullColumnVar, getFullTableVar, getFullTableVar, getFullTableVar, getShortColumnVar, getShortColumnVar, getTypeMapping, moveTableView, renameTableColumn, renameTableView, rewriteExpressionColumnQuoting, setArray, setOrderByWithNullsOrdering, truncateTable
-
-
-
-
Field Detail
-
_NODATA_SQL_STATES
protected static final java.lang.String[] _NODATA_SQL_STATES
-
_LOCK_CONN_ERROR_SUBSTR
protected static final java.lang.String[] _LOCK_CONN_ERROR_SUBSTR
-
_CANCEL_SQL_STATES
protected static final java.lang.String[] _CANCEL_SQL_STATES
Postgres Cancellation codes, from https://www.postgresql.org/docs/11/errcodes-appendix.html- 57000: operator_intervention.
- 57014: query_canceled.
- 57P01: admin_shutdown.
- 57P02: crash_shutdown.
- 57P03: cannot_connect_now.
- 57P04: database_dropped.
-
_SQL
protected static Sql _SQL
-
-
Method Detail
-
getName
public java.lang.String getName()
-
getConnectionNoDataStates
public java.lang.String[] getConnectionNoDataStates()
-
getConnectionLockMsgs
public java.lang.String[] getConnectionLockMsgs()
-
getConnectionCancelStates
public java.lang.String[] getConnectionCancelStates()
-
getCurrentTimestampStr
public java.lang.String getCurrentTimestampStr()
- Returns:
- The string denoting the current timestamp with timezone statement, e.g., "statement_timestamp()" for Postgres, or "CURRENT_TIMESTAMP" for bigquery.
-
getCurrentDateTimeStr
public java.lang.String getCurrentDateTimeStr()
- Returns:
- The string denoting the current timestamp without timezone statement, "statement_timestamp()::timestamp" for Postgres, or "CURRENT_DATETIME" for bigquery.
-
getCurrentDateStr
public java.lang.String getCurrentDateStr()
-
getColumnQuotingStartChar
public char getColumnQuotingStartChar()
-
getColumnQuotingEndChar
public char getColumnQuotingEndChar()
-
supportsPrimaryKeys
public boolean supportsPrimaryKeys()
-
supportsForeignKeys
public boolean supportsForeignKeys()
-
supportsIndices
public boolean supportsIndices()
-
supportsSuperMetaDataQueries
public boolean supportsSuperMetaDataQueries()
-
needsSavepoint
public boolean needsSavepoint()
-
supportsSelectLimit
public boolean supportsSelectLimit()
-
supportsSelectOffset
public boolean supportsSelectOffset()
-
supportsFilterClause
public boolean supportsFilterClause()
-
supportsFirstLastAggregates
public boolean supportsFirstLastAggregates()
-
supportsArrays
public boolean supportsArrays()
-
getSelectLimitClause
public java.lang.String getSelectLimitClause(int Start, int Size)- Specified by:
getSelectLimitClausein interfaceDBType- Overrides:
getSelectLimitClausein classCommonStoreImpl
-
getAggregateStr
public java.lang.String getAggregateStr(AggregateType AT)
-
fullIdentifierOnUpdate
public boolean fullIdentifierOnUpdate()
-
getSQlCodeGen
public CodeGenSql getSQlCodeGen()
-
getDBStringType
public DBStringType getDBStringType(int Size)
-
getColumnType
public java.lang.String getColumnType(ColumnType T, java.lang.Integer S, ColumnMode M, boolean Collection, java.lang.Integer Precision, java.lang.Integer Scale)
- Specified by:
getColumnTypein classCommonStoreImpl
-
getColumnTypeRaw
public java.lang.String getColumnTypeRaw(ColumnType Type, int Size, boolean Calculated, boolean isCollection, boolean MultiOverride)
- Specified by:
getColumnTypeRawin classCommonStoreImpl
-
getHelperFunctionsScript
public java.lang.String getHelperFunctionsScript(Connection Con, boolean Start) throws java.lang.Exception
- Throws:
java.lang.Exception
-
reCreateRole
public void reCreateRole(java.lang.StringBuilder Str, java.lang.String Role) throws java.lang.Exception- Throws:
java.lang.Exception
-
getAclRolesScript
public java.lang.String getAclRolesScript(Connection Con, java.util.List<Schema> TildaList) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getSubTypeMapping
protected ColumnType getSubTypeMapping(java.lang.String Name, java.lang.String TypeName, ColumnType TildaType) throws java.lang.Exception
- Specified by:
getSubTypeMappingin classCommonStoreImpl- Throws:
java.lang.Exception
-
getJsonParametrizedQueryPlaceHolder
public java.lang.String getJsonParametrizedQueryPlaceHolder()
-
age
public void age(Connection C, java.lang.StringBuilder Str, Type_DatetimePrimitive ColStart, Type_DatetimePrimitive ColEnd, DurationUtil.IntervalEnum Type, int Count, java.lang.String Operator)
-
alterTableComment
public boolean alterTableComment(Connection Con, Object Obj) throws java.lang.Exception
- Throws:
java.lang.Exception
-
alterTableAlterColumnComment
public boolean alterTableAlterColumnComment(Connection Con, Column Col) throws java.lang.Exception
- Throws:
java.lang.Exception
-
within
public void within(Connection C, java.lang.StringBuilder Str, Type_DatetimePrimitive Col, Type_DatetimePrimitive ColStart, long DurationCount, DurationUtil.IntervalEnum DurationType)
-
isSuperUser
public boolean isSuperUser(Connection C) throws java.lang.Exception
- Throws:
java.lang.Exception
-
cancel
public void cancel(Connection C) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
getMaxColumnNameSize
public int getMaxColumnNameSize()
-
getMaxTableNameSize
public int getMaxTableNameSize()
-
getBackendConnectionId
public java.lang.String getBackendConnectionId(Connection connection) throws java.lang.Exception
- Throws:
java.lang.Exception
-
supportsReorg
public boolean supportsReorg()
-
reorgTable
public boolean reorgTable(Connection con, java.lang.String schemaName, java.lang.String tableName, java.lang.String clusterIndexName, boolean verbose, boolean full) throws java.lang.Exception
- Throws:
java.lang.Exception
-
isCaseSentitiveSchemaTableViewNames
public boolean isCaseSentitiveSchemaTableViewNames()
-
-