Hyperic HQ Plugin API v. 4.4.0.2

org.hyperic.hibernate.dialect
Class PostgreSQLDialect

java.lang.Object
  extended by org.hibernate.dialect.Dialect
      extended by org.hibernate.dialect.PostgreSQLDialect
          extended by org.hyperic.hibernate.dialect.PostgreSQLDialect
All Implemented Interfaces:
HQDialect

public class PostgreSQLDialect
extends org.hibernate.dialect.PostgreSQLDialect
implements HQDialect

This class must be public for Hibernate to access it.


Field Summary
 
Fields inherited from class org.hibernate.dialect.Dialect
CLOSED_QUOTE, DEFAULT_BATCH_SIZE, NO_BATCH, QUOTE
 
Constructor Summary
PostgreSQLDialect()
           
 
Method Summary
 boolean dropConstraints()
           
 java.lang.String getCascadeConstraintsString()
           
 java.lang.String getCreateSequenceString(java.lang.String sequenceName)
           
 java.lang.String getLimitBuf(java.lang.String sql, int offset, int limit)
           
 java.lang.String getLimitString(int num)
          Returns the limit string.
 int getMaxExpressions()
          Returns -1 if Max Expressions supported in the db is unlimited.
 java.lang.String getOptimizeStmt(java.lang.String table, int cost)
          Returns the table optimize statement for a particular database
 java.lang.String getRegExSQL(java.lang.String column, java.lang.String regex, boolean ignoreCase, boolean invertMatch)
          Returns a db specific SQL syntax for a POSIX style Regular Expression.
 boolean supportsDeferrableConstraints()
           
 boolean supportsDuplicateInsertStmt()
          Returns true if the database supports an insert stmt which updates when the unique key is violated
 boolean supportsMultiInsertStmt()
          Returns true if the database supports a multi insert stmt.
 boolean supportsPLSQL()
          true if the database supports PL/SQL
 boolean tableExists(java.sql.Statement stmt, java.lang.String tableName)
          Returns true if the database contains the specified tableName
 boolean useEamNumbers()
          Returns true if using the EAM_NUMBERS table to iterate over a certain amount of time ranges is optimal for the database
 boolean useMetricUnion()
          Returns true if using the EAM_MEASUREMENT_DATA view instead of constructing it dynamically is optimal
 boolean usesSequenceGenerator()
          If true, tells the ComboGenerator to use the SequenceGenerator, else uses the MultipleHiLoPerTableGenerator
 boolean viewExists(java.sql.Statement stmt, java.lang.String viewName)
          Returns true if the database contains the specified viewName
 
Methods inherited from class org.hibernate.dialect.PostgreSQLDialect
bindLimitParametersInReverseOrder, getAddColumnString, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCurrentTimestampSelectString, getDropSequenceString, getForUpdateString, getIdentityColumnString, getIdentitySelectString, getLimitString, getNativeIdentifierGeneratorClass, getNoColumnsInsertString, getQuerySequencesString, getSelectClauseNullString, getSelectSequenceNextValString, getSequenceNextValString, getViolatedConstraintNameExtracter, hasDataTypeInIdentityColumn, isCurrentTimestampSelectStringCallable, supportsCommentOn, supportsCurrentTimestampSelection, supportsEmptyInList, supportsExpectedLobUsagePattern, supportsIdentityColumns, supportsLimit, supportsOuterJoinForUpdate, supportsSequences, supportsTemporaryTables, supportsUnionAll, toBooleanValueString, useInputStreamToInsertBlob
 
Methods inherited from class org.hibernate.dialect.Dialect
appendIdentitySelectToInsert, appendLockHint, applyLocksToSql, areStringComparisonsCaseInsensitive, bindLimitParametersFirst, buildSQLExceptionConverter, closeQuote, createCaseFragment, createOuterJoinFragment, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, dropTemporaryTableAfterUse, forUpdateOfColumns, generateTemporaryTableName, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getCastTypeName, getColumnComment, getCreateMultisetTableString, getCreateSequenceString, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getCurrentTimestampSQLFunctionName, getDefaultProperties, getDialect, getDialect, getDropForeignKeyString, getDropSequenceStrings, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnString, getIdentityInsertString, getIdentitySelectString, getKeywords, getLimitString, getLockingStrategy, getLowercaseFunction, getMaxAliasLength, getNullColumnString, getResultSet, getSelectGUIDString, getTableComment, getTableTypeString, getTypeName, getTypeName, hasAlterTable, hasSelfReferentialForeignKeyBug, openQuote, performTemporaryTableDDLInIsolation, qualifyIndexName, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, registerResultSetOutParameter, supportsBindAsCallableArgument, supportsCascadeDelete, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsExistsInSelect, supportsIfExistsAfterTableName, supportsIfExistsBeforeTableName, supportsInsertSelectIdentity, supportsLimitOffset, supportsLobValueChangePropogation, supportsNotNullUnique, supportsParametersInInsertSelect, supportsPooledSequences, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsUnboundedLobLocatorMaterialization, supportsUnique, supportsUniqueConstraintInCreateAlterTable, supportsVariableLimit, toString, transformSelectString, useMaxForLimit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PostgreSQLDialect

public PostgreSQLDialect()
Method Detail

supportsDeferrableConstraints

public boolean supportsDeferrableConstraints()

getCascadeConstraintsString

public java.lang.String getCascadeConstraintsString()
Overrides:
getCascadeConstraintsString in class org.hibernate.dialect.PostgreSQLDialect

dropConstraints

public boolean dropConstraints()
Overrides:
dropConstraints in class org.hibernate.dialect.PostgreSQLDialect

getCreateSequenceString

public java.lang.String getCreateSequenceString(java.lang.String sequenceName)
Overrides:
getCreateSequenceString in class org.hibernate.dialect.PostgreSQLDialect

getOptimizeStmt

public java.lang.String getOptimizeStmt(java.lang.String table,
                                        int cost)
Description copied from interface: HQDialect
Returns the table optimize statement for a particular database

Specified by:
getOptimizeStmt in interface HQDialect
Parameters:
table - - name of table
cost - - based on the database, may be table percentage or random number

supportsDuplicateInsertStmt

public boolean supportsDuplicateInsertStmt()
Description copied from interface: HQDialect
Returns true if the database supports an insert stmt which updates when the unique key is violated

Specified by:
supportsDuplicateInsertStmt in interface HQDialect

supportsMultiInsertStmt

public boolean supportsMultiInsertStmt()
Description copied from interface: HQDialect
Returns true if the database supports a multi insert stmt.

Specified by:
supportsMultiInsertStmt in interface HQDialect

tableExists

public boolean tableExists(java.sql.Statement stmt,
                           java.lang.String tableName)
                    throws java.sql.SQLException
Description copied from interface: HQDialect
Returns true if the database contains the specified tableName

Specified by:
tableExists in interface HQDialect
Throws:
java.sql.SQLException

viewExists

public boolean viewExists(java.sql.Statement stmt,
                          java.lang.String viewName)
                   throws java.sql.SQLException
Description copied from interface: HQDialect
Returns true if the database contains the specified viewName

Specified by:
viewExists in interface HQDialect
Throws:
java.sql.SQLException

getLimitString

public java.lang.String getLimitString(int num)
Description copied from interface: HQDialect
Returns the limit string.

Specified by:
getLimitString in interface HQDialect
Parameters:
num - The number of rows to limit by.
Returns:
The limit string.

getLimitBuf

public java.lang.String getLimitBuf(java.lang.String sql,
                                    int offset,
                                    int limit)
Specified by:
getLimitBuf in interface HQDialect
Returns:
the limit sql associated with the offset and limit params

usesSequenceGenerator

public boolean usesSequenceGenerator()
Description copied from interface: HQDialect
If true, tells the ComboGenerator to use the SequenceGenerator, else uses the MultipleHiLoPerTableGenerator

Specified by:
usesSequenceGenerator in interface HQDialect

getRegExSQL

public java.lang.String getRegExSQL(java.lang.String column,
                                    java.lang.String regex,
                                    boolean ignoreCase,
                                    boolean invertMatch)
Description copied from interface: HQDialect
Returns a db specific SQL syntax for a POSIX style Regular Expression.

Specified by:
getRegExSQL in interface HQDialect
Parameters:
column - - the column to match against
regex - - the POSIX style regex. The param passed in allows for prepared statement type syntax. If that is not desired put quotes around the value to ensure the SQL will not fail.
ignoreCase - - similar to grep -i
invertMatch - - similar to grep -v

useEamNumbers

public boolean useEamNumbers()
Description copied from interface: HQDialect
Returns true if using the EAM_NUMBERS table to iterate over a certain amount of time ranges is optimal for the database

Specified by:
useEamNumbers in interface HQDialect

getMaxExpressions

public int getMaxExpressions()
Description copied from interface: HQDialect
Returns -1 if Max Expressions supported in the db is unlimited. This applies mainly to SQL in statements e.g. where ids in (0, 1, 2,...) Or a sequence of SQL 'and' or 'or' statements in one statement

Specified by:
getMaxExpressions in interface HQDialect

supportsPLSQL

public boolean supportsPLSQL()
Description copied from interface: HQDialect
true if the database supports PL/SQL

Specified by:
supportsPLSQL in interface HQDialect

useMetricUnion

public boolean useMetricUnion()
Description copied from interface: HQDialect
Returns true if using the EAM_MEASUREMENT_DATA view instead of constructing it dynamically is optimal

Specified by:
useMetricUnion in interface HQDialect

Hyperic HQ Plugin API v. 4.4.0.2

Copyright © 2004-2006 Hyperic, Inc. support@hyperic.net, All Rights Reserved.