MakePartitioned

The MakePartitioned action converts the specified non-partitioned database file into a partitioned format.

You cannot use the MakePartitioned action to partition the default map file of a schema. Attempts to do so fail with error 6429 (Cannot mark the default map as partitionable).

The syntax of the MakePartitioned action is as follows.

jdbadmin action=MakePartitioned
         [path=database-path]
         [ini=initialization-file-name]
         [server=multiUser|singleUser]
         file=file-name
         [[method=partition‑index‑method‑name]
         [modulus=integer-value]] |
         [[partitionMethod=partition-identifier-method-name]
         [maxPartitionId=maximum-partition-identifier-value]]
         [updatesAllowed=true|false]

In addition to the command line argument values that apply to one or more batch database administration utility actions or commands, documented under "Command Arguments", the MakePartitioned action arguments are listed in the following table.

Argument Description
path Optional, in multiuser mode.
file Specifies the target file.
method

Identifies the partition index method (see "Partition Methods", in Chapter 20 of the Developer's Reference) that is to be called as each object is processed. A partition index method returns the relative index of the partition in which the object will be stored.

Subobjects (for example, collections, blob or slob properties, and Jade bytes) are automatically stored in the same partition as the parent object. If the method argument is not specified, the autoPartitionIndex method is called. The default Object‑level implementation of this method returns the value zero (0), which causes objects to be stored in the latest partition.

modulus

Specifies the creation window size for the operation. This also establishes the number of partitions that will be created. If specified, the modulus value must be an integer in the range 1 through 1024. The default value of 1 results in a single partition getting instantiated.

The effects of a successful MakePartitioned operation are redone by roll‑forward recovery and replayed on an SDS secondary database. To accomplish that, a copy of the partition index is inserted in the database journal when the converted file is instantiated.

partitionIdMethod

Identifies the partition identifier method to be called for each object that is processed. A partition identifier method returns the partition identifier value that specifies the partition in which the object will be stored. This method returns an absolute partition identifier instead of a relative partition index. The return type is Integer64.

Subobjects (for example, collections, blob or slob properties, and Jade bytes) are automatically located in the same partition as the parent object.

You can specify one method or partitionIdMethod argument only.

maxPartitionId

Specifies the maximum partition identifier value that will be assigned by any invocation of the partitionIdMethod argument during execution of the MakePartitioned action. This value serves two purposes: range checking and resource allocation.

If the value returned by a partitionMethod call exceeds the specified maximum partition identifier value, the MakePartitioned action fails.

updatesAllowed

If you want to partition a file while allowing applications to continue updating the file being partitioned, set the value of the optional updatesAllowed argument to true. If the argument is not specified, the value defaults to false; that is, updates of a partitioned file are not permitted.

If you execute the MakePartitioned command with updatesAllowed=true, when the file conversion process has completed, updates audited in transaction journals are applied to the output file. This recovery phase is referred to as file synchronization.

During the initial file recovery or synchronization phase, further updates to the file are permitted. However, when the file is ultimately instantiated, a database quietpoint is acquired. This quietpoint will momentarily block active transactions from committing while remaining updates are applied and the partitioned file is instantiated.

The following example of the MakePartitioned action uses a partition index method.

jdbadmin path=c:\J_WILBUR3 ini=c:\J_WILBUR3\jade.ini action=MakePartitioned file=sales modulus=36 updatesAllowed=true

The following example of the MakePartitioned action uses a partition identifier method.

jdbadmin path=c:\J_WILBUR5 ini=c:\J_WILBUR5\jade.ini action=MakePartitioned file=fccustomerstate maxPartitionId=1500 partitionIdMethod=getPartitionId updatesAllowed=true