Chapter 22. New Parameters in Configuration and DOML Files

Table of Contents

TransactionCheck
DirtyDOs
DeleteCheckVersion
AutoWrite
TransactionCaches
AutoSave
AutoSaveCreateVirgin
DefaultFetchSize
MainCacheLockTimeout
CacheLockTimeout
CacheLockRetryCount
QueryTimeout
SelectOids
IncrementVersions
MaxConnectionUsages
MaxWaitingConnections
initAllCaches
ChangeAutocommit
MassUpdates and MassDeletes
UseCursorName
CaseSensitive
ClassList
ClassType
TransactionFactory
FullCacheCountLimit
InitialDSCacheSize
InitialCacheFetchSize
InitCachesResultSetType
InitCachesResultSetConcurrency
DisableConnectionPool
DataSourceName
ConnectionFactory
ConnectionAllocator
ConnectionIdleTimeout
RollbackOnReset
QueryCacheImplClass
SQLBatch
CaseInsensitiveDatabase
ShutDownString
NextWithPrefix
OidTableName
NextColumnName
NextColumnType
QueryTimeLimit
PrimaryLogicalDatabase
DODSCacheFactory
ConnectionAllocateCheckSql
MaxPreparedStatements
AllocationScope
ObjectIdAllocationSource
asynchLoadThreadNum
asynchLoadPriority
ClassName
JTA
cachePersistenceRoot
cachePersistenceOnShutdown
cachePersistenceOnDisableCaching
cursorless
defaultMaxRows

Many of parameters explained in this chapter can be applied both on global level (DatabaseManager) or on local level (for each database separately). Also, some parameters can be applied on table directly.

When they are defined on DatabaseManager level they apply on all databases defined in configuration file. Parameters defined on separate databases override those defined on global level. If any of parameters is defined for the table directly, this value is used for that table.

Only exception of this rule is readOnly parameter of table: if AllReadOnly is set on DatabaseManager or Database level to true the readOnly parameter of the tables can not override this value - in all other cases parameters behave usually.

To set parameters on DatabaseManager level, use the following syntax in configuration file:

DatabaseManager.defaults.<parameter_name> = parameterValue

To set parameters on Database level, use the following syntax in configuration file:

DatabaseManager.DB.<database_name>.<parameter_name> = parameterValue

To set parameters on table level, use the following syntax in configuration file:

DatabaseManager.DB.<database_name>.<table_name>.<parameter_name> = parameterValue

Cache parameters can be set on all levels: DatabaseManager, Database and table level.

To set parameters related to cache, use the following syntax in configuration file:

DatabaseManager.defaults.cache.<parameter_name> = parameterValue
DatabaseManager.DB.<database_name>.cache.<parameter_name> = parameterValue
DatabaseManager.DB.<database_name>.<table_name>.cache.<parameter_name> = parameterValue

To get values of parameter from databaseManager level (in runtime) use following methods:

DODS.getDatabaseManager().getDatabaseManagerConfiguration().get<CapitalizeParameterName>() 

To get values of parameter from database level (in runtime) use following methods:

DODS.getDatabaseManager().findLogicalDatabase(<DbName>).getDatabaseConfiguration().get<CapitalizeParameterName>() 

TransactionCheck

Possible values: true and false.

Default value: false.

File: configuration file.

Context: DatabaseManager, Database.

If this parameter is set to true, whenever a DO without a transaction context is created in the memory, a warning is created in the log. The warning message contains information about database name, class name, oid, version and the stack trace. If the parameter is set to false or not defined, nothing happens.

Sample code:

#values{true,false} default{false}
DatabaseManager.defaults.TransactionCheck=false;