|
Project Wonder 5.0 | |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecter.extensions.jdbc.ERXSQLHelper
public class ERXSQLHelper
ERXSQLHelper provides support for additional database-vender-specific operations that JDBCPlugIn does not cover. By default this will try to load the class er.extensions.ERXSQLHelper$DatabaseVendorSQLHelper. For instance, er.extensions.ERXSQLHelper$FrontBaseSQLHelper. If you want to change the helper that is used for a particular database vendor, then override FrontBase.SQLHelper, Oracle.SQLHelper, etc. Case is important (because the vendor name is prepended to the class name), and should match what your JDBCPlugIn.databaseProductName() returns.
Properties | |
databaseProductName.SQLHelper | the class name of the SQLHelper for
the database product name |
Nested Class Summary | |
---|---|
static class |
ERXSQLHelper.ColumnIndex
IndexLimit represents the reference to a column for use in an index definition along with an optional limit. |
static interface |
ERXSQLHelper.CustomTypes
custom JDBC types |
static class |
ERXSQLHelper.DerbySQLHelper
|
static class |
ERXSQLHelper.EROracleSQLHelper
|
static class |
ERXSQLHelper.FrontBaseSQLHelper
|
static class |
ERXSQLHelper.H2SQLHelper
|
static class |
ERXSQLHelper.MicrosoftSQLHelper
|
static class |
ERXSQLHelper.MySQLSQLHelper
|
static class |
ERXSQLHelper.NoSQLHelper
|
static class |
ERXSQLHelper.OpenBaseSQLHelper
|
static class |
ERXSQLHelper.OracleSQLHelper
|
static class |
ERXSQLHelper.PostgresqlSQLHelper
|
Field Summary | |
---|---|
static org.apache.log4j.Logger |
log
logging support |
Constructor Summary | |
---|---|
ERXSQLHelper()
|
Method Summary | |
---|---|
int |
_groupByOrHavingIndex(com.webobjects.eoaccess.EOSQLExpression expression)
Returns the index in the expression's statement where group by and having clauses should be inserted. |
int |
_orderByIndex(com.webobjects.eoaccess.EOSQLExpression expression)
Returns the index in the expression's statement where order by clauses should be inserted. |
void |
addGroupByClauseToExpression(com.webobjects.eocontrol.EOEditingContext editingContext,
com.webobjects.eocontrol.EOFetchSpecification fetchSpec,
com.webobjects.eoaccess.EOSQLExpression expression)
Adds a group-by clause to the given SQL Expression based on the list of attributes defined in the given fetch spec. |
void |
addGroupByClauseToExpression(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOAttribute> attributes,
com.webobjects.eoaccess.EOSQLExpression expression)
Adds a group-by clause to the given SQL Expression based on the given list of attributes. |
void |
addHavingCountClauseToExpression(com.webobjects.foundation.NSSelector selector,
int value,
com.webobjects.eoaccess.EOSQLExpression expression)
Adds a " having count(*) > x" clause to a group by expression. |
void |
appendItemToListString(java.lang.String itemString,
java.lang.StringBuffer listString)
Adds itemString to a comma-separated list. |
com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOAttribute> |
attributesToFetchForEntity(com.webobjects.eocontrol.EOFetchSpecification fetchSpec,
com.webobjects.eoaccess.EOEntity entity)
Returns the last of attributes to fetch for a fetch spec. |
protected boolean |
canReliablyPerformDistinctWithSortOrderings()
Returns whether or not this database can always perform the a distinct operation when sort orderings are applied. |
protected ERXSQLHelper.ColumnIndex[] |
columnIndexesFromColumnNames(java.lang.String... columnNames)
|
com.webobjects.foundation.NSMutableArray<java.lang.String> |
columnNamesFromColumnIndexes(ERXSQLHelper.ColumnIndex... columnIndexes)
|
protected char |
commandSeparatorChar()
This is totally cheating ... |
protected java.lang.String |
commandSeparatorString()
|
protected java.util.regex.Pattern |
commentPattern()
Returns a pattern than matches only blank lines. |
java.lang.String |
createDependentSchemaSQLForEntities(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities,
com.webobjects.eoaccess.EOAdaptor adaptor)
Generates table create statements for a set of entities, then finds all the entities that those entities depend on (in other models) and generates foreign key statements for those, so you can generate sql for cross-model. |
java.lang.String |
createIndexSQLForEntities(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities)
|
java.lang.String |
createIndexSQLForEntities(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities,
com.webobjects.foundation.NSArray<java.lang.String> externalTypesToIgnore)
|
java.lang.String |
createSchemaSQLForEntitiesInDatabaseContext(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities,
com.webobjects.eoaccess.EODatabaseContext databaseContext,
boolean create,
boolean drop)
creates SQL to create tables for the specified Entities. |
java.lang.String |
createSchemaSQLForEntitiesInModel(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities,
com.webobjects.eoaccess.EOModel model)
Creates SQL to create tables for the specified Entities. |
java.lang.String |
createSchemaSQLForEntitiesInModelAndOptions(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities,
com.webobjects.eoaccess.EOModel model,
com.webobjects.foundation.NSDictionary optionsCreate)
creates SQL to create tables for the specified Entities. |
java.lang.String |
createSchemaSQLForEntitiesInModelWithName(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities,
java.lang.String modelName)
creates SQL to create tables for the specified Entities. |
java.lang.String |
createSchemaSQLForEntitiesInModelWithNameAndOptions(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities,
java.lang.String modelName,
com.webobjects.foundation.NSDictionary optionsCreate)
creates SQL to create tables for the specified Entities. |
java.lang.String |
createSchemaSQLForEntitiesWithOptions(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities,
com.webobjects.eoaccess.EOAdaptor adaptor,
com.webobjects.foundation.NSDictionary<java.lang.String,java.lang.String> optionsDictionary)
Creates the schema sql for a set of entities. |
java.lang.String |
createSchemaSQLForEntitiesWithOptions(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities,
com.webobjects.eoaccess.EODatabaseContext databaseContext,
com.webobjects.foundation.NSDictionary<java.lang.String,java.lang.String> optionsCreate)
Creates the schema sql for a set of entities. |
java.lang.String |
customQueryExpressionHintAsString(java.lang.Object hint)
Returns the custom query expression hint as a String. |
com.webobjects.foundation.NSMutableDictionary<java.lang.String,java.lang.String> |
defaultOptionDictionary(boolean create,
boolean drop)
Creates an option dictionary to use with the other methods |
java.lang.String |
externalTypeForJDBCType(com.webobjects.jdbcadaptor.JDBCAdaptor adaptor,
int jdbcType)
JDBCAdaptor.externalTypeForJDBCType just returns the first type it finds instead of trying to find a best match. |
protected java.lang.String |
formatValueForAttribute(com.webobjects.eoaccess.EOSQLExpression expression,
java.lang.Object value,
com.webobjects.eoaccess.EOAttribute attribute,
java.lang.String key)
|
java.lang.Number |
getNextValFromSequenceNamed(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String modelName,
java.lang.String sequenceName)
Convenience method to get the next unique ID from a sequence. |
boolean |
handleDatabaseException(com.webobjects.eoaccess.EODatabaseContext databaseContext,
java.lang.Throwable throwable)
Returns true if the SQL helper can handle the exception. |
int |
jdbcTypeForCustomType(int jdbcType)
Returns the JDBC type to use for a given ERXSQLHelper custom type |
java.lang.String |
limitExpressionForSQL(com.webobjects.eoaccess.EOSQLExpression expression,
com.webobjects.eocontrol.EOFetchSpecification fetchSpecification,
java.lang.String sql,
long start,
long end)
|
protected int |
maximumElementPerInClause(com.webobjects.eoaccess.EOEntity entity)
The database specific limit, or or most efficient number, of elements in an IN clause in a statement. |
java.lang.String |
migrationTableName()
Returns the name of the table to use for database migrations. |
static ERXSQLHelper |
newSQLHelper(com.webobjects.eoaccess.EOAdaptor adaptor)
|
static ERXSQLHelper |
newSQLHelper(com.webobjects.eoaccess.EOAdaptorChannel adaptorChannel)
|
static ERXSQLHelper |
newSQLHelper(com.webobjects.eoaccess.EODatabaseChannel databaseChannel)
|
static ERXSQLHelper |
newSQLHelper(com.webobjects.eoaccess.EODatabaseContext databaseContext)
|
static ERXSQLHelper |
newSQLHelper(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eoaccess.EOEntity entity)
|
static ERXSQLHelper |
newSQLHelper(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eoaccess.EOModel model)
|
static ERXSQLHelper |
newSQLHelper(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String modelName)
|
static ERXSQLHelper |
newSQLHelper(com.webobjects.eoaccess.EOEntity entity)
|
static ERXSQLHelper |
newSQLHelper(com.webobjects.eoaccess.EOModel model)
|
static ERXSQLHelper |
newSQLHelper(com.webobjects.eoaccess.EOSQLExpression expression)
|
static ERXSQLHelper |
newSQLHelper(com.webobjects.jdbcadaptor.JDBCAdaptor adaptor)
|
static ERXSQLHelper |
newSQLHelper(com.webobjects.jdbcadaptor.JDBCPlugIn plugin)
|
static ERXSQLHelper |
newSQLHelper(java.lang.String databaseProductName)
|
void |
prepareConnectionForSchemaChange(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eoaccess.EOModel model)
|
java.lang.String |
quoteColumnName(java.lang.String columnName)
|
java.lang.String |
readFormatForAggregateFunction(java.lang.String functionName,
java.lang.String columnName,
java.lang.String aggregateName)
Returns the attribute read format for an aggregate function for a particular column with a name. |
boolean |
reassignExternalTypeForValueTypeOverride(com.webobjects.eoaccess.EOAttribute attribute)
|
void |
removeSelectFromExpression(com.webobjects.eoaccess.EOAttribute attribute,
com.webobjects.eoaccess.EOSQLExpression sqlExpression)
Removes an attribute from the select list. |
void |
restoreConnectionSettingsAfterSchemaChange(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eoaccess.EOModel model)
|
int |
rowCountForFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eocontrol.EOFetchSpecification spec)
Returns the number of rows the supplied EOFetchSpecification would return. |
boolean |
shouldExecute(java.lang.String sql)
|
boolean |
shouldPerformDistinctInMemory(com.webobjects.eocontrol.EOFetchSpecification fetchSpecification)
Returns whether or not this database should perform the distinct portion of the given fetch spec in memory or not. |
com.webobjects.foundation.NSArray<java.lang.String> |
splitSQLStatements(java.lang.String sql)
Splits semicolon-separate sql statements into an array of strings |
com.webobjects.foundation.NSArray<java.lang.String> |
splitSQLStatementsFromFile(java.io.File f)
Splits the SQL statements from the given file. |
com.webobjects.foundation.NSArray<java.lang.String> |
splitSQLStatementsFromInputStream(java.io.InputStream is)
Splits the SQL statements from the given input stream |
com.webobjects.eoaccess.EOSQLExpression |
sqlExpressionForFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eocontrol.EOFetchSpecification spec,
long start,
long end)
Creates the SQL which is used by the provided EOFetchSpecification, limited by the given range. |
com.webobjects.eoaccess.EOSQLExpression |
sqlExpressionForFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eocontrol.EOFetchSpecification spec,
long start,
long end,
com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOAttribute> attributes)
Creates the SQL which is used by the provided EOFetchSpecification, limited by the given range. |
java.lang.String |
sqlForCreateIndex(java.lang.String indexName,
java.lang.String tableName,
ERXSQLHelper.ColumnIndex... columnIndexes)
Returns the SQL expression for creating an index on the given set of columns |
java.lang.String |
sqlForCreateIndex(java.lang.String indexName,
java.lang.String tableName,
java.lang.String... columnNames)
Returns the SQL expression for creating an index on the given set of columns |
java.lang.String |
sqlForCreateUniqueIndex(java.lang.String indexName,
java.lang.String tableName,
ERXSQLHelper.ColumnIndex... columnIndexes)
Returns the SQL expression for creating a unique index on the given set of columns |
java.lang.String |
sqlForCreateUniqueIndex(java.lang.String indexName,
java.lang.String tableName,
java.lang.String... columnNames)
Returns the SQL expression for creating a unique index on the given set of columns |
java.lang.String |
sqlForFullTextQuery(ERXFullTextQualifier qualifier,
com.webobjects.eoaccess.EOSQLExpression expression)
Returns the SQL expression for a full text search query. |
protected java.lang.String |
sqlForGetNextValFromSequencedNamed(java.lang.String sequenceName)
Returns the SQL required to select the next value from the given sequence. |
java.lang.String |
sqlForRegularExpressionQuery(java.lang.String key,
java.lang.String value)
Returns the SQL expression for a regular expression query. |
protected java.lang.String |
sqlForSubquery(java.lang.String subquery,
java.lang.String alias)
Returns the syntax for using the given query as an aliased subquery in a from-clause. |
java.lang.String |
sqlWhereClauseStringForKey(com.webobjects.eoaccess.EOSQLExpression e,
java.lang.String key,
com.webobjects.foundation.NSArray valueArray)
Creates a where clause string " someKey IN ( someValue1,...)". |
int |
varcharLargeColumnWidth()
Returns the width that should be used for a varcharLarge column in migrations. |
int |
varcharLargeJDBCType()
Returns the JDBCType that should be used for a varcharLarge column in migrations. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final org.apache.log4j.Logger log
Constructor Detail |
---|
public ERXSQLHelper()
Method Detail |
---|
public void prepareConnectionForSchemaChange(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eoaccess.EOModel model)
public void restoreConnectionSettingsAfterSchemaChange(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eoaccess.EOModel model)
public boolean shouldExecute(java.lang.String sql)
public java.lang.String createSchemaSQLForEntitiesInModelWithNameAndOptions(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities, java.lang.String modelName, com.webobjects.foundation.NSDictionary optionsCreate)
entities
- a NSArray containing the entities for which create table
statements should be generated or null if all entitites in the
model should be used.modelName
- the name of the EOModeloptionsCreate
-
String
containing SQL statements to create
tablespublic java.lang.String createSchemaSQLForEntitiesInModelAndOptions(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities, com.webobjects.eoaccess.EOModel model, com.webobjects.foundation.NSDictionary optionsCreate)
entities
- a NSArray containing the entities for which create table
statements should be generated or null if all entitites in the
model should be used.model
- the EOModeloptionsCreate
- a NSDictionary containing the different options
String
containing SQL statements to create
tablespublic java.lang.String createSchemaSQLForEntitiesWithOptions(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities, com.webobjects.eoaccess.EODatabaseContext databaseContext, com.webobjects.foundation.NSDictionary<java.lang.String,java.lang.String> optionsCreate)
entities
- the entities to create sql fordatabaseContext
- the database context to useoptionsCreate
- the options (@see
createSchemaSQLForEntitiesInModelWithNameAndOptions)
public java.lang.String createDependentSchemaSQLForEntities(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities, com.webobjects.eoaccess.EOAdaptor adaptor)
entities
- the entities to generate foradaptor
- the adaptor to use
public java.lang.String createSchemaSQLForEntitiesWithOptions(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities, com.webobjects.eoaccess.EOAdaptor adaptor, com.webobjects.foundation.NSDictionary<java.lang.String,java.lang.String> optionsDictionary)
entities
- the entities to create sql foradaptor
- the adaptor to useoptionsDictionary
- the options (@see
createSchemaSQLForEntitiesInModelWithNameAndOptions)
public java.lang.String createSchemaSQLForEntitiesInModelWithName(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities, java.lang.String modelName)
entities
- a NSArray containing the entities for which create table
statements should be generated or null if all entitites in the
model should be used.modelName
- the name of the EOModel
String
containing SQL statements to create
tablespublic java.lang.String createSchemaSQLForEntitiesInModel(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities, com.webobjects.eoaccess.EOModel model)
entities
- a NSArray containing the entities for which create table
statements should be generated or null if all entitites in the
model should be used.model
- the EOModel
String
containing SQL statements to create
tablespublic com.webobjects.foundation.NSMutableDictionary<java.lang.String,java.lang.String> defaultOptionDictionary(boolean create, boolean drop)
create
- add create statementsdrop
- add drop statements YES
and NO
String
containing SQL statements to create
tablespublic java.lang.String createSchemaSQLForEntitiesInDatabaseContext(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities, com.webobjects.eoaccess.EODatabaseContext databaseContext, boolean create, boolean drop)
entities
- a NSArray containing the entities for which create table
statements should be generated or null if all entitites in the
model should be used.databaseContext
- the databaseContextcreate
- if true, tables and keys are createddrop
- if true, tables and keys are dropped
String
containing SQL statements to create
tablespublic java.lang.String createIndexSQLForEntities(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities)
public java.lang.String createIndexSQLForEntities(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entities, com.webobjects.foundation.NSArray<java.lang.String> externalTypesToIgnore)
public com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOAttribute> attributesToFetchForEntity(com.webobjects.eocontrol.EOFetchSpecification fetchSpec, com.webobjects.eoaccess.EOEntity entity)
fetchSpec
- the fetch specentity
- the entity (which should match fetchSpec.entityName())
public com.webobjects.eoaccess.EOSQLExpression sqlExpressionForFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eocontrol.EOFetchSpecification spec, long start, long end)
ec
- the EOEditingContextspec
- the EOFetchSpecification in questionstart
- start of rows to fetchend
- end of rows to fetch (-1 if not used)
public java.lang.String customQueryExpressionHintAsString(java.lang.Object hint)
hint
- the hint to convert to a String
public com.webobjects.eoaccess.EOSQLExpression sqlExpressionForFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eocontrol.EOFetchSpecification spec, long start, long end, com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOAttribute> attributes)
ec
- the EOEditingContextspec
- the EOFetchSpecification in questionstart
- start of rows to fetchend
- end of rows to fetch (-1 if not used)attributes
- the attributes to fetch from the given entity
public java.lang.String limitExpressionForSQL(com.webobjects.eoaccess.EOSQLExpression expression, com.webobjects.eocontrol.EOFetchSpecification fetchSpecification, java.lang.String sql, long start, long end)
public void removeSelectFromExpression(com.webobjects.eoaccess.EOAttribute attribute, com.webobjects.eoaccess.EOSQLExpression sqlExpression)
attribute
- the attribute to remove from the select listsqlExpression
- the expression to remove frompublic java.lang.String readFormatForAggregateFunction(java.lang.String functionName, java.lang.String columnName, java.lang.String aggregateName)
functionName
- the aggregate function to generatecolumnName
- the column name to aggregate onaggregateName
- the name to assign to the aggregate result
public void appendItemToListString(java.lang.String itemString, java.lang.StringBuffer listString)
itemString
- the item to appendlistString
- the list bufferpublic void addGroupByClauseToExpression(com.webobjects.eocontrol.EOEditingContext editingContext, com.webobjects.eocontrol.EOFetchSpecification fetchSpec, com.webobjects.eoaccess.EOSQLExpression expression)
editingContext
- the editing context to lookup entities withfetchSpec
- the fetch spec to retrieve attributes fromexpression
- the sql expression to add a "group by" clause topublic int _orderByIndex(com.webobjects.eoaccess.EOSQLExpression expression)
expression
- the expression to look into
public int _groupByOrHavingIndex(com.webobjects.eoaccess.EOSQLExpression expression)
expression
- the expression to look into
public void addGroupByClauseToExpression(com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOAttribute> attributes, com.webobjects.eoaccess.EOSQLExpression expression)
attributes
- the list of attributes to group byexpression
- the sql expression to add a "group by" clause topublic void addHavingCountClauseToExpression(com.webobjects.foundation.NSSelector selector, int value, com.webobjects.eoaccess.EOSQLExpression expression)
selector
- the comparison selector -- just like EOKeyValueQualifiervalue
- the value to compare againstexpression
- the expression to modifypublic java.lang.String sqlForRegularExpressionQuery(java.lang.String key, java.lang.String value)
key
- value
-
public java.lang.String sqlForFullTextQuery(ERXFullTextQualifier qualifier, com.webobjects.eoaccess.EOSQLExpression expression)
qualifier
- the full text qualifierexpression
- the EOSQLExpression context
public java.lang.String sqlForCreateUniqueIndex(java.lang.String indexName, java.lang.String tableName, java.lang.String... columnNames)
indexName
- the name of the index to createtableName
- the name of the containing tablecolumnNames
- the list of column names to index on
public java.lang.String sqlForCreateUniqueIndex(java.lang.String indexName, java.lang.String tableName, ERXSQLHelper.ColumnIndex... columnIndexes)
indexName
- the name of the index to createtableName
- the name of the containing tablecolumnIndexes
- the list of columns to index on
public java.lang.String sqlForCreateIndex(java.lang.String indexName, java.lang.String tableName, java.lang.String... columnNames)
indexName
- the name of the index to createtableName
- the name of the containing tablecolumnNames
- the list of column names to index on
protected ERXSQLHelper.ColumnIndex[] columnIndexesFromColumnNames(java.lang.String... columnNames)
public java.lang.String sqlForCreateIndex(java.lang.String indexName, java.lang.String tableName, ERXSQLHelper.ColumnIndex... columnIndexes)
indexName
- the name of the index to createtableName
- the name of the containing tablecolumnIndexes
- the list of columns to index on
public int varcharLargeJDBCType()
public int varcharLargeColumnWidth()
public java.lang.String migrationTableName()
public int jdbcTypeForCustomType(int jdbcType)
jdbcType
- the ERXSQLHelper custom type
public java.lang.String externalTypeForJDBCType(com.webobjects.jdbcadaptor.JDBCAdaptor adaptor, int jdbcType)
adaptor
- the adaptor to retrieve an external type forjdbcType
- the JDBC type number
public int rowCountForFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eocontrol.EOFetchSpecification spec)
ec
- the EOEditingContextspec
- the EOFetchSpecification in question
protected java.lang.String sqlForSubquery(java.lang.String subquery, java.lang.String alias)
subquery
- the subquery to wrapalias
- the alias to use
protected java.lang.String sqlForGetNextValFromSequencedNamed(java.lang.String sequenceName)
sequenceName
- the name of the sequence
public java.lang.Number getNextValFromSequenceNamed(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String modelName, java.lang.String sequenceName)
ec
- editing contextmodelName
- name of the model which connects to the database that has the
sequence in itsequenceName
- name of the sequence
public java.lang.String sqlWhereClauseStringForKey(com.webobjects.eoaccess.EOSQLExpression e, java.lang.String key, com.webobjects.foundation.NSArray valueArray)
e
- the SQL expressionkey
- the name of the keyvalueArray
- an array of values to generate an "in" clause for
protected int maximumElementPerInClause(com.webobjects.eoaccess.EOEntity entity)
entity
- EOEntity that can be used to fine-tune the result
protected java.lang.String formatValueForAttribute(com.webobjects.eoaccess.EOSQLExpression expression, java.lang.Object value, com.webobjects.eoaccess.EOAttribute attribute, java.lang.String key)
public com.webobjects.foundation.NSArray<java.lang.String> splitSQLStatements(java.lang.String sql)
sql
- a multi-line sql statement
public com.webobjects.foundation.NSArray<java.lang.String> splitSQLStatementsFromInputStream(java.io.InputStream is) throws java.io.IOException
is
- the input stream to read from
java.io.IOException
- if there is a problem reading the streampublic com.webobjects.foundation.NSArray<java.lang.String> splitSQLStatementsFromFile(java.io.File f) throws java.io.IOException
f
- the file to read from
java.io.IOException
- if there is a problem reading the streamprotected char commandSeparatorChar()
protected java.lang.String commandSeparatorString()
protected java.util.regex.Pattern commentPattern()
public com.webobjects.foundation.NSMutableArray<java.lang.String> columnNamesFromColumnIndexes(ERXSQLHelper.ColumnIndex... columnIndexes)
public boolean reassignExternalTypeForValueTypeOverride(com.webobjects.eoaccess.EOAttribute attribute)
public java.lang.String quoteColumnName(java.lang.String columnName)
protected boolean canReliablyPerformDistinctWithSortOrderings()
public boolean shouldPerformDistinctInMemory(com.webobjects.eocontrol.EOFetchSpecification fetchSpecification)
fetchSpecification
- the fetch spec to check
public boolean handleDatabaseException(com.webobjects.eoaccess.EODatabaseContext databaseContext, java.lang.Throwable throwable)
databaseContext
- throwable
-
public static ERXSQLHelper newSQLHelper(com.webobjects.eoaccess.EOSQLExpression expression)
public static ERXSQLHelper newSQLHelper(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String modelName)
public static ERXSQLHelper newSQLHelper(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eoaccess.EOEntity entity)
public static ERXSQLHelper newSQLHelper(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eoaccess.EOModel model)
public static ERXSQLHelper newSQLHelper(com.webobjects.eoaccess.EODatabaseContext databaseContext)
public static ERXSQLHelper newSQLHelper(com.webobjects.eoaccess.EODatabaseChannel databaseChannel)
public static ERXSQLHelper newSQLHelper(com.webobjects.eoaccess.EOAdaptor adaptor)
public static ERXSQLHelper newSQLHelper(com.webobjects.eoaccess.EOAdaptorChannel adaptorChannel)
public static ERXSQLHelper newSQLHelper(com.webobjects.jdbcadaptor.JDBCAdaptor adaptor)
public static ERXSQLHelper newSQLHelper(com.webobjects.jdbcadaptor.JDBCPlugIn plugin)
public static ERXSQLHelper newSQLHelper(com.webobjects.eoaccess.EOEntity entity)
public static ERXSQLHelper newSQLHelper(com.webobjects.eoaccess.EOModel model)
public static ERXSQLHelper newSQLHelper(java.lang.String databaseProductName)
|
Last updated: Tue, Feb 21, 2017 05:45 PM CET | |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |