ixChangePartitionLocation -- Changes the specified location for a partition within the index.
void ixChangePartitionLocation(size_t *PartitionNumber, char *NewPosition, char *OldPosition, StatusCodeT *Status);
PartitionNumber -- A pointer to an unsigned integer. The value pointed to by PartitionNumber is set to the number of the partition which matches OldPosition.
NewPosition -- A pointer to a zero terminated string which specifies the new position of the partition.
OldPosition -- A pointer to a zero terminated string which specifies the old position of the partition.
Status -- A pointer to a status code of type StatusCodeT
Nothing
Sometimes with a distributed index, it makes sense to change the location of an partition. This can happen for example when new data is replacing old data in the index, a portion of the index is being moved to a different disk, or simply for efficiency reasons.
ixChangePartitionLocation searches for a case sensitive match between the partition specified by OldPosition and one of the current partitions in the index. If a match is found, then the location for the partition in the index is changed to that specified by NewPosition. Furthermore, the value pointed to by PartitionNumber is set to reflect the partition number within the index which matches.
Note: If index is currently being used by any other processes or threads, the various IndexManagers must reload the index for the changes to take effect.
ixWritePartitionLocation, ixLoadPartition, ixSaveIndexingDataToPartition