# derby.language.sequence.preallocator

The derby.language.sequence.preallocator property specifies how many values to preallocate for sequences.

If the database is shut down in an orderly fashion, Derby will not leak unused preallocated values. Instead, any unused values will be thrown away, and the sequence generator will continue where it left off once the database reboots. However, if the database exits unexpectedly, the sequence generator will skip the unused preallocated values when the database comes up again. This will leave a gap between the last NEXT VALUE FOR (issued before the database exited unexpectedly) and the next NEXT VALUE FOR (issued after the database reboots).

## Syntax

    derby.language.sequence.preallocator=number

or

    derby.language.sequence.preallocator=className

If set to a positive number, that is the number of values which Derby preallocates for each sequence. A higher value may improve the concurrency of sequences.

If set to a class name, that class must implement org.apache.derby.catalog.SequencePreallocator. The class customizes the size of the preallocation range for each sequence. For more information, see the public API documentation for org.apache.derby.catalog.SequencePreallocator.

## Default

100

By default, Derby preallocates 100 values for each sequence.

## Example

    derby.language.sequence.preallocator=125

## Scope

system-wide, database-wide

## Dynamic or static

This property is semi-static; changing it while Derby is running will not affect sequences which are already being used. However, the new value will be picked up by sequences which weren't being used before the value was changed. In addition, DDL causes the old value to be forgotten. After performing DDL, the new value will be picked up by all sequences.

Parent topic: Derby properties
Related reference
derby.authentication.builtin.algorithm
derby.authentication.builtin.iterations
derby.authentication.builtin.saltLength
derby.authentication.ldap.searchAuthDN
derby.authentication.ldap.searchAuthPW
derby.authentication.ldap.searchBase
derby.authentication.ldap.searchFilter
derby.authentication.native.passwordLifetimeMillis
derby.authentication.native.passwordLifetimeThreshold
derby.authentication.provider
derby.authentication.server
derby.connection.requireAuthentication
derby.database.classpath
derby.database.defaultConnectionMode
derby.database.forceDatabaseLock
derby.database.fullAccessUsers
derby.database.noAutoBoot
derby.database.propertiesOnly
derby.database.readOnlyAccessUsers
derby.database.sqlAuthorization
derby.infolog.append
derby.jdbc.xaTransactionTimeout
derby.language.logQueryPlan
derby.language.logStatementText
derby.language.statementCacheSize
derby.locks.deadlockTimeout
derby.locks.deadlockTrace
derby.locks.escalationThreshold
derby.locks.monitor
derby.locks.waitTimeout
derby.replication.logBufferSize
derby.replication.maxLogShippingInterval
derby.replication.minLogShippingInterval
derby.replication.verbose
derby.storage.indexStats.auto
derby.storage.indexStats.log
derby.storage.indexStats.trace
derby.storage.initialPages
derby.storage.minimumRecordSize
derby.storage.pageCacheSize
derby.storage.pageReservedSpace
derby.storage.pageSize
derby.storage.rowLocking
derby.storage.tempDirectory
derby.storage.useDefaultFilePermissions
derby.stream.error.extendedDiagSeverityLevel
derby.stream.error.field
derby.stream.error.file
derby.stream.error.logBootTrace
derby.stream.error.logSeverityLevel
derby.stream.error.method
derby.stream.error.rollingFile.count
derby.stream.error.rollingFile.limit
derby.stream.error.rollingFile.pattern
derby.stream.error.style
derby.system.bootAll
derby.system.durability
derby.system.home
derby.user.UserName
DataDictionaryVersion
SYSCS_UTIL.SYSCS_PEEK_AT_SEQUENCE system function
CREATE SEQUENCE statement
DROP SEQUENCE statement
SYSSEQUENCES system table