gtpc2mdtC/C++ Language Support User's Guide

TO2_deleteCollection-Delete a Collection

This function deletes a collection and is identical to the TO2_deletePID function. Any backing store assigned to the collection will be released.

After you enter the TO2_deleteCollection 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_deleteCollection request and the time the actual deletion occurs (48 hours).

Format

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

pid_ptr
The pointer to the persistent identifier (PID) assigned to the collection that will 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. 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_METHOD

TO2_ERROR_NOT_INIT

TO2_ERROR_PID

TO2_ERROR_ZERO_PID

Programming Considerations

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

Examples

The following example deletes 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 TO2 Environment      */
TO2_PID        bag;
TO2_ERR_CODE   err_code;
 
void test_delete_collections(void)
{

  ·
  ·
  ·
if (TO2_deleteCollection(&bag, env_ptr) == TO2_ERROR) { printf("deleteCollection for Bag failed!\n"); process_error(env_ptr); } else { printf("deleteCollection for Bag successful!\n"); } return;

Related Information