Package tilda.generation.postgres9
Class Sql
- java.lang.Object
-
- tilda.db.stores.CommonStoreImpl
-
- tilda.db.stores.PostgreSQL
-
- tilda.generation.postgres9.Sql
-
- All Implemented Interfaces:
DBType
,CodeGenBase
,CodeGenSql
public class Sql extends PostgreSQL implements CodeGenSql
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.apache.logging.log4j.Logger
LOG
-
Fields inherited from class tilda.db.stores.PostgreSQL
_CANCEL_SQL_STATES, _LOCK_CONN_ERROR_SUBSTR, _NODATA_SQL_STATES, _SQL
-
Fields inherited from class tilda.db.stores.CommonStoreImpl
REQUOTE0, REQUOTE1, REQUOTE2
-
-
Constructor Summary
Constructors Constructor Description Sql()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
genClassEnd(java.io.PrintWriter Out, GeneratorSession G)
void
genClassStart(java.io.PrintWriter Out, GeneratorSession G, Object O)
java.lang.String
genCompositeAggregateColumnSQL(ViewColumn VC)
void
genDDL(java.io.PrintWriter Out, Object O)
void
genDDL(java.io.PrintWriter OutFinal, View V)
void
genDDLComments(java.io.PrintWriter OutFinal, View V)
void
genFileStart(java.io.PrintWriter Out, Schema S)
void
genIndex(java.io.PrintWriter Out, Index I)
void
genKeysManagement(java.io.PrintWriter Out, Object O)
java.lang.String
genPivotColumnSQL(ViewColumn VC)
Query
genViewJoin(java.lang.StringBuilder Str, ViewJoin VJ)
java.lang.String
getBaseSelectStatement(java.util.List<Column> Columns)
java.lang.String
getColumnType(Column C)
java.lang.String
getColumnType(Column C, ColumnType AggregateType)
java.lang.String
getColumnTypeRaw(ColumnType Type, int Size, boolean isCollection)
java.lang.String
getColumnTypeRaw(ColumnType Type, int Size, boolean Calculated, boolean isCollection, boolean MultiOverride)
java.lang.String
getColumnTypeRaw(Column C, boolean MultiOverride)
java.lang.String
getCommaCurentDateTime()
java.lang.String
getCommaCurentTimestamp()
java.lang.String
getDDLMetadataVersion()
java.lang.String
getEqualCurentDateTime()
java.lang.String
getEqualCurentTimestamp()
java.lang.String
getFileName(Base O)
java.lang.String
getFullColumnVar(Column C)
java.lang.String
getFullColumnVar(Column C, int i)
java.lang.String
getFullTableVar(Object O)
java.lang.String
getFullTableVar(Object O, int i)
java.lang.String
getShortColumnVar(Column C)
protected static void
printAggregateOrderBy(java.lang.StringBuilder str, java.util.List<OrderBy> orderByObjs, java.lang.String objectFullName, java.lang.String range)
protected static void
printAggregatePartitionBy(java.lang.StringBuilder str, java.util.List<Column> partitionByObjs, java.lang.String objectFullName)
static boolean
PrintColumnList(java.io.PrintWriter Out, java.util.List<Column> Columns)
static boolean
PrintColumnList(java.io.PrintWriter Out, java.util.List<Column> Columns, java.lang.String[] LALs)
Prints a comma-separated list of columns, for example for an index or an FK.boolean
stringArrayAggNeedsText(ViewColumn VC)
boolean
stringNeedsTrim(Column C)
boolean
supportsArrays()
-
Methods inherited from class tilda.db.stores.PostgreSQL
age, alterTableAlterColumnComment, alterTableComment, cancel, fullIdentifierOnUpdate, getAclRolesScript, getAggregateStr, getBackendConnectionId, getColumnQuotingEndChar, getColumnQuotingStartChar, getColumnType, getConnectionCancelStates, getConnectionLockMsgs, getConnectionNoDataStates, getCurrentDateStr, getCurrentDateTimeStr, getCurrentTimestampStr, getDBStringType, getHelperFunctionsScript, getJsonParametrizedQueryPlaceHolder, getMaxColumnNameSize, getMaxTableNameSize, getName, getSelectLimitClause, getSQlCodeGen, getSubTypeMapping, isCaseSentitiveSchemaTableViewNames, isSuperUser, needsSavepoint, reCreateRole, reorgTable, supportsFilterClause, supportsFirstLastAggregates, supportsForeignKeys, supportsIndices, supportsPrimaryKeys, supportsReorg, supportsSelectLimit, supportsSelectOffset, supportsSuperMetaDataQueries, within
-
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, getCurrentDate, getCurrentDateTime, getCurrentTimestamp, getFullColumnVar, getFullTableVar, getShortColumnVar, getTypeMapping, moveTableView, renameTableColumn, renameTableView, rewriteExpressionColumnQuoting, setArray, setOrderByWithNullsOrdering, truncateTable
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface tilda.db.stores.DBType
age, alterTableAddColumn, alterTableAddFK, alterTableAddIndex, alterTableAddIndexDDL, alterTableAlterColumnComment, alterTableAlterColumnDefault, alterTableAlterColumnMulti, alterTableAlterColumnNull, alterTableAlterColumnNumericSize, alterTableAlterColumnStringSize, alterTableAlterColumnType, alterTableComment, alterTableDropColumn, alterTableDropFK, alterTableDropIndex, alterTableIndexAddCluster, alterTableIndexDropCluster, alterTableRenameIndex, alterTableReplaceTablePK, cancel, createKeysEntry, createSchema, createTable, createView, dropView, dropView, fullIdentifierOnUpdate, getAclRolesScript, getAggregateStr, getBackendConnectionId, getColumnQuotingEndChar, getColumnQuotingStartChar, getColumnType, getConnectionCancelStates, getConnectionLockMsgs, getConnectionNoDataStates, getCurrentDate, getCurrentDateStr, getCurrentDateTime, getCurrentDateTimeStr, getCurrentTimestamp, getCurrentTimestampStr, getDBStringType, getFullColumnVar, getFullTableVar, getHelperFunctionsScript, getJsonParametrizedQueryPlaceHolder, getMaxColumnNameSize, getMaxTableNameSize, getName, getSelectLimitClause, getShortColumnVar, getSQlCodeGen, getTypeMapping, isCaseSentitiveSchemaTableViewNames, isSuperUser, moveTableView, needsSavepoint, renameTableColumn, renameTableView, reorgTable, rewriteExpressionColumnQuoting, setArray, setOrderByWithNullsOrdering, supportsFilterClause, supportsFirstLastAggregates, supportsForeignKeys, supportsIndices, supportsPrimaryKeys, supportsReorg, supportsSelectLimit, supportsSelectOffset, supportsSuperMetaDataQueries, truncateTable, within
-
-
-
-
Method Detail
-
getFileName
public java.lang.String getFileName(Base O)
- Specified by:
getFileName
in interfaceCodeGenBase
- Returns:
-
getFullTableVar
public java.lang.String getFullTableVar(Object O, int i)
- Specified by:
getFullTableVar
in interfaceDBType
- Overrides:
getFullTableVar
in classCommonStoreImpl
-
getFullColumnVar
public java.lang.String getFullColumnVar(Column C, int i)
- Specified by:
getFullColumnVar
in interfaceDBType
- Overrides:
getFullColumnVar
in classCommonStoreImpl
-
getShortColumnVar
public java.lang.String getShortColumnVar(Column C)
- Specified by:
getShortColumnVar
in interfaceDBType
- Overrides:
getShortColumnVar
in classCommonStoreImpl
-
getColumnType
public java.lang.String getColumnType(Column C)
- Specified by:
getColumnType
in interfaceDBType
- Overrides:
getColumnType
in classCommonStoreImpl
-
getColumnType
public java.lang.String getColumnType(Column C, ColumnType AggregateType)
- Specified by:
getColumnType
in interfaceDBType
- Overrides:
getColumnType
in classCommonStoreImpl
-
getColumnTypeRaw
public java.lang.String getColumnTypeRaw(Column C, boolean MultiOverride)
- Specified by:
getColumnTypeRaw
in interfaceDBType
- Overrides:
getColumnTypeRaw
in classCommonStoreImpl
-
getColumnTypeRaw
public java.lang.String getColumnTypeRaw(ColumnType Type, int Size, boolean isCollection)
- Specified by:
getColumnTypeRaw
in interfaceDBType
- Overrides:
getColumnTypeRaw
in classCommonStoreImpl
-
getColumnTypeRaw
public java.lang.String getColumnTypeRaw(ColumnType Type, int Size, boolean Calculated, boolean isCollection, boolean MultiOverride)
- Overrides:
getColumnTypeRaw
in classPostgreSQL
-
stringNeedsTrim
public boolean stringNeedsTrim(Column C)
- Specified by:
stringNeedsTrim
in interfaceCodeGenSql
-
stringArrayAggNeedsText
public boolean stringArrayAggNeedsText(ViewColumn VC)
- Specified by:
stringArrayAggNeedsText
in interfaceCodeGenSql
-
getBaseSelectStatement
public java.lang.String getBaseSelectStatement(java.util.List<Column> Columns)
- Specified by:
getBaseSelectStatement
in interfaceCodeGenSql
-
supportsArrays
public boolean supportsArrays()
- Specified by:
supportsArrays
in interfaceDBType
- Overrides:
supportsArrays
in classPostgreSQL
-
getEqualCurentTimestamp
public java.lang.String getEqualCurentTimestamp()
- Specified by:
getEqualCurentTimestamp
in interfaceCodeGenSql
-
getCommaCurentTimestamp
public java.lang.String getCommaCurentTimestamp()
- Specified by:
getCommaCurentTimestamp
in interfaceCodeGenSql
-
getEqualCurentDateTime
public java.lang.String getEqualCurentDateTime()
- Specified by:
getEqualCurentDateTime
in interfaceCodeGenSql
-
getCommaCurentDateTime
public java.lang.String getCommaCurentDateTime()
- Specified by:
getCommaCurentDateTime
in interfaceCodeGenSql
-
getFullTableVar
public java.lang.String getFullTableVar(Object O)
- Specified by:
getFullTableVar
in interfaceDBType
- Overrides:
getFullTableVar
in classCommonStoreImpl
-
getFullColumnVar
public java.lang.String getFullColumnVar(Column C)
- Specified by:
getFullColumnVar
in interfaceDBType
- Overrides:
getFullColumnVar
in classCommonStoreImpl
-
genFileStart
public void genFileStart(java.io.PrintWriter Out, Schema S) throws java.lang.Exception
- Specified by:
genFileStart
in interfaceCodeGenSql
- Throws:
java.lang.Exception
-
genClassStart
public void genClassStart(java.io.PrintWriter Out, GeneratorSession G, Object O) throws java.lang.Exception
- Specified by:
genClassStart
in interfaceCodeGenBase
- Throws:
java.lang.Exception
-
genDDL
public void genDDL(java.io.PrintWriter Out, Object O) throws java.lang.Exception
- Specified by:
genDDL
in interfaceCodeGenSql
- Throws:
java.lang.Exception
-
genViewJoin
public Query genViewJoin(java.lang.StringBuilder Str, ViewJoin VJ) throws java.lang.Exception
- Specified by:
genViewJoin
in interfaceCodeGenSql
- Throws:
java.lang.Exception
-
printAggregateOrderBy
protected static void printAggregateOrderBy(java.lang.StringBuilder str, java.util.List<OrderBy> orderByObjs, java.lang.String objectFullName, java.lang.String range)
-
printAggregatePartitionBy
protected static void printAggregatePartitionBy(java.lang.StringBuilder str, java.util.List<Column> partitionByObjs, java.lang.String objectFullName)
-
genDDL
public void genDDL(java.io.PrintWriter OutFinal, View V) throws java.lang.Exception
- Specified by:
genDDL
in interfaceCodeGenSql
- Throws:
java.lang.Exception
-
genPivotColumnSQL
public java.lang.String genPivotColumnSQL(ViewColumn VC) throws java.lang.Exception
- Throws:
java.lang.Exception
-
genCompositeAggregateColumnSQL
public java.lang.String genCompositeAggregateColumnSQL(ViewColumn VC)
-
genDDLComments
public void genDDLComments(java.io.PrintWriter OutFinal, View V) throws java.lang.Exception
- Specified by:
genDDLComments
in interfaceCodeGenSql
- Throws:
java.lang.Exception
-
getDDLMetadataVersion
public java.lang.String getDDLMetadataVersion()
- Specified by:
getDDLMetadataVersion
in interfaceCodeGenSql
-
genIndex
public void genIndex(java.io.PrintWriter Out, Index I) throws java.lang.Exception
- Specified by:
genIndex
in interfaceCodeGenSql
- Throws:
java.lang.Exception
-
genKeysManagement
public void genKeysManagement(java.io.PrintWriter Out, Object O)
- Specified by:
genKeysManagement
in interfaceCodeGenSql
-
PrintColumnList
public static boolean PrintColumnList(java.io.PrintWriter Out, java.util.List<Column> Columns)
-
PrintColumnList
public static boolean PrintColumnList(java.io.PrintWriter Out, java.util.List<Column> Columns, java.lang.String[] LALs)
Prints a comma-separated list of columns, for example for an index or an FK.- Parameters:
Out
- the output streamColumns
- the list of columns to print (must not be null)LALs
- For indices, the list of columns marked as LAL-enabled (Left-Anchor-Like for efficient search such as like 'abc%').- Returns:
-
genClassEnd
public void genClassEnd(java.io.PrintWriter Out, GeneratorSession G) throws java.lang.Exception
- Specified by:
genClassEnd
in interfaceCodeGenBase
- Throws:
java.lang.Exception
-
-