Top Fields Constructors Methods
org.eclipse.persistence.platform.database

public Class FirebirdPlatform

extends DatabasePlatform
Class Inheritance
Imports
java.io.*, java.util.*, org.eclipse.persistence.internal.databaseaccess.DatabaseCall, .FieldTypeDefinition, org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter, .SQLSelectStatement, org.eclipse.persistence.internal.helper.ClassConstants, org.eclipse.persistence.queries.ValueReadQuery, org.eclipse.persistence.expressions.ExpressionOperator

Field Summary

Inherited from org.eclipse.persistence.platform.database.DatabasePlatform:
DEFAULT_VARCHAR_SIZE

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public boolean
protected Hashtable<Class<?>, FieldTypeDefinition>
buildFieldTypes()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.buildFieldTypes.

Return the mapping of class types to database types for the schema framework.
public ValueReadQuery
buildSelectQueryForSequenceObject(String seqName, Integer size)

Overrides org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.buildSelectQueryForSequenceObject.

INTERNAL: Returns query used to read value generated by sequence object (like Oracle sequence).
public Writer
buildSequenceObjectCreationWriter(Writer writer, String fullSeqName, int increment, int start)

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.buildSequenceObjectCreationWriter.

INTERNAL: Returns sql used to create sequence object in the database.
public Writer
buildSequenceObjectDeletionWriter(Writer writer, String fullSeqName)

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.buildSequenceObjectDeletionWriter.

INTERNAL: Returns sql used to delete sequence object from the database.
public int
getMaxForeignKeyNameSize()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.getMaxForeignKeyNameSize.

INTERNAL: returns the maximum number of characters that can be used in a foreign key name on this platform.
public int
getMaxUniqueKeyNameSize()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.getMaxUniqueKeyNameSize.

INTERNAL: returns the maximum number of characters that can be used in a unique key name on this platform.
public String
public ValueReadQuery
getTimestampQuery()

Overrides org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.getTimestampQuery.

Implements org.eclipse.persistence.internal.databaseaccess.Platform.getTimestampQuery.

This method can be overridden by subclasses to return a query that will return the timestamp from the server.
protected ExpressionOperator
greatest()

INTERNAL: Build FB equivalent to GREATEST(x, y) FB: CASE WHEN x >= y THEN x ELSE y END

protected void
public boolean
isAlterSequenceObjectSupported()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.isAlterSequenceObjectSupported.

INTERNAL: Override this method if the platform supports sequence objects and it's possible to alter sequence object's increment in the database.
public boolean
isDynamicSQLRequiredForFunctions()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.isDynamicSQLRequiredForFunctions.

INTERNAL Firebird has some issues with using parameters on certain functions and relations.
public boolean
protected ExpressionOperator
leftTrim()

INTERNAL: Build FB equivalent to LTRIM(string_exp).

public static ExpressionOperator
monthsBetweenOperator()

INTERNAL: Use MONTH function for MONTH_BETWEEN.

public void
printSQLSelectStatement(DatabaseCall call, ExpressionSQLPrinter printer, SQLSelectStatement statement)

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.printSQLSelectStatement.

Print the pagination SQL using FB syntax " ROWS <max> TO <first>".
protected ExpressionOperator
rightTrim()

INTERNAL: Build FB equivalent to LTRIM(string_exp).

protected ExpressionOperator
rightTrim2()

INTERNAL: Build FB equivalent to RTRIM(string_exp, character).

protected ExpressionOperator
substring()

INTERNAL: Build FB equivalent to SUBSTR(x, y) FB: SUBSTRING(x FROM y)

protected ExpressionOperator
substring2()

INTERNAL: Build FB equivalent to SUBSTR(x, y, z) FB: SUBSTRING(x FROM y FOR z)

public boolean
public boolean
supportsSequenceObjects()

Overrides org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.supportsSequenceObjects.

INTERNAL: Indicates whether the platform supports sequence objects.
public static ExpressionOperator
toNumberOperator()

INTERNAL: Use CONVERT function for toNumber.

Constructor Detail

FirebirdPlatformback to summary
public FirebirdPlatform()

Method Detail

allowBindingForSelectClauseback to summary
public boolean allowBindingForSelectClause()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.allowBindingForSelectClause.

Annotations
@Override
buildFieldTypesback to summary
protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.buildFieldTypes.

Doc from org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.buildFieldTypes.

Return the mapping of class types to database types for the schema framework.

Annotations
@Override
buildSelectQueryForSequenceObjectback to summary
public ValueReadQuery buildSelectQueryForSequenceObject(String seqName, Integer size)

Overrides org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.buildSelectQueryForSequenceObject.

Doc from org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.buildSelectQueryForSequenceObject.

INTERNAL: Returns query used to read value generated by sequence object (like Oracle sequence). In case the other version of this method (taking no parameters) returns null, this method is called every time sequence object NativeSequence reads. If the platform supportsSequenceObjects then (at least) one of buildSelectQueryForSequenceObject methods should return non-null query.

Annotations
@Override
buildSequenceObjectCreationWriterback to summary
public Writer buildSequenceObjectCreationWriter(Writer writer, String fullSeqName, int increment, int start) throws IOException

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.buildSequenceObjectCreationWriter.

INTERNAL: Returns sql used to create sequence object in the database.

Annotations
@Override
buildSequenceObjectDeletionWriterback to summary
public Writer buildSequenceObjectDeletionWriter(Writer writer, String fullSeqName) throws IOException

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.buildSequenceObjectDeletionWriter.

INTERNAL: Returns sql used to delete sequence object from the database.

Annotations
@Override
getMaxForeignKeyNameSizeback to summary
public int getMaxForeignKeyNameSize()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.getMaxForeignKeyNameSize.

INTERNAL: returns the maximum number of characters that can be used in a foreign key name on this platform.

Annotations
@Override
getMaxUniqueKeyNameSizeback to summary
public int getMaxUniqueKeyNameSize()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.getMaxUniqueKeyNameSize.

INTERNAL: returns the maximum number of characters that can be used in a unique key name on this platform.

Annotations
@Override
getSelectForUpdateStringback to summary
public String getSelectForUpdateString()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.getSelectForUpdateString.

WITH LOCK is required on FB to hold the lock.

Annotations
@Override
getTimestampQueryback to summary
public ValueReadQuery getTimestampQuery()

Overrides org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.getTimestampQuery.

Implements org.eclipse.persistence.internal.databaseaccess.Platform.getTimestampQuery.

Doc from org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.getTimestampQuery.

This method can be overridden by subclasses to return a query that will return the timestamp from the server. return null if the time should be the local time.

Annotations
@Override
greatestback to summary
protected ExpressionOperator greatest()

INTERNAL: Build FB equivalent to GREATEST(x, y) FB: CASE WHEN x >= y THEN x ELSE y END

initializePlatformOperatorsback to summary
protected void initializePlatformOperators()

Overrides org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.initializePlatformOperators.

Doc from org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.initializePlatformOperators.

Initialize any platform-specific operators

Annotations
@Override
isAlterSequenceObjectSupportedback to summary
public boolean isAlterSequenceObjectSupported()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.isAlterSequenceObjectSupported.

Doc from org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.isAlterSequenceObjectSupported.

INTERNAL: Override this method if the platform supports sequence objects and it's possible to alter sequence object's increment in the database.

Annotations
@Override
isDynamicSQLRequiredForFunctionsback to summary
public boolean isDynamicSQLRequiredForFunctions()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.isDynamicSQLRequiredForFunctions.

INTERNAL Firebird has some issues with using parameters on certain functions and relations. This allows statements to disable binding only in these cases.

Annotations
@Override
isFirebirdback to summary
public boolean isFirebird()

Overrides org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.isFirebird.

Annotations
@Override
leftTrimback to summary
protected ExpressionOperator leftTrim()

INTERNAL: Build FB equivalent to LTRIM(string_exp). FB: TRIM(LEADING FROM string_exp)

monthsBetweenOperatorback to summary
public static ExpressionOperator monthsBetweenOperator()

INTERNAL: Use MONTH function for MONTH_BETWEEN.

printSQLSelectStatementback to summary
public void printSQLSelectStatement(DatabaseCall call, ExpressionSQLPrinter printer, SQLSelectStatement statement)

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.printSQLSelectStatement.

Print the pagination SQL using FB syntax " ROWS <max> TO <first>".

Annotations
@Override
rightTrimback to summary
protected ExpressionOperator rightTrim()

INTERNAL: Build FB equivalent to LTRIM(string_exp). FB: TRIM(LEADING FROM string_exp)

rightTrim2back to summary
protected ExpressionOperator rightTrim2()

INTERNAL: Build FB equivalent to RTRIM(string_exp, character). FB: TRIM(TRAILING character FROM string_exp)

substringback to summary
protected ExpressionOperator substring()

INTERNAL: Build FB equivalent to SUBSTR(x, y) FB: SUBSTRING(x FROM y)

substring2back to summary
protected ExpressionOperator substring2()

INTERNAL: Build FB equivalent to SUBSTR(x, y, z) FB: SUBSTRING(x FROM y FOR z)

supportsForeignKeyConstraintsback to summary
public boolean supportsForeignKeyConstraints()

Overrides org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.supportsForeignKeyConstraints.

Annotations
@Override
supportsSequenceObjectsback to summary
public boolean supportsSequenceObjects()

Overrides org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.supportsSequenceObjects.

Doc from org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform.supportsSequenceObjects.

INTERNAL: Indicates whether the platform supports sequence objects. This method is to be used *ONLY* by sequencing classes

Annotations
@Override
toNumberOperatorback to summary
public static ExpressionOperator toNumberOperator()

INTERNAL: Use CONVERT function for toNumber.