|
||||||||||
| 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.DerbyAdapter
public class DerbyAdapter
Provides methods for adapting SQL language elements to the Cloudscape/Derby database.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.jpox.store.rdbms.adapter.DatabaseAdapter |
|---|
DatabaseAdapter.JDBCTypeInfo |
| Field Summary |
|---|
| Fields inherited from class org.jpox.store.mapped.AbstractDatastoreAdapter |
|---|
datastoreMajorVersion, datastoreMinorVersion, datastoreProductName, datastoreProductVersion, datastoreRevisionVersion, identifierQuoteString, LOCALISER_BASE, mappingManager, reservedKeywords |
| Constructor Summary | |
|---|---|
DerbyAdapter(java.sql.DatabaseMetaData metadata)
Constructs an Apache Derby adapter based on the given JDBC metadata. |
|
| Method Summary | |
|---|---|
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. |
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 |
getCatalogName(java.sql.Connection conn)
Accessor for the catalog name. |
java.lang.String |
getDatastoreDateStatement()
Accessor for a statement that will return the statement to use to get the datastore date. |
java.lang.String |
getDropTableStatement(org.jpox.store.mapped.DatastoreContainerObject table)
Returns the appropriate SQL to drop the given table. |
java.lang.String |
getInsertStatementForNoColumns(Table table)
Method to retutn the INSERT statement to use when inserting into a table that has no columns specified. |
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. |
java.lang.String |
getVendorID()
Accessor for the vendor id. |
void |
initialiseDatastore(java.lang.Object conn)
Creates the auxiliary functions/procedures in the schema |
boolean |
isIdentityFieldDataType(java.lang.String columnDef)
Verifies if the given columnDef is auto incremented by the datastore. |
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.BooleanExpression |
matchesMethod(org.jpox.store.mapped.expression.StringExpression text,
org.jpox.store.mapped.expression.StringExpression pattern)
Matches this to the argument expression pattern. |
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. |
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)
Method to add a new type. |
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 |
supportsAnalysisMethods()
Accessor for whether the SQL extensions CUBE, ROLLUP are supported. |
boolean |
supportsDefaultKeywordWithNotNullInColumnOptions()
Whether we support DEFAULT tag together with NOT NULL in CREATE TABLE statements. |
boolean |
supportsDeferredConstraints()
Accessor for whether Cloudscape supports deferred constraints. |
boolean |
supportsIdentityFields()
Whether we support auto-increment fields. |
boolean |
supportsLockWithSelectForUpdate()
Whether this datastore supports SELECT ... |
boolean |
supportsNullsInCandidateKeys()
Whether we support NULLs in candidate keys. |
boolean |
supportsNullsKeywordInColumnOptions()
Whether the database support NULLs in the column options for table creation. |
org.jpox.store.mapped.expression.NumericExpression |
toNumericExpression(org.jpox.store.mapped.expression.CharacterExpression expr)
Returns the appropriate expression for the (int)'A' expression. |
org.jpox.store.mapped.expression.StringExpression |
toStringExpression(org.jpox.store.mapped.expression.NumericExpression expr)
A String conversion that converts a numeric expression to string. |
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, supportsSequences |
| 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, supportsSequences |
| Methods inherited from interface org.jpox.store.mapped.DatastoreAdapter |
|---|
getAdapterTime, getDatastoreMajorVersion, getDatastoreMinorVersion, getMapping, getMapping, getMapping, getMapping, getMappingManager, isBitReallyBoolean, isReservedKeyword, supportsQueryFetchSize |
| Constructor Detail |
|---|
public DerbyAdapter(java.sql.DatabaseMetaData metadata)
metadata - the database metadata.| Method Detail |
|---|
public void initialiseDatastore(java.lang.Object conn)
initialiseDatastore in interface org.jpox.store.mapped.DatastoreAdapterinitialiseDatastore in class DatabaseAdapterconn - the connection to the datastore
public java.lang.String getSchemaName(java.sql.Connection conn)
throws java.sql.SQLException
getSchemaName in interface RDBMSAdaptergetSchemaName in class DatabaseAdapterconn - The Connection to use
java.sql.SQLException
public java.lang.String getCatalogName(java.sql.Connection conn)
throws java.sql.SQLException
getCatalogName in interface RDBMSAdaptergetCatalogName in class DatabaseAdapterconn - The Connection to use
java.sql.SQLExceptionpublic java.lang.String getVendorID()
getVendorID in interface org.jpox.store.mapped.DatastoreAdaptergetVendorID in class org.jpox.store.mapped.AbstractDatastoreAdapterpublic TypeInfo newTypeInfo(java.sql.ResultSet rs)
newTypeInfo in class DatabaseAdapterrs - ResultSet containing the type info.
public boolean supportsDeferredConstraints()
supportsDeferredConstraints in interface RDBMSAdaptersupportsDeferredConstraints in class DatabaseAdapter
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 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 boolean supportsNullsKeywordInColumnOptions()
supportsNullsKeywordInColumnOptions in interface RDBMSAdaptersupportsNullsKeywordInColumnOptions in class DatabaseAdapterpublic int getMaxConstraintNameLength()
getMaxConstraintNameLength in interface RDBMSAdaptergetMaxConstraintNameLength in class DatabaseAdapterpublic int getMaxIndexNameLength()
getMaxIndexNameLength in interface RDBMSAdaptergetMaxIndexNameLength in class DatabaseAdapterpublic 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.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 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 boolean isIdentityFieldDataType(java.lang.String columnDef)
columnDef is auto incremented by the datastore.
isIdentityFieldDataType in interface org.jpox.store.mapped.DatastoreAdapterisIdentityFieldDataType in class DatabaseAdaptercolumnDef - the datastore type name
columnDef has values auto incremented by the datastorepublic boolean supportsIdentityFields()
supportsIdentityFields in interface org.jpox.store.mapped.DatastoreAdaptersupportsIdentityFields in class org.jpox.store.mapped.AbstractDatastoreAdapterpublic java.lang.String getInsertStatementForNoColumns(Table table)
getInsertStatementForNoColumns in interface RDBMSAdaptergetInsertStatementForNoColumns in class DatabaseAdaptertable - The table
public boolean supportsDefaultKeywordWithNotNullInColumnOptions()
CREATE TABLE X ( MEMORY_SIZE BIGINT DEFAULT 0 NOT NULL )Some databases only support DEFAULT {ConstantExpression | NULL}
supportsDefaultKeywordWithNotNullInColumnOptions in interface RDBMSAdaptersupportsDefaultKeywordWithNotNullInColumnOptions in class DatabaseAdapterpublic boolean supportsLockWithSelectForUpdate()
supportsLockWithSelectForUpdate in interface RDBMSAdaptersupportsLockWithSelectForUpdate in class DatabaseAdapterpublic boolean supportsNullsInCandidateKeys()
supportsNullsInCandidateKeys in interface RDBMSAdaptersupportsNullsInCandidateKeys in class DatabaseAdapterpublic boolean supportsAnalysisMethods()
supportsAnalysisMethods in interface RDBMSAdaptersupportsAnalysisMethods in class DatabaseAdapter
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 org.jpox.store.mapped.expression.NumericExpression toNumericExpression(org.jpox.store.mapped.expression.CharacterExpression expr)
(int)'A' expression.
In SQL, it should compile something like:
ASCII('A')
toNumericExpression in interface org.jpox.store.mapped.expression.ExpressionConversionAdaptertoNumericExpression in class DatabaseAdapterexpr - The CharacterExpression
public org.jpox.store.mapped.expression.StringExpression toStringExpression(org.jpox.store.mapped.expression.NumericExpression expr)
CAST(999999 AS VARCHAR(4000))
toStringExpression in interface org.jpox.store.mapped.expression.ExpressionConversionAdaptertoStringExpression in class DatabaseAdapterexpr - The NumericExpression
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 matchesMethod(org.jpox.store.mapped.expression.StringExpression text,
org.jpox.store.mapped.expression.StringExpression pattern)
matchesMethod in interface org.jpox.store.mapped.expression.ExpressionMethodAdaptermatchesMethod in class DatabaseAdaptertext - The argument to the length() method.pattern - The literal expression with the pattern.
public java.lang.String getDatastoreDateStatement()
getDatastoreDateStatement in interface RDBMSAdaptergetDatastoreDateStatement in class DatabaseAdapter
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||