libjf API reference guide

Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

jf_recind_list.h File Reference

#include <jf/jf_config.h>
#include <jf/jf_errors.h>
#include <jf/jf_wrappers.h>
#include <jf/jf_trace.h>

Go to the source code of this file.

Data Structures

struct  jf_recind_list_t

Defines

#define JF_RECIND_NULL_OFFSET   -1
#define JF_RECIND_OPER_MUST_COMMIT   0x1
#define JF_RECIND_OPER_MUST_ROLLBACK   0x2
#define JF_RECIND_OPER_UNKNOWN   0x0
#define JF_TRACE_MODULE   JF_TRACE_MOD_LIB_RECIND_LIST

Functions

int jf_recind_list_add (jf_recind_list_t *ril, jf_offset_t elem)
void jf_recind_list_create (jf_recind_list_t *ril)
void jf_recind_list_destroy (jf_recind_list_t *ril)
jf_offset_t jf_recind_list_get_elem (const jf_recind_list_t *ril, size_t pos)
size_t jf_recind_list_get_size (const jf_recind_list_t *ril)
jf_word_t jf_recind_list_get_uow_type (const jf_recind_list_t *ril)
int jf_recind_list_is_safe (const jf_recind_list_t *ril)
void jf_recind_list_reset (jf_recind_list_t *ril)
int jf_recind_list_set_uow_type (jf_recind_list_t *ril, jf_word_t uow_type)


Define Documentation

#define JF_RECIND_NULL_OFFSET   -1
 

Null value for record index offset (used to check if an offset is valid) Definition at line 64 of file jf_recind_list.h.

Referenced by jf_recind_list_get_elem().

#define JF_RECIND_OPER_MUST_COMMIT   0x1
 

Record index is related to a record will be committed Definition at line 54 of file jf_recind_list.h.

Referenced by jf_journal_cold_recovery_patch_seq(), jf_journal_cold_recovery_update_lists(), and jf_recind_list_set_uow_type().

#define JF_RECIND_OPER_MUST_ROLLBACK   0x2
 

Record index is related to a record will be backed out Definition at line 59 of file jf_recind_list.h.

Referenced by jf_journal_cold_recovery_patch_seq(), jf_journal_cold_recovery_update_lists(), and jf_recind_list_set_uow_type().

#define JF_RECIND_OPER_UNKNOWN   0x0
 

Record index is related to a record will be committed or backed out Definition at line 49 of file jf_recind_list.h.

Referenced by jf_recind_list_reset(), and jf_recind_list_set_uow_type().

#define JF_TRACE_MODULE   JF_TRACE_MOD_LIB_RECIND_LIST
 

Definition at line 42 of file jf_recind_list.h.


Function Documentation

int jf_recind_list_add jf_recind_list_t ril,
jf_offset_t  elem
 

Add an element to a record index list object

Parameters:
ril IN/OUT record index list object
elem IN element must be added to list
Returns:
a reason code
Definition at line 61 of file jf_recind_list.c.

References jf_recind_list_t::array, CATCH, jf_offset_t, JF_RC_INTERNAL_ERROR, JF_RC_OBJ_CORRUPTED, JF_RC_OK, JF_RC_REALLOC_ERROR, jf_recind_list_is_safe(), JF_TRACE, jf_recind_list_t::size, and THROW.

Referenced by jf_journal_cold_recovery_update_lists().

void jf_recind_list_create jf_recind_list_t ril  )  [inline, static]
 

Create a new object of type jf_recind_list_t

Parameters:
ril OUT record index list object
Definition at line 110 of file jf_recind_list.h.

References jf_recind_list_reset().

Referenced by jf_journal_cold_recovery_prep_pool(), and jf_journal_cold_recovery_update_lists().

void jf_recind_list_destroy jf_recind_list_t ril  ) 
 

Destroy an object of type jf_recind_list_t NOTE: the object MUST be created calling jf_recind_list_create before this method can be invoked

Parameters:
ril IN/OUT record index list object
Definition at line 46 of file jf_recind_list.c.

References jf_recind_list_t::array, jf_recind_list_is_safe(), jf_recind_list_reset(), and JF_TRACE.

Referenced by jf_recind_seq_destroy().

jf_offset_t jf_recind_list_get_elem const jf_recind_list_t ril,
size_t  pos
[inline, static]
 

Retrieve an element stored in the object

Parameters:
ril IN record index list object
pos IN position of the interesting element
Returns:
the element at position "pos"
Definition at line 196 of file jf_recind_list.h.

References jf_recind_list_t::array, jf_offset_t, JF_RECIND_NULL_OFFSET, and jf_recind_list_t::size.

Referenced by jf_journal_cold_recovery_patch_seq().

size_t jf_recind_list_get_size const jf_recind_list_t ril  )  [inline, static]
 

Retrieve the number of record indexes stored in the object

Parameters:
ril IN record index list object
Returns:
number of indexes stored
Definition at line 184 of file jf_recind_list.h.

References jf_recind_list_t::size.

Referenced by jf_journal_cold_recovery_patch_seq(), and jf_journal_cold_recovery_update_lists().

jf_word_t jf_recind_list_get_uow_type const jf_recind_list_t ril  )  [inline, static]
 

Get unit of work type for a record index list object

Parameters:
ril IN record index list object
Returns:
JF_RECIND_OPER_UNKNOWN, JF_RECIND_OPER_MUST_COMMIT, JF_RECIND_OPER_MUST_ROLLBACK
Definition at line 173 of file jf_recind_list.h.

References jf_word_t, and jf_recind_list_t::uow_type.

Referenced by jf_journal_cold_recovery_patch_seq().

int jf_recind_list_is_safe const jf_recind_list_t ril  )  [inline, static]
 

Is object safe?

Parameters:
ril IN record index list object
Returns:
TRUE, FALSE
Definition at line 130 of file jf_recind_list.h.

References jf_recind_list_t::array, and jf_recind_list_t::size.

Referenced by jf_recind_list_add(), and jf_recind_list_destroy().

void jf_recind_list_reset jf_recind_list_t ril  ) 
 

Reset a jf_recind_list_t object

Parameters:
ril OUT record index list object
Definition at line 36 of file jf_recind_list.c.

References jf_recind_list_t::array, JF_RECIND_OPER_UNKNOWN, JF_TRACE, jf_recind_list_t::size, and jf_recind_list_t::uow_type.

Referenced by jf_recind_list_create(), and jf_recind_list_destroy().

int jf_recind_list_set_uow_type jf_recind_list_t ril,
jf_word_t  uow_type
[inline, static]
 

Set unit of work type for a record index list object

Parameters:
ril IN/OUT record index list object
uow_type IN new value for unit of work type
Returns:
a reason code
Definition at line 152 of file jf_recind_list.h.

References JF_RC_OK, JF_RC_OUT_OF_RANGE, JF_RECIND_OPER_MUST_COMMIT, JF_RECIND_OPER_MUST_ROLLBACK, JF_RECIND_OPER_UNKNOWN, jf_word_t, and jf_recind_list_t::uow_type.

Referenced by jf_journal_cold_recovery_update_lists().


Copyright 2005 © Tiian