The Main Manual Page Dynamic API Documentation CD-ROM API Documentation About Onix Types About Onix Errors Onix's Web Site at Lextek International Lextek International Onix Full Text Indexing and Retrieval Toolkit

ixChangePartitionLocation

NAME

ixChangePartitionLocation -- Changes the specified location for a partition within the index.

SYNOPSIS

void ixChangePartitionLocation(size_t *PartitionNumber, char *NewPosition, char *OldPosition, StatusCodeT *Status);

ARGUMENTS

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

RETURNS

 Nothing

DESCRIPTION

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.

SEE ALSO

 ixWritePartitionLocation, ixLoadPartition, ixSaveIndexingDataToPartition