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 " 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 |
| 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
