|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jpox.store.mapped.AbstractDatastoreAdapter
org.jpox.store.rdbms.adapter.DatabaseAdapter
org.jpox.store.rdbms.adapter.DB2Adapter
public class DB2Adapter
Provides methods for adapting SQL language elements to the DB2 database.
DatabaseAdapter| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.jpox.store.rdbms.adapter.DatabaseAdapter |
|---|
DatabaseAdapter.JDBCTypeInfo |
| Field Summary | |
|---|---|
static java.lang.String |
DB2_RESERVED_WORDS
A string containing the list of DB2 keywords This list is normally obtained dynamically from the driver using DatabaseMetaData.getSQLKeywords() Based on database DB2 version 7 |
| Fields inherited from class org.jpox.store.mapped.AbstractDatastoreAdapter |
|---|
datastoreMajorVersion, datastoreMinorVersion, datastoreProductName, datastoreProductVersion, datastoreRevisionVersion, identifierQuoteString, LOCALISER_BASE, mappingManager, reservedKeywords |
| Constructor Summary | |
|---|---|
DB2Adapter(java.sql.DatabaseMetaData metadata)
Constructs a DB2 adapter based on the given JDBC metadata. |
|
| Method Summary | |
|---|---|
void |
closeConnection(java.sql.Connection conn)
Method to close a Connection to the datastore. |
org.jpox.store.mapped.expression.ScalarExpression |
concatOperator(org.jpox.store.mapped.expression.ScalarExpression operand1,
org.jpox.store.mapped.expression.ScalarExpression operand2)
If only one operand expression is of type String, then string conversion is performed on the other operand to produce a string at run time. |
org.jpox.store.mapped.expression.BooleanExpression |
endsWithMethod(org.jpox.store.mapped.expression.ScalarExpression leftOperand,
org.jpox.store.mapped.expression.ScalarExpression rightOperand)
Returns whether this string ends with the specified string. |
java.lang.String |
getAutoIncrementKeyword()
Accessor for the auto-increment keyword for generating DDLs (CREATE TABLEs...). |
java.lang.String |
getAutoIncrementStmt(Table table,
java.lang.String columnName)
Accessor for the auto-increment sql statement for this datastore. |
java.lang.String |
getContinuationString()
Continuation string to use where the SQL statement goes over more than 1 line. |
java.lang.String |
getDropTableStatement(org.jpox.store.mapped.DatastoreContainerObject table)
Returns the appropriate SQL to drop the given table. |
int |
getMaxConstraintNameLength()
Accessor for the maximum constraint name length permitted on this datastore. |
int |
getMaxIndexNameLength()
Accessor for the maximum index name length permitted on this datastore. |
java.lang.String |
getSchemaName(java.sql.Connection conn)
Accessor for the Schema Name for this datastore. |
java.lang.String |
getSequenceCreateStmt(java.lang.String sequence_name,
java.lang.String min,
java.lang.String max,
java.lang.String start,
java.lang.String increment,
java.lang.String cache_size)
Accessor for the sequence statement to create the sequence. |
java.lang.String |
getSequenceNextStmt(java.lang.String sequence_name)
Accessor for the statement for getting the next id from the sequence for this datastore. |
int |
getUnlimitedLengthPrecisionValue(TypeInfo typeInfo)
Returns the precision value to be used when creating string columns of "unlimited" length. |
java.lang.String |
getVendorID()
|
org.jpox.store.mapped.expression.NumericExpression |
indexOfMethod(org.jpox.store.mapped.expression.ScalarExpression source,
org.jpox.store.mapped.expression.ScalarExpression str,
org.jpox.store.mapped.expression.NumericExpression from)
Returns the appropriate SQL expression for the JDOQL String.indexOf() method. |
org.jpox.store.mapped.expression.NumericExpression |
lengthMethod(org.jpox.store.mapped.expression.StringExpression str)
Returns the appropriate SQL expression for the JDOQL String.length() method. |
org.jpox.store.mapped.expression.NumericExpression |
modOperator(org.jpox.store.mapped.expression.ScalarExpression operand1,
org.jpox.store.mapped.expression.ScalarExpression operand2)
Method to generate a modulus expression. |
ColumnInfo |
newColumnInfo(java.sql.ResultSet rs)
A factory for ColumnInfo objects. |
org.jpox.store.mapped.expression.LogicSetExpression |
newTableExpression(org.jpox.store.mapped.expression.QueryExpression qs,
org.jpox.store.mapped.DatastoreContainerObject table,
org.jpox.store.mapped.DatastoreIdentifier rangeVar)
Returns a new TableExpression object appropriate for this DBMS. |
TypeInfo |
newTypeInfo(java.sql.ResultSet rs)
A factory for TypeInfo objects. |
org.jpox.store.mapped.expression.BooleanExpression |
startsWithMethod(org.jpox.store.mapped.expression.ScalarExpression source,
org.jpox.store.mapped.expression.ScalarExpression str)
Method to handle the starts with operation. |
org.jpox.store.mapped.expression.StringExpression |
substringMethod(org.jpox.store.mapped.expression.StringExpression str,
org.jpox.store.mapped.expression.NumericExpression begin)
Returns the appropriate SQL expression for the JDOQL String.substring(str,begin) method. |
org.jpox.store.mapped.expression.StringExpression |
substringMethod(org.jpox.store.mapped.expression.StringExpression str,
org.jpox.store.mapped.expression.NumericExpression begin,
org.jpox.store.mapped.expression.NumericExpression end)
Returns the appropriate SQL expression for the JDOQL String.substring(str,begin,end) method. |
boolean |
supportsBooleanComparison()
Whether we support Boolean comparisons. |
boolean |
supportsDeferredConstraints()
Whether this datastore supports deferred constraints. |
boolean |
supportsForeignKeyDeleteAction(ForeignKey.FKAction action)
Whether this datastore supports the specified foreign key delete action |
boolean |
supportsForeignKeyUpdateAction(ForeignKey.FKAction action)
Whether this datastore supports the specified foreign key update action |
boolean |
supportsIdentityFields()
Whether we support auto-increment fields. |
boolean |
supportsLockWithSelectForUpdate()
Whether this datastore supports locking using SELECT ... |
boolean |
supportsNullsInCandidateKeys()
Whether we support NULLs in candidate keys. |
boolean |
supportsNullsKeywordInColumnOptions()
Whether the database support NULLs in the column options for table creation. |
boolean |
supportsSequences()
Whether we support sequences. |
org.jpox.store.mapped.expression.StringExpression |
toStringExpression(org.jpox.store.mapped.expression.StringLiteral expr)
A String conversion that converts a String literal to String expression. |
org.jpox.store.mapped.expression.StringExpression |
translateMethod(org.jpox.store.mapped.expression.ScalarExpression expr,
org.jpox.store.mapped.expression.ScalarExpression toExpr,
org.jpox.store.mapped.expression.ScalarExpression fromExpr)
Method to translate all chars in this expression to the fromExpr which
corresponds to toExpr. |
org.jpox.store.mapped.expression.StringExpression |
trimMethod(org.jpox.store.mapped.expression.StringExpression str,
boolean leading,
boolean trailing)
Returns the appropriate SQL expression for the java query "trim" method. |
| Methods inherited from class org.jpox.store.mapped.AbstractDatastoreAdapter |
|---|
getAdapterTime, getDatastoreMajorVersion, getDatastoreMinorVersion, getIdentifierQuoteString, getMapping, getMapping, getMapping, getMapping, getMapping, getMappingManager, getMiliseconds, getTime, isBitReallyBoolean, isReservedKeyword, supportsQueryFetchSize |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.jpox.store.rdbms.adapter.RDBMSAdapter |
|---|
getIdentifierQuoteString |
| Methods inherited from interface org.jpox.store.mapped.DatastoreAdapter |
|---|
getAdapterTime, getDatastoreMajorVersion, getDatastoreMinorVersion, getMapping, getMapping, getMapping, getMapping, getMappingManager, isBitReallyBoolean, isReservedKeyword, supportsQueryFetchSize |
| Field Detail |
|---|
public static final java.lang.String DB2_RESERVED_WORDS
| Constructor Detail |
|---|
public DB2Adapter(java.sql.DatabaseMetaData metadata)
metadata - the database metadata.| Method Detail |
|---|
public java.lang.String getVendorID()
getVendorID in interface org.jpox.store.mapped.DatastoreAdaptergetVendorID in class org.jpox.store.mapped.AbstractDatastoreAdapter
public java.lang.String getSchemaName(java.sql.Connection conn)
throws java.sql.SQLException
DatabaseAdapter
getSchemaName in interface RDBMSAdaptergetSchemaName in class DatabaseAdapterconn - Connection to the datastore
java.sql.SQLException - Thrown if error occurs in determining the
schema name.
public void closeConnection(java.sql.Connection conn)
throws java.sql.SQLException
closeConnection in interface RDBMSAdaptercloseConnection in class DatabaseAdapterconn - The connection
java.sql.SQLException - Thrown if error occurs on the close.public int getMaxConstraintNameLength()
getMaxConstraintNameLength in interface RDBMSAdaptergetMaxConstraintNameLength in class DatabaseAdapterpublic int getMaxIndexNameLength()
getMaxIndexNameLength in interface RDBMSAdaptergetMaxIndexNameLength in class DatabaseAdapterpublic boolean supportsLockWithSelectForUpdate()
supportsLockWithSelectForUpdate in interface RDBMSAdaptersupportsLockWithSelectForUpdate in class DatabaseAdapterpublic boolean supportsBooleanComparison()
DatabaseAdapter
supportsBooleanComparison in interface org.jpox.store.mapped.expression.ExpressionSupportedFeaturesAdaptersupportsBooleanComparison in class DatabaseAdapterpublic boolean supportsDeferredConstraints()
DatabaseAdapter
supportsDeferredConstraints in interface RDBMSAdaptersupportsDeferredConstraints in class DatabaseAdapterpublic boolean supportsForeignKeyUpdateAction(ForeignKey.FKAction action)
supportsForeignKeyUpdateAction in interface RDBMSAdaptersupportsForeignKeyUpdateAction in class DatabaseAdapteraction - The update action
public boolean supportsForeignKeyDeleteAction(ForeignKey.FKAction action)
supportsForeignKeyDeleteAction in interface RDBMSAdaptersupportsForeignKeyDeleteAction in class DatabaseAdapteraction - The delete action
public boolean supportsNullsInCandidateKeys()
DatabaseAdapter
supportsNullsInCandidateKeys in interface RDBMSAdaptersupportsNullsInCandidateKeys in class DatabaseAdapterpublic TypeInfo newTypeInfo(java.sql.ResultSet rs)
DatabaseAdapterResultSet object passed must have been
obtained from a call to DatabaseMetaData.getTypeInfo().
The constructor only retrieves the values from the current row; the
caller is required to advance to the next row with ResultSet.next()
newTypeInfo in class DatabaseAdapterrs - The result set returned from DatabaseMetaData.getTypeInfo().
null if the type indicated by this row should be
excluded from use.public ColumnInfo newColumnInfo(java.sql.ResultSet rs)
DatabaseAdapterResultSet object passed must have been
obtained from a call to DatabaseMetaData.getColumns().
The constructor only retrieves the values from the current row; the
caller is required to advance to the next row with ResultSet.next()
newColumnInfo in interface RDBMSAdapternewColumnInfo in class DatabaseAdapterrs - The result set returned from DatabaseMetaData.getColumns().
public org.jpox.store.mapped.expression.LogicSetExpression newTableExpression(org.jpox.store.mapped.expression.QueryExpression qs,
org.jpox.store.mapped.DatastoreContainerObject table,
org.jpox.store.mapped.DatastoreIdentifier rangeVar)
DatabaseAdapter
newTableExpression in interface RDBMSAdapternewTableExpression in class DatabaseAdapterqs - The query statement in which the table expression will
be included.table - The main table in the expression.rangeVar - The SQL alias, or "range variable", to assign to the
expression or to the main table.
public org.jpox.store.mapped.expression.NumericExpression modOperator(org.jpox.store.mapped.expression.ScalarExpression operand1,
org.jpox.store.mapped.expression.ScalarExpression operand2)
modOperator in interface org.jpox.store.mapped.DatastoreAdaptermodOperator in interface org.jpox.store.mapped.expression.ExpressionOperatorAdaptermodOperator in class org.jpox.store.mapped.AbstractDatastoreAdapteroperand1 - the left expressionoperand2 - the right expression
public int getUnlimitedLengthPrecisionValue(TypeInfo typeInfo)
DatabaseAdapterTypeInfo.precision). However, for some
types in some databases the value must be computed specially.
getUnlimitedLengthPrecisionValue in interface RDBMSAdaptergetUnlimitedLengthPrecisionValue in class DatabaseAdaptertypeInfo - the typeInfo object for which the precision value is needed.
public java.lang.String getDropTableStatement(org.jpox.store.mapped.DatastoreContainerObject table)
DatabaseAdapter
DROP TABLE FOO CASCADE
getDropTableStatement in interface RDBMSAdaptergetDropTableStatement in class DatabaseAdaptertable - The table to drop.
public org.jpox.store.mapped.expression.NumericExpression lengthMethod(org.jpox.store.mapped.expression.StringExpression str)
DatabaseAdapter
CHAR_LENGTH(str)
lengthMethod in interface org.jpox.store.mapped.expression.ExpressionMethodAdapterlengthMethod in class DatabaseAdapterstr - The argument to the length() method.
public org.jpox.store.mapped.expression.StringExpression substringMethod(org.jpox.store.mapped.expression.StringExpression str,
org.jpox.store.mapped.expression.NumericExpression begin)
DatabaseAdapter
SUBSTRING(str FROM begin)Note that the value of begin is base 0(Java-style), while most SQL string functions use base 1.
substringMethod in interface org.jpox.store.mapped.expression.ExpressionMethodAdaptersubstringMethod in class DatabaseAdapterstr - The first argument to the substring() method.begin - The second argument to the substring() method.
public org.jpox.store.mapped.expression.StringExpression substringMethod(org.jpox.store.mapped.expression.StringExpression str,
org.jpox.store.mapped.expression.NumericExpression begin,
org.jpox.store.mapped.expression.NumericExpression end)
DatabaseAdapter
Note that the value of begin is base 0 (Java-style), while most SQL string functions use base 1. Note also that an end position is given, while most SQL substring functions take a length.SUBSTRING(str FROM begin FOR len)
substringMethod in interface org.jpox.store.mapped.expression.ExpressionMethodAdaptersubstringMethod in class DatabaseAdapterstr - The first argument to the substring() method.begin - The second argument to the substring() method.end - The third argument to the substring() method.
public org.jpox.store.mapped.expression.StringExpression trimMethod(org.jpox.store.mapped.expression.StringExpression str,
boolean leading,
boolean trailing)
LTRIM(RTRIM(str))
trimMethod in interface org.jpox.store.mapped.expression.ExpressionMethodAdaptertrimMethod in class DatabaseAdapterstr - The first argument to the trim() method.leading - Whether to trim leading spacestrailing - Whether to trim trailing spaces
public org.jpox.store.mapped.expression.NumericExpression indexOfMethod(org.jpox.store.mapped.expression.ScalarExpression source,
org.jpox.store.mapped.expression.ScalarExpression str,
org.jpox.store.mapped.expression.NumericExpression from)
since LOCATE returns the first character as position 1. Similarly the "pos" is based on the first position being 1.LOCATE(str, substr [,pos])-1
indexOfMethod in interface org.jpox.store.mapped.expression.ExpressionMethodAdapterindexOfMethod in class DatabaseAdaptersource - The expression we want to search.str - The argument to the indexOf() method.from - The from position
public boolean supportsNullsKeywordInColumnOptions()
supportsNullsKeywordInColumnOptions in interface RDBMSAdaptersupportsNullsKeywordInColumnOptions in class DatabaseAdapterpublic boolean supportsIdentityFields()
supportsIdentityFields in interface org.jpox.store.mapped.DatastoreAdaptersupportsIdentityFields in class org.jpox.store.mapped.AbstractDatastoreAdapter
public java.lang.String getAutoIncrementStmt(Table table,
java.lang.String columnName)
getAutoIncrementStmt in interface RDBMSAdaptergetAutoIncrementStmt in class DatabaseAdaptertable - Name of the table that the autoincrement is forcolumnName - Name of the column that the autoincrement is for
public java.lang.String getAutoIncrementKeyword()
getAutoIncrementKeyword in interface RDBMSAdaptergetAutoIncrementKeyword in class DatabaseAdapterpublic java.lang.String getContinuationString()
getContinuationString in class DatabaseAdapterpublic boolean supportsSequences()
supportsSequences in interface org.jpox.store.mapped.DatastoreAdaptersupportsSequences in interface RDBMSAdaptersupportsSequences in class org.jpox.store.mapped.AbstractDatastoreAdapter
public java.lang.String getSequenceCreateStmt(java.lang.String sequence_name,
java.lang.String min,
java.lang.String max,
java.lang.String start,
java.lang.String increment,
java.lang.String cache_size)
getSequenceCreateStmt in interface RDBMSAdaptergetSequenceCreateStmt in class DatabaseAdaptersequence_name - Name of the sequencemin - Minimum value for the sequencemax - Maximum value for the sequencestart - Start value for the sequenceincrement - Increment value for the sequencecache_size - Cache size for the sequence
public java.lang.String getSequenceNextStmt(java.lang.String sequence_name)
getSequenceNextStmt in interface RDBMSAdaptergetSequenceNextStmt in class DatabaseAdaptersequence_name - Name of the sequence
public org.jpox.store.mapped.expression.StringExpression toStringExpression(org.jpox.store.mapped.expression.StringLiteral expr)
CAST(999999 AS VARCHAR(32672))
toStringExpression in interface org.jpox.store.mapped.expression.ExpressionConversionAdaptertoStringExpression in class DatabaseAdapterexpr - The NumericExpression
public org.jpox.store.mapped.expression.StringExpression translateMethod(org.jpox.store.mapped.expression.ScalarExpression expr,
org.jpox.store.mapped.expression.ScalarExpression toExpr,
org.jpox.store.mapped.expression.ScalarExpression fromExpr)
fromExpr which
corresponds to toExpr.
translateMethod in interface org.jpox.store.mapped.expression.ExpressionMethodAdaptertranslateMethod in class DatabaseAdapter
public org.jpox.store.mapped.expression.BooleanExpression startsWithMethod(org.jpox.store.mapped.expression.ScalarExpression source,
org.jpox.store.mapped.expression.ScalarExpression str)
startsWithMethod in interface org.jpox.store.mapped.expression.ExpressionMethodAdapterstartsWithMethod in class DatabaseAdaptersource - The expression with the searched stringstr - The expression for the search string
public org.jpox.store.mapped.expression.ScalarExpression concatOperator(org.jpox.store.mapped.expression.ScalarExpression operand1,
org.jpox.store.mapped.expression.ScalarExpression operand2)
If only one operand expression is of type String, then string conversion is performed on the other operand to produce a string at run time. The result is a reference to a String object (newly created, unless the expression is a compile-time constant expression (§15.28))that is the concatenation of the two operand strings. The characters of the left-hand operand precede the characters of the right-hand operand in the newly created string. If an operand of type String is null, then the string "null" is used instead of that operand. "null" is used instead of that operand.
Concatenates two or more character or binary strings, columns, or a combination of strings and column names into one expression (a string operator).
concatOperator in interface org.jpox.store.mapped.expression.ExpressionOperatorAdapterconcatOperator in class DatabaseAdapteroperand1 - the left expressionoperand2 - the right expression
public org.jpox.store.mapped.expression.BooleanExpression endsWithMethod(org.jpox.store.mapped.expression.ScalarExpression leftOperand,
org.jpox.store.mapped.expression.ScalarExpression rightOperand)
endsWithMethod in interface org.jpox.store.mapped.expression.ExpressionMethodAdapterendsWithMethod in class DatabaseAdapterleftOperand - the source stringrightOperand - The string to compare against.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||