gtpc2melC/C++ Language Support User's Guide

TO2_removeValueAll-Remove All Matching Values from the Collection

This function removes all the elements 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_removeValueAll (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_removeValueAll request. If the request is successful, the scope will be committed. If an error occurs while processing the TO2_removeValueAll request, the scope will be rolled back.

Examples

The following example removes any remaining value element.

#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_removeValueAll(&bag, env_ptr, bagdata, &bagdatalength) == TO2_ERROR) { printf("TO2_removeValueAll failed!\n"); process_error(env_ptr); } else { printf("TO2_removeValueAll successful!\n"); }

Related Information