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, wildcardPatternForTables
protected 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.JDBCPlugIn
SQLException
public Object fetchCLOB(ResultSet rs, int column, EOAttribute attribute, boolean materialize) throws SQLException
fetchCLOB
in class com.webobjects.jdbcadaptor.JDBCPlugIn
SQLException
public com.webobjects.eoaccess.synchronization.EOSchemaSynchronizationFactory createSchemaSynchronizationFactory()
createSchemaSynchronizationFactory
in class com.webobjects.jdbcadaptor.JDBCPlugIn
public String databaseProductName()
databaseProductName
in class com.webobjects.jdbcadaptor.JDBCPlugIn
public String defaultDriverName()
defaultDriverName
in class com.webobjects.jdbcadaptor.JDBCPlugIn
public Class<? extends com.webobjects.jdbcadaptor.JDBCExpression> defaultExpressionClass()
defaultExpressionClass
in class com.webobjects.jdbcadaptor.JDBCPlugIn
public 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.JDBCPlugIn
public String name()
name
in class com.webobjects.jdbcadaptor.JDBCPlugIn
protected 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.JDBCPlugIn
count
- the batch sizeentity
- the entity requesting primary keyschannel
- open JDBCChannelCopyright © 2002 – 2020 Project Wonder.