|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.datanucleus.store.rdbms.adapter.DatabaseAdapter
org.datanucleus.store.rdbms.adapter.DerbyAdapter
public class DerbyAdapter
Provides methods for adapting SQL language elements to the Cloudscape/Derby database.
| Field Summary |
|---|
| Fields inherited from class org.datanucleus.store.rdbms.adapter.DatabaseAdapter |
|---|
catalogSeparator, datastoreMajorVersion, datastoreMinorVersion, datastoreProductName, datastoreProductVersion, datastoreRevisionVersion, driverMajorVersion, driverMinorVersion, driverName, driverVersion, identifierQuoteString, LOCALISER, LOCALISER_BASE, maxColumnNameLength, maxConstraintNameLength, maxIndexNameLength, maxTableNameLength, properties, reservedKeywords, supportedOptions |
| Fields inherited from interface org.datanucleus.store.mapped.DatastoreAdapter |
|---|
ANALYSIS_METHODS, BIT_IS_REALLY_BOOLEAN, BOOLEAN_COMPARISON, CATALOGS_IN_TABLE_DEFINITIONS, ESCAPE_EXPRESSION_IN_LIKE_PREDICATE, IDENTIFIERS_LOWERCASE, IDENTIFIERS_LOWERCASE_QUOTED, IDENTIFIERS_MIXEDCASE, IDENTIFIERS_MIXEDCASE_QUOTED, IDENTIFIERS_MIXEDCASE_QUOTED_SENSITIVE, IDENTIFIERS_MIXEDCASE_SENSITIVE, IDENTIFIERS_UPPERCASE, IDENTIFIERS_UPPERCASE_QUOTED, IDENTITY_COLUMNS, PROJECTION_IN_TABLE_REFERENCE_JOINS, SCHEMAS_IN_TABLE_DEFINITIONS, SEQUENCES |
| Constructor Summary | |
|---|---|
DerbyAdapter(java.sql.DatabaseMetaData metadata)
Constructs an Apache Derby adapter based on the given JDBC metadata. |
|
| Method Summary | |
|---|---|
org.datanucleus.store.mapped.expression.ScalarExpression |
concatOperator(org.datanucleus.store.mapped.expression.ScalarExpression operand1,
org.datanucleus.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.datanucleus.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. |
java.lang.String |
getNumericConversionFunction()
Accessor for the function to use for converting to numeric. |
org.datanucleus.store.mapped.expression.NumericExpression |
getNumericExpressionForMethod(java.lang.String method,
org.datanucleus.store.mapped.expression.ScalarExpression expr)
Accessor for a numeric expression to represent the method call, with passed argument. |
java.lang.String |
getSchemaName(java.sql.Connection conn)
Accessor for the schema name. |
java.lang.String |
getSelectForUpdateText()
Method returning the text to append to the end of the SELECT to perform the equivalent of "SELECT ... |
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.datanucleus.store.mapped.expression.BooleanExpression |
matchesMethod(org.datanucleus.store.mapped.expression.StringExpression text,
org.datanucleus.store.mapped.expression.StringExpression pattern)
Matches this to the argument expression pattern. |
org.datanucleus.store.mapped.expression.NumericExpression |
modOperator(org.datanucleus.store.mapped.expression.ScalarExpression operand1,
org.datanucleus.store.mapped.expression.ScalarExpression operand2)
Method to generate a modulus expression. |
SQLTypeInfo |
newSQLTypeInfo(java.sql.ResultSet rs)
Create a new SQL type info from the current row of the passed ResultSet. |
org.datanucleus.store.mapped.expression.LogicSetExpression |
newTableExpression(org.datanucleus.store.mapped.expression.QueryExpression qs,
org.datanucleus.store.mapped.DatastoreContainerObject table,
org.datanucleus.store.mapped.DatastoreIdentifier rangeVar)
Returns a new TableExpression object appropriate for this DBMS. |
org.datanucleus.store.mapped.expression.BooleanExpression |
startsWithMethod(org.datanucleus.store.mapped.expression.ScalarExpression source,
org.datanucleus.store.mapped.expression.ScalarExpression str)
Method to handle the starts with operation. |
org.datanucleus.store.mapped.expression.StringExpression |
substringMethod(org.datanucleus.store.mapped.expression.StringExpression str,
org.datanucleus.store.mapped.expression.NumericExpression begin)
Returns the appropriate SQL expression for the JDOQL String.substring(str,begin) method. |
org.datanucleus.store.mapped.expression.StringExpression |
substringMethod(org.datanucleus.store.mapped.expression.StringExpression str,
org.datanucleus.store.mapped.expression.NumericExpression begin,
org.datanucleus.store.mapped.expression.NumericExpression end)
Returns the appropriate SQL expression for the JDOQL String.substring(str,begin,end) method. |
org.datanucleus.store.mapped.expression.NumericExpression |
toNumericExpression(org.datanucleus.store.mapped.expression.CharacterExpression expr)
Returns the appropriate expression for the (int)'A' expression. |
org.datanucleus.store.mapped.expression.StringExpression |
toStringExpression(org.datanucleus.store.mapped.expression.NumericExpression expr)
A String conversion that converts a numeric expression to string. |
org.datanucleus.store.mapped.expression.StringExpression |
trimMethod(org.datanucleus.store.mapped.expression.StringExpression str,
boolean leading,
boolean trailing)
Returns the appropriate SQL expression for the java query "trim" method. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 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.datanucleus.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.datanucleus.store.mapped.DatastoreAdaptergetVendorID in class DatabaseAdapterpublic SQLTypeInfo newSQLTypeInfo(java.sql.ResultSet rs)
RDBMSAdapter
newSQLTypeInfo in interface RDBMSAdapternewSQLTypeInfo in class DatabaseAdapterrs - ResultSet
public java.lang.String getDropTableStatement(org.datanucleus.store.mapped.DatastoreContainerObject table)
DatabaseAdapter
DROP TABLE FOO CASCADE
getDropTableStatement in interface RDBMSAdaptergetDropTableStatement in class DatabaseAdaptertable - The table to drop.
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.datanucleus.store.mapped.DatastoreAdapterisIdentityFieldDataType in class DatabaseAdaptercolumnDef - the datastore type name
columnDef has values auto incremented by the datastorepublic java.lang.String getInsertStatementForNoColumns(Table table)
getInsertStatementForNoColumns in interface RDBMSAdaptergetInsertStatementForNoColumns in class DatabaseAdaptertable - The table
public java.lang.String getDatastoreDateStatement()
getDatastoreDateStatement in interface RDBMSAdaptergetDatastoreDateStatement in class DatabaseAdapterpublic java.lang.String getSelectForUpdateText()
getSelectForUpdateText in class DatabaseAdapter
public org.datanucleus.store.mapped.expression.LogicSetExpression newTableExpression(org.datanucleus.store.mapped.expression.QueryExpression qs,
org.datanucleus.store.mapped.DatastoreContainerObject table,
org.datanucleus.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.datanucleus.store.mapped.expression.NumericExpression modOperator(org.datanucleus.store.mapped.expression.ScalarExpression operand1,
org.datanucleus.store.mapped.expression.ScalarExpression operand2)
modOperator in interface org.datanucleus.store.mapped.DatastoreAdaptermodOperator in interface org.datanucleus.store.mapped.expression.ExpressionOperatorAdaptermodOperator in class DatabaseAdapteroperand1 - the left expressionoperand2 - the right expression
public java.lang.String getNumericConversionFunction()
getNumericConversionFunction in class DatabaseAdapterpublic org.datanucleus.store.mapped.expression.NumericExpression toNumericExpression(org.datanucleus.store.mapped.expression.CharacterExpression expr)
(int)'A' expression.
In SQL, it should compile something like:
ASCII('A')
toNumericExpression in interface org.datanucleus.store.mapped.expression.ExpressionConversionAdaptertoNumericExpression in class DatabaseAdapterexpr - The CharacterExpression
public org.datanucleus.store.mapped.expression.StringExpression toStringExpression(org.datanucleus.store.mapped.expression.NumericExpression expr)
CAST(999999 AS VARCHAR(4000))
toStringExpression in interface org.datanucleus.store.mapped.expression.ExpressionConversionAdaptertoStringExpression in class DatabaseAdapterexpr - The NumericExpression
public org.datanucleus.store.mapped.expression.ScalarExpression concatOperator(org.datanucleus.store.mapped.expression.ScalarExpression operand1,
org.datanucleus.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.datanucleus.store.mapped.expression.ExpressionOperatorAdapterconcatOperator in class DatabaseAdapteroperand1 - the left expressionoperand2 - the right expression
public org.datanucleus.store.mapped.expression.BooleanExpression matchesMethod(org.datanucleus.store.mapped.expression.StringExpression text,
org.datanucleus.store.mapped.expression.StringExpression pattern)
matchesMethod in interface org.datanucleus.store.mapped.expression.ExpressionMethodAdaptermatchesMethod in class DatabaseAdaptertext - The argument to the length() method.pattern - The literal expression with the pattern.
public org.datanucleus.store.mapped.expression.BooleanExpression startsWithMethod(org.datanucleus.store.mapped.expression.ScalarExpression source,
org.datanucleus.store.mapped.expression.ScalarExpression str)
startsWithMethod in interface org.datanucleus.store.mapped.expression.ExpressionMethodAdapterstartsWithMethod in class DatabaseAdaptersource - The expression with the searched stringstr - The expression for the search string
public org.datanucleus.store.mapped.expression.NumericExpression getNumericExpressionForMethod(java.lang.String method,
org.datanucleus.store.mapped.expression.ScalarExpression expr)
getNumericExpressionForMethod in interface org.datanucleus.store.mapped.DatastoreAdaptergetNumericExpressionForMethod in class DatabaseAdaptermethod - The method (case insensitive)expr - The argument to the method
public org.datanucleus.store.mapped.expression.StringExpression substringMethod(org.datanucleus.store.mapped.expression.StringExpression str,
org.datanucleus.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.datanucleus.store.mapped.expression.ExpressionMethodAdaptersubstringMethod in class DatabaseAdapterstr - The first argument to the substring() method.begin - The second argument to the substring() method.
public org.datanucleus.store.mapped.expression.StringExpression substringMethod(org.datanucleus.store.mapped.expression.StringExpression str,
org.datanucleus.store.mapped.expression.NumericExpression begin,
org.datanucleus.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.datanucleus.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.datanucleus.store.mapped.expression.StringExpression trimMethod(org.datanucleus.store.mapped.expression.StringExpression str,
boolean leading,
boolean trailing)
LTRIM(RTRIM(str))
trimMethod in interface org.datanucleus.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
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||