gtpc2mcxC/C++ Language Support User's Guide

TO2_createKeySortedBag-Create a Persistent Key Sorted Bag Collection

This function creates an empty persistent key sorted bag collection using the default data definition (DD) and assigns a persistent identifier (PID) to the collection.

The only difference between a key sorted bag collection and a key sorted set collection is that a key sorted bag collection has nonunique keys.

Format

#include <c$to2.h>
long  TO2_createKeySortedBag (      TO2_PID_PTR   pid_ptr,
                                    TO2_ENV_PTR   env_ptr,
                              const long         *entryLength,
                              const long         *keyLength);

pid_ptr
The pointer to the location where the PID that is assigned to the new collection will be returned.

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

entryLength
The pointer to the length of an entry in the collection. The maximum length is 1000 bytes.

keyLength
The pointer to the length of the key. For a key sorted bag collection, the maximum key length is 248 bytes.

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_DATA_LGH

TO2_ERROR_ENV

TO2_ERROR_LOCATOR_LGH

Programming Considerations

A commit scope will be created for the TO2_createKeySortedBag request. If the request is successful, the scope will be committed. If an error occurs while processing the TO2_createKeySortedBag request, the scope will be rolled back.

Examples

The following example creates a persistent key sorted bag collection.

#include <c$to2.h>                 /* Needed for TO2 API functions    */
#include <stdio.h>                 /* APIs for standard I/O functions */
 
TO2_ENV_PTR    env_ptr;            /* PTR to the TO2 environment      */
TO2_PID        collect;            /* will hold collection's PID      */
long           entryLength=100;    /* set to entry length             */
long           keyLength=8;        /* set to key length               */

  ·
  ·
  ·
if (TO2_createKeySortedBag(&collect, env_ptr, &entryLength, &keylength) == TO2_ERROR) { printf("TO2_createKeySortedBag failed!\n"); process_error(env_ptr); } else { printf("TO2_createKeySortedBag successful!\n"); }

Related Information