gtpc2mekC/C++ Language Support User's Guide

TO2_removeValue-Remove Value

This function removes the first element whose length and value exactly match the specified value from the 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_removeValue (const TO2_PID_PTR  pid_ptr,
                            TO2_ENV_PTR  env_ptr,
                      const void        *value,
                      const long        *valueLength);

pid_ptr
The pointer to the persistent identifier (PID) assigned to the collection that will be removed.

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

value
The pointer to the value that will be removed from the collection.

valueLength
The pointer to the length of the value.

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_EMPTY

TO2_ERROR_ENV

TO2_ERROR_LOCATOR_NOT_FOUND

TO2_ERROR_METHOD

TO2_ERROR_PID

TO2_ERROR_UPDATE_NOT_ALLOWED

TO2_ERROR_ZERO_PID

Programming Considerations

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

Examples

The following example removes an element from a 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        bag;
  char           bagdata[] = "Bag:Collection:Element:.Data"; /* data   */
  long           bagdatalength; /* length                              */

  ·
  ·
  ·
if (TO2_removeValue(&bag, env_ptr, &bagdata, &bagdatalength) == TO2_ERROR) { printf("TO2_removeValue failed!\n"); process_error(env_ptr); } else { printf("TO2_removeValue successful!\n"); }

Related Information