{
super.logConfiguration();
if (NucleusLogger.DATASTORE.isDebugEnabled())
{
RDBMSAdapter rdba = (RDBMSAdapter) dba;
NucleusLogger.DATASTORE.debug("Datastore Adapter : " + dba.getClass().getName());
NucleusLogger.DATASTORE.debug("Datastore : name=\"" + rdba.getDatastoreProductName() + "\"" +
" version=\"" + rdba.getDatastoreProductVersion() + "\"");
NucleusLogger.DATASTORE.debug("Datastore Driver : name=\"" + rdba.getDatastoreDriverName() + "\"" +
" version=\"" + rdba.getDatastoreDriverVersion() + "\"");
// Connection Pooling
ConnectionFactoryImpl txCF = (ConnectionFactoryImpl)connectionMgr.lookupConnectionFactory(txConnectionFactoryName);
String poolingType = txCF.getPoolingType();
NucleusLogger.DATASTORE.debug("Transactional Connections : Pooling = " +
(poolingType == null || poolingType.equals("default") ? "None" : poolingType));
ConnectionFactoryImpl nontxCF = (ConnectionFactoryImpl)connectionMgr.lookupConnectionFactory(nontxConnectionFactoryName);
poolingType = nontxCF.getPoolingType();
NucleusLogger.DATASTORE.debug("Non-Transactional Connections : Pooling = " +
(poolingType == null || poolingType.equals("default") ? "None" : poolingType));
if (identifierFactory != null)
{
NucleusLogger.DATASTORE.debug("Datastore Identifiers :" +
" factory=\"" + getStringProperty("datanucleus.identifierFactory") + "\"" +
" case=" + identifierFactory.getIdentifierCase().toString() +
(catalogName != null ? (" catalog=" + catalogName) : "") +
(schemaName != null ? (" schema=" + schemaName) : ""));
NucleusLogger.DATASTORE.debug("Supported Identifier Cases : " +
(rdba.supportsOption(RDBMSAdapter.IDENTIFIERS_LOWERCASE) ? "lowercase " : "") +
(rdba.supportsOption(RDBMSAdapter.IDENTIFIERS_LOWERCASE_QUOTED) ? "\"lowercase\" " : "") +
(rdba.supportsOption(RDBMSAdapter.IDENTIFIERS_MIXEDCASE) ? "MixedCase " : "") +
(rdba.supportsOption(RDBMSAdapter.IDENTIFIERS_MIXEDCASE_QUOTED) ? "\"MixedCase\" " : "") +
(rdba.supportsOption(RDBMSAdapter.IDENTIFIERS_UPPERCASE) ? "UPPERCASE " : "") +
(rdba.supportsOption(RDBMSAdapter.IDENTIFIERS_UPPERCASE_QUOTED) ? "\"UPPERCASE\" " : "") +
(rdba.supportsOption(RDBMSAdapter.IDENTIFIERS_MIXEDCASE_SENSITIVE) ? "MixedCase-Sensitive " : "") +
(rdba.supportsOption(RDBMSAdapter.IDENTIFIERS_MIXEDCASE_QUOTED_SENSITIVE) ? "\"MixedCase-Sensitive\" " : ""));
NucleusLogger.DATASTORE.debug("Supported Identifier Lengths (max) :" +
" Table=" + rdba.getDatastoreIdentifierMaxLength(IdentifierType.TABLE) +
" Column=" + rdba.getDatastoreIdentifierMaxLength(IdentifierType.COLUMN) +
" Constraint=" + rdba.getDatastoreIdentifierMaxLength(IdentifierType.CANDIDATE_KEY) +
" Index=" + rdba.getDatastoreIdentifierMaxLength(IdentifierType.INDEX) +
" Delimiter=" + rdba.getIdentifierQuoteString());
NucleusLogger.DATASTORE.debug("Support for Identifiers in DDL :" +
" catalog=" + rdba.supportsOption(RDBMSAdapter.CATALOGS_IN_TABLE_DEFINITIONS) +
" schema=" + rdba.supportsOption(RDBMSAdapter.SCHEMAS_IN_TABLE_DEFINITIONS));
}
NucleusLogger.DATASTORE.debug("Datastore : " +
(getBooleanProperty("datanucleus.rdbms.checkExistTablesOrViews") ? "checkTableViewExistence" : "") +
", rdbmsConstraintCreateMode=" + getStringProperty("datanucleus.rdbms.constraintCreateMode") +
", initialiseColumnInfo=" + getStringProperty("datanucleus.rdbms.initializeColumnInfo"));
int batchLimit = getIntProperty("datanucleus.rdbms.statementBatchLimit");
boolean supportBatching = rdba.supportsOption(RDBMSAdapter.STATEMENT_BATCHING);
if (supportBatching)
{
NucleusLogger.DATASTORE.debug("Support Statement Batching : yes (max-batch-size=" +
(batchLimit == -1 ? "UNLIMITED" : "" + batchLimit) + ")");
}