Skip to content

File mvcc.c

FileList > cubrid > src > transaction > mvcc.c

Go to the source code of this file

  • #include "mvcc.h"
  • #include "dbtype.h"
  • #include "heap_file.h"
  • #include "page_buffer.h"
  • #include "overflow_file.h"
  • #include "perf_monitor.h"
  • #include "porting_inline.hpp"
  • #include "vacuum.h"

Public Types

Type Name
enum mvcc_8c_1a223be06596dd9ff740bf0a09c8632294

Public Functions

Type Name
bool mvcc_is_mvcc_disabled_class (const OID * class_oid)
MVCC_SATISFIES_SNAPSHOT_RESULT mvcc_is_not_deleted_for_snapshot (THREAD_ENTRY * thread_p, MVCC_REC_HEADER * rec_header, MVCC_SNAPSHOT * snapshot)
MVCC_SATISFIES_DELETE_RESULT mvcc_satisfies_delete (THREAD_ENTRY * thread_p, MVCC_REC_HEADER * rec_header)
MVCC_SATISFIES_SNAPSHOT_RESULT mvcc_satisfies_dirty (THREAD_ENTRY * thread_p, MVCC_REC_HEADER * rec_header, MVCC_SNAPSHOT * snapshot)
MVCC_SATISFIES_SNAPSHOT_RESULT mvcc_satisfies_snapshot (THREAD_ENTRY * thread_p, MVCC_REC_HEADER * rec_header, MVCC_SNAPSHOT * snapshot)
MVCC_SATISFIES_VACUUM_RESULT mvcc_satisfies_vacuum (THREAD_ENTRY * thread_p, MVCC_REC_HEADER * rec_header, MVCCID oldest_mvccid)

Public Static Functions

Type Name
bool mvcc_is_active_id (THREAD_ENTRY * thread_p, MVCCID mvccid)
bool mvcc_is_id_in_snapshot (THREAD_ENTRY * thread_p, MVCCID mvcc_id, MVCC_SNAPSHOT * snapshot)

Macros

Type Name
define MVCC_IS_REC_DELETED_SINCE_MVCCID (rec_header_p, mvcc_id) (![**MVCC\_ID\_PRECEDES**](mvcc_8h.md#define-mvcc_id_precedes) (([**rec\_header\_p**](broker__monitor_8c.md#function-timeout))->mvcc\_del\_id, (mvcc\_id)))
define MVCC_IS_REC_DELETER_ACTIVE (thread_p, rec_header_p) ([**mvcc\_is\_active\_id**](mvcc_8c.md#function-mvcc_is_active_id) (thread\_p, ([**rec\_header\_p**](broker__monitor_8c.md#function-timeout))->mvcc\_del\_id))
define MVCC_IS_REC_DELETER_IN_SNAPSHOT (thread_p, rec_header_p, snapshot) ([**mvcc\_is\_id\_in\_snapshot**](mvcc_8c.md#function-mvcc_is_id_in_snapshot) (thread\_p, ([**rec\_header\_p**](broker__monitor_8c.md#function-timeout))->mvcc\_del\_id, (snapshot)))
define MVCC_IS_REC_INSERTED_SINCE_MVCCID (rec_header_p, mvcc_id) (![**MVCC\_ID\_PRECEDES**](mvcc_8h.md#define-mvcc_id_precedes) (([**rec\_header\_p**](broker__monitor_8c.md#function-timeout))->mvcc\_ins\_id, (mvcc\_id)))
define MVCC_IS_REC_INSERTER_ACTIVE (thread_p, rec_header_p) ([**mvcc\_is\_active\_id**](mvcc_8c.md#function-mvcc_is_active_id) (thread\_p, ([**rec\_header\_p**](broker__monitor_8c.md#function-timeout))->mvcc\_ins\_id))
define MVCC_IS_REC_INSERTER_IN_SNAPSHOT (thread_p, rec_header_p, snapshot) ([**mvcc\_is\_id\_in\_snapshot**](mvcc_8c.md#function-mvcc_is_id_in_snapshot) (thread\_p, ([**rec\_header\_p**](broker__monitor_8c.md#function-timeout))->mvcc\_ins\_id, (snapshot)))

Public Types Documentation

enum mvcc_8c_1a223be06596dd9ff740bf0a09c8632294

enum mvcc_8c_1a223be06596dd9ff740bf0a09c8632294 {
    NOT_VISITED = -1,
    VISITED_DEAD = -2,
    VISITED_ALIVE = -3
};

Public Functions Documentation

function mvcc_is_mvcc_disabled_class

bool mvcc_is_mvcc_disabled_class (
    const  OID * class_oid
) 

function mvcc_is_not_deleted_for_snapshot

MVCC_SATISFIES_SNAPSHOT_RESULT mvcc_is_not_deleted_for_snapshot (
    THREAD_ENTRY * thread_p,
    MVCC_REC_HEADER * rec_header,
    MVCC_SNAPSHOT * snapshot
) 

function mvcc_satisfies_delete

MVCC_SATISFIES_DELETE_RESULT mvcc_satisfies_delete (
    THREAD_ENTRY * thread_p,
    MVCC_REC_HEADER * rec_header
) 

function mvcc_satisfies_dirty

MVCC_SATISFIES_SNAPSHOT_RESULT mvcc_satisfies_dirty (
    THREAD_ENTRY * thread_p,
    MVCC_REC_HEADER * rec_header,
    MVCC_SNAPSHOT * snapshot
) 

function mvcc_satisfies_snapshot

MVCC_SATISFIES_SNAPSHOT_RESULT mvcc_satisfies_snapshot (
    THREAD_ENTRY * thread_p,
    MVCC_REC_HEADER * rec_header,
    MVCC_SNAPSHOT * snapshot
) 

function mvcc_satisfies_vacuum

MVCC_SATISFIES_VACUUM_RESULT mvcc_satisfies_vacuum (
    THREAD_ENTRY * thread_p,
    MVCC_REC_HEADER * rec_header,
    MVCCID oldest_mvccid
) 

Public Static Functions Documentation

function mvcc_is_active_id

static inline bool mvcc_is_active_id (
    THREAD_ENTRY * thread_p,
    MVCCID mvccid
) 

function mvcc_is_id_in_snapshot

static inline bool mvcc_is_id_in_snapshot (
    THREAD_ENTRY * thread_p,
    MVCCID mvcc_id,
    MVCC_SNAPSHOT * snapshot
) 

Macro Definition Documentation

define MVCC_IS_REC_DELETED_SINCE_MVCCID

#define MVCC_IS_REC_DELETED_SINCE_MVCCID (
    rec_header_p,
    mvcc_id
) `(! MVCC_ID_PRECEDES (( rec_header_p )->mvcc_del_id, (mvcc_id)))`

define MVCC_IS_REC_DELETER_ACTIVE

#define MVCC_IS_REC_DELETER_ACTIVE (
    thread_p,
    rec_header_p
) `( mvcc_is_active_id (thread_p, ( rec_header_p )->mvcc_del_id))`

define MVCC_IS_REC_DELETER_IN_SNAPSHOT

#define MVCC_IS_REC_DELETER_IN_SNAPSHOT (
    thread_p,
    rec_header_p,
    snapshot
) `( mvcc_is_id_in_snapshot (thread_p, ( rec_header_p )->mvcc_del_id, (snapshot)))`

define MVCC_IS_REC_INSERTED_SINCE_MVCCID

#define MVCC_IS_REC_INSERTED_SINCE_MVCCID (
    rec_header_p,
    mvcc_id
) `(! MVCC_ID_PRECEDES (( rec_header_p )->mvcc_ins_id, (mvcc_id)))`

define MVCC_IS_REC_INSERTER_ACTIVE

#define MVCC_IS_REC_INSERTER_ACTIVE (
    thread_p,
    rec_header_p
) `( mvcc_is_active_id (thread_p, ( rec_header_p )->mvcc_ins_id))`

define MVCC_IS_REC_INSERTER_IN_SNAPSHOT

#define MVCC_IS_REC_INSERTER_IN_SNAPSHOT (
    thread_p,
    rec_header_p,
    snapshot
) `( mvcc_is_id_in_snapshot (thread_p, ( rec_header_p )->mvcc_ins_id, (snapshot)))`


The documentation for this class was generated from the following file cubrid/src/transaction/mvcc.c