ERXSQLHelper.PostgresqlSQLHelper Class Reference

Inherits er::extensions::jdbc::ERXSQLHelper.

Collaboration diagram for ERXSQLHelper.PostgresqlSQLHelper:

Collaboration graph
[legend]

List of all members.

Public Member Functions

String externalTypeForJDBCType (JDBCAdaptor adaptor, int jdbcType)
String limitExpressionForSQL (EOSQLExpression expression, EOFetchSpecification fetchSpecification, String sql, long start, long end)
String sqlForCreateIndex (String indexName, String tableName, ColumnIndex...columnIndexes)
String sqlForCreateUniqueIndex (String indexName, String tableName, ColumnIndex...columnIndexes)
String sqlForRegularExpressionQuery (String key, String value)
int varcharLargeColumnWidth ()
int varcharLargeJDBCType ()

Protected Member Functions

String formatValueForAttribute (EOSQLExpression expression, Object value, EOAttribute attribute, String key)
String sqlForGetNextValFromSequencedNamed (String sequenceName)


Member Function Documentation

String externalTypeForJDBCType ( JDBCAdaptor  adaptor,
int  jdbcType 
)

For most types, finding the type in jdbc2Info's typeInfo will provide us with a correct type mapping. For Postgresql, it has the honor of not actually having a type named "integer," so EOF goes on a hunt for a type that MIGHT match (which is just bad, btw) and comes up with "serial".

cug: There seems to be also nothing useful for "BLOB", so we return bytea for Type.BLOB; int8 for BIGINT; numeric for DECIMAL; bool for BOOLEAN

We know better than EOF.

For any other case, we pass it up to the default impl.

Parameters:
adaptor the adaptor to retrieve an external type for
jdbcType the JDBC type number
Returns:
a guess at the external type name to use

Reimplemented from ERXSQLHelper.

String formatValueForAttribute ( EOSQLExpression  expression,
Object  value,
EOAttribute  attribute,
String  key 
) [protected]

Reimplemented from ERXSQLHelper.

String limitExpressionForSQL ( EOSQLExpression  expression,
EOFetchSpecification  fetchSpecification,
String  sql,
long  start,
long  end 
)

Reimplemented from ERXSQLHelper.

String sqlForCreateIndex ( String  indexName,
String  tableName,
ColumnIndex...  columnIndexes 
)

Returns the SQL expression for creating an index on the given set of columns

Parameters:
indexName the name of the index to create
tableName the name of the containing table
columnIndexes the list of columns to index on
Returns:
a SQL expression

Reimplemented from ERXSQLHelper.

String sqlForCreateUniqueIndex ( String  indexName,
String  tableName,
ColumnIndex...  columnIndexes 
)

Creates unique index; stolen from the derby helper

Author:
cug - Jun 24, 2008
See also:
er.extensions.ERXSQLHelper.sqlForCreateUniqueIndex(java.lang.String, java.lang.String, er.extensions.ERXSQLHelper.ColumnIndex[])

Reimplemented from ERXSQLHelper.

String sqlForGetNextValFromSequencedNamed ( String  sequenceName  )  [protected]

Returns the SQL required to select the next value from the given sequence. This should return a single row with a single column.

Parameters:
sequenceName the name of the sequence
Returns:
the next sequence value

Reimplemented from ERXSQLHelper.

String sqlForRegularExpressionQuery ( String  key,
String  value 
)

Returns the SQL expression for a regular expression query.

Parameters:
key 
value 
Returns:
the regex SQL

Reimplemented from ERXSQLHelper.

int varcharLargeColumnWidth (  ) 

Returns the width that should be used for a varcharLarge column in migrations.

Returns:
the width that should be used for a varcharLarge column in migrations

Reimplemented from ERXSQLHelper.

int varcharLargeJDBCType (  ) 

Returns the JDBCType that should be used for a varcharLarge column in migrations.

Returns:
the JDBCType that should be used for a varcharLarge column in migrations

Reimplemented from ERXSQLHelper.


The documentation for this class was generated from the following file:

Generated on Sat May 26 06:43:16 2012 for Project Wonder by  doxygen 1.5.8