Product Documentation

c-treeDB API API for C

Previous Topic

Next Topic

Dynamic partition member support

Note: The dynamic partition member support described below can be enabled only for FairCom Server.

A traditional partitioned host file maintains a single partition member list at the system-file level. All connections access the same set of partition members. Now FairCom Server supports creating a partition host with connection-level dynamic members. This type of partitioned file contains no members at the system level. Each connection that opens the file uses the PTADMIN() API function to associate members with that open instance of the partition host.

The initial FILESET release supports reading data from dynamic partition members through the partition host file. It does not support the following operations on a partition host that has dynamic members:

  • ISAM record add, delete, and update
  • Index rebuild
  • File compact
  • SQL alter table
  • Adding a new permanent or temporary index

The operations listed above fail with error 990 (DPRT_NSUP_ERR, this operation is not supported for a dynamic partitioned file).

A partition host that allows dynamic members is created by setting the ctPARTAUTO bit in the XCREblk's x8mode field, setting the prtkey field to -1, and setting the ctDYNPARTMBR bit in the splval field:

xcreblk[0].x8mode |= ctPARTAUTO;

xcreblk[0].prtkey = -1;

xcreblk[0].splval = ctDYNPARTMBR;

These XCREblk values are not needed for the individual members, only for the host file.

As currently implemented, prtkey is ‑1, meaning that the dynamic partition host has no partition key. Both physical and index-order record reads are supported. All indexes are treated as non-partition indexes, so FRSKEY/NXTKEY operations on the indexes require reading the next key from each partition and returning the next key in the collation sequence.