public class _H2PlugIn
extends com.webobjects.jdbcadaptor.JDBCPlugIn
| Modifier and Type | Class and Description |
|---|---|
static class |
_H2PlugIn.H2Expression |
static class |
_H2PlugIn.H2SynchronizationFactory |
| Modifier and Type | Field and Description |
|---|---|
protected static NSMutableDictionary<String,String> |
sequenceNameOverrides |
| Constructor and Description |
|---|
_H2PlugIn(com.webobjects.jdbcadaptor.JDBCAdaptor adaptor) |
| Modifier and Type | Method and Description |
|---|---|
protected static String |
_sequenceNameForEntity(com.webobjects.eoaccess.EOEntity entity)
Utility method that returns the name of the sequence associated
with the given
entity. |
com.webobjects.eoaccess.synchronization.EOSchemaSynchronizationFactory |
createSchemaSynchronizationFactory() |
String |
databaseProductName() |
String |
defaultDriverName() |
Class<? extends com.webobjects.jdbcadaptor.JDBCExpression> |
defaultExpressionClass() |
Object |
fetchBLOB(ResultSet rs,
int column,
EOAttribute attribute,
boolean materialize) |
Object |
fetchCLOB(ResultSet rs,
int column,
EOAttribute attribute,
boolean materialize) |
NSDictionary<String,Object> |
jdbcInfo()
This is usually extracted from the the database using JDBC, but this is
really inconvenient for users who are trying to generate SQL at some.
|
String |
name() |
NSArray<NSDictionary<String,Object>> |
newPrimaryKeys(int count,
com.webobjects.eoaccess.EOEntity entity,
com.webobjects.jdbcadaptor.JDBCChannel channel)
Overrides the parent implementation to provide a more efficient mechanism
for generating primary keys, while generating the primary key support on
the fly.
|
protected static String |
quoteTableName(String name) |
protected static void |
setSequenceNameOverride(String defaultName,
String h2Name)
Sets the sequence name to be used in H2 instead of the default WO sequence name.
|
protected boolean |
shouldUseBundledJdbcInfo()
This method returns
true by default unless the connection URL for the database has
useBundledJdbcInfo=false on it which indicates to the system
that the jdbcInfo which has been bundled into the plugin is not acceptable to
use and instead it should fetch a fresh copy from the database. |
_attributeForPath, _couldIgnoreException, _relationshipForPath, _takeValueForKeyPath, adaptor, assignTypeForAttribute, canDescribeStoredProcedure, connectionPropertiesForConnectionDictionary, connectionURL, createAttributeForRow, createExpressionFactory, createSynchronizationFactory, databaseInformation, expressionFactory, isDroppedConnectionException, isPseudoColumnName, jdbcTypeForUnknownExternalType, newPrimaryKeySelectString, plugInNameForURL, plugInValueForValue, primaryKeyLockString, primaryKeyTableCreateString, primaryKeyTableName, removePlugInNameForSubprotocol, schemaNameForEntity, schemaSynchronizationFactory, setPlugInNameForSubprotocol, sqlStatementForGettingProcedureNames, sqlStatementForGettingTableNames, sqlStatementForTableNamed, storedProcedureCatalogPattern, storedProcedureNamed, storedProcedureSchemaPattern, synchronizationFactory, tableTypes, updateLOBs, wildcardPatternForAttributes, wildcardPatternForSchema, wildcardPatternForTablesprotected static NSMutableDictionary<String,String> sequenceNameOverrides
protected static String _sequenceNameForEntity(com.webobjects.eoaccess.EOEntity entity)
entity.entity - the entityprotected static void setSequenceNameOverride(String defaultName, String h2Name)
defaultName - WO default sequence nameh2Name - sequence name in H2public Object fetchBLOB(ResultSet rs, int column, EOAttribute attribute, boolean materialize) throws SQLException
fetchBLOB in class com.webobjects.jdbcadaptor.JDBCPlugInSQLExceptionpublic Object fetchCLOB(ResultSet rs, int column, EOAttribute attribute, boolean materialize) throws SQLException
fetchCLOB in class com.webobjects.jdbcadaptor.JDBCPlugInSQLExceptionpublic com.webobjects.eoaccess.synchronization.EOSchemaSynchronizationFactory createSchemaSynchronizationFactory()
createSchemaSynchronizationFactory in class com.webobjects.jdbcadaptor.JDBCPlugInpublic String databaseProductName()
databaseProductName in class com.webobjects.jdbcadaptor.JDBCPlugInpublic String defaultDriverName()
defaultDriverName in class com.webobjects.jdbcadaptor.JDBCPlugInpublic Class<? extends com.webobjects.jdbcadaptor.JDBCExpression> defaultExpressionClass()
defaultExpressionClass in class com.webobjects.jdbcadaptor.JDBCPlugInpublic NSDictionary<String,Object> jdbcInfo()
This is usually extracted from the the database using JDBC, but this is really inconvenient for users who are trying to generate SQL at some. A specific version of the data has been written into the property list of the framework and this can be used as a hard-coded equivalent.
Provide system property h2.updateJDBCInfo=true to
cause H2JDBCInfo.plist to be written out to the platform temp dir.
jdbcInfo in class com.webobjects.jdbcadaptor.JDBCPlugInpublic String name()
name in class com.webobjects.jdbcadaptor.JDBCPlugInprotected boolean shouldUseBundledJdbcInfo()
true by default unless the connection URL for the database has
useBundledJdbcInfo=false on it which indicates to the system
that the jdbcInfo which has been bundled into the plugin is not acceptable to
use and instead it should fetch a fresh copy from the database.true if bundled jdbcInfo should be usedpublic NSArray<NSDictionary<String,Object>> newPrimaryKeys(int count, com.webobjects.eoaccess.EOEntity entity, com.webobjects.jdbcadaptor.JDBCChannel channel)
newPrimaryKeys in class com.webobjects.jdbcadaptor.JDBCPlugIncount - the batch sizeentity - the entity requesting primary keyschannel - open JDBCChannelCopyright © 2002 – 2020 Project Wonder.