Calls to find records by key value were not returning the expected results when the index used more than the default maximum number of key segments (12). The server was using the MAX_KEY_SEG option to support more than the default number of key segments, but the client was not recompiled to support a larger number of key segments. The client's call to get the segment information from the server returned only the key segments that the client could use based on its MAX_KEY_SEG compile-time option, so when forming keys for that index, segments beyond that limit were ignored and the key was improperly formed.
The logic has been changed so the function that returns key segment information now returns error 109, IKRS_ERR, ("too many ISAM key segments") if the information for all the segments does not fit into the buffer supplied by the client. When the call to get the key segment information fails with error 109, the client returns that error to the caller (except when the error occurs during a call to close a file, in which case the client code ignores the error and continues closing the file).