gtpc2mbxC/C++ Language Support User's Guide

TO2_asSortedCollection-Return Contents As Sorted Bag

This function creates a temporary sorted bag collection containing all the elements of the source collection.

Note:
This function does not support all collections. See Table 47 for collections that are supported for this function.

Format

#include <c$to2.h>
long TO2_asSortedCollection (const TO2_PID_PTR   source_pid_ptr,
                                   TO2_ENV_PTR   env_ptr,
                                   TO2_PID_PTR   sortedCollectionPID,
                             const long         *sortFieldLength,
                             const long         *sortFieldDisplacement);

source_pid_ptr
The pointer to where the persistent identifier (PID) assigned to the source collection is stored.

env_ptr
The pointer to the environment as returned by the TO2_createEnv function.

sortedCollectionPID
The pointer to where the PID for the temporary sorted bag collection will be returned.

sortFieldLength
The pointer to the length of the field in the source collection that will be used as the sort field. The maximum length of the sort field is 248 bytes and it must be less than or equal to the entry length.

sortFieldDisplacement
The pointer to the displacement in the source collection entry to the start of the sort field. The displacement is 0-based. The displacement of the sort field plus the length of the sort field must be less than or equal to the length of the source collection entry.

Normal Return

The normal return is a positive value.

Error Return

An error return is indicated by a zero. When zero is returned, use the TO2_getErrorCode function to determine the specific error code. For more information, see Error Handling.

The following error codes are common for this function:

TO2_ERROR_ENV

TO2_ERROR_DATA_LGH

TO2_ERROR_LOCATOR_LGH

TO2_ERROR_METHOD

TO2_ERROR_NOT_INIT

TO2_ERROR_PID

TO2_ERROR_ZERO_PID

Programming Considerations

Examples

The following example creates a temporary sorted bag collection containing all the elements of the source collection.

#include <c$to2.h>             /* Needed for TO2 API functions        */
#include <stdio.h>             /* APIs for standard I/O functions     */
 
  TO2_ENV_PTR    env_ptr;      /* Pointer to the TO2 environment      */
  TO2_PID        sourcePID;    /* holds PID of source collection      */
  TO2_PID        sortedPID;    /* will hold PID of sorted bag col.    */
 
  long           fieldLength;  /* should set to length of sort field  */
  long           fieldDisp;    /* should set to displacement within   */
                               /* entry of sort field                 */

  ·
  ·
  ·
if (TO2_asSortedCollection(&sourcePID, env_ptr, &sortedPID, &fieldLength, &fieldDisp) == TO2_ERROR) { printf("TO2_asSortedCollection failed!\n"); process_error(env_ptr); return; } else { printf("TO2_asSortedCollection successful!\n"); }
  ·
  ·
  ·
TO2_deleteCollection(sortedPID, env_ptr);

Related Information