gtpc2micC/C++ Language Support User's Guide

TO2_deletePID-Delete a Persistent Identifier and Its Backing Store

This function deletes a persistent identifier (PID) from the database. This function is identical to the TO2_deleteCollection function.

After you enter the TO2_deletePID function, the collection is either marked for deletion or actually deleted from the database and cannot be accessed by other TPFCS functions. For persistent short-term collections and temporary collections, the delete always takes place immediately. For persistent long-term collections, the delete is controlled by the data store characteristics set with the ZOODB command. A persistent long-term collection marked for deletion can be reclaimed by entering the TO2_reclaimPID function in the time period between the TO2_deletePID request and the time the actual deletion occurs (48 hours).

Format

#include <c$to2.h>
long  TO2_deletePID (const TO2_PID_PTR   pid_ptr,
                           TO2_ENV_PTR   env_ptr);

pid_ptr
The pointer to the PID to be deleted.

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

Normal Return

The normal return is a positive value.

Error Return

An error return is indicated by a zero return code. 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_PID

Programming Considerations

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

Examples

The following example deletes the persistent identifier (PID) representing a TPFCS database 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 TO2 Environment       */
TO2_PID          blob;
 
TO2_ERR_CODE     err_code;        /* TO2 error code value             */
TO2_ERR_TEXT_PTR err_text_ptr;    /* TO2 error code text pointer      */

  ·
  ·
  ·
if (TO2_deletePID(&blob, env_ptr) == TO2_ERROR) { printf("TO2_deletePID failed!\n"); process_error(env_ptr); } else printf("TO2_deletePID successful!\n");
  ·
  ·
  ·

Related Information