Skip to content

File storage_common.h

FileList > cubrid > src > storage > storage_common.h

Go to the source code of this file

  • #include "config.h"
  • #include <limits.h>
  • #include <time.h>
  • #include <stdio.h>
  • #include <assert.h>
  • #include "porting.h"
  • #include "porting_inline.hpp"
  • #include "dbtype_def.h"
  • #include "sha1.h"
  • #include "cache_time.h"

Classes

Type Name
struct btid
struct btree_node_split_info
struct dbdef_vol_ext_info
struct ehid
struct hfid
struct lorecdes
struct recdes
struct spacedb_all
struct spacedb_files
struct spacedb_onevol
struct xasl_id

Public Types

Type Name
enum AGGREGATE_HASH_STATE
typedef int ATTR_ID
typedef struct btid BTID
enum BTREE_CONSTRAINT_TYPE
enum BTREE_KEY_INFO_ID
enum BTREE_NODE_INFO_ID
typedef struct btree_node_split_info BTREE_NODE_SPLIT_INFO
enum BTREE_SEARCH
enum BTREE_TYPE
typedef struct dbdef_vol_ext_info DBDEF_VOL_EXT_INFO
enum DB_CLASS_PARTITION_TYPE
enum DB_PARTITION_TYPE
typedef PAGEID DKNPAGES
typedef SECTID DKNSECTS
typedef VOLID DKNVOLS
typedef struct ehid EHID
enum EH_SEARCH
typedef PAGEID FILEID
enum HEAP_PAGE_INFO_ID
enum HEAP_RECORD_INFO_ID
typedef struct hfid HFID
enum KILLSTMT_TYPE
enum LC_FIND_CLASSNAME
typedef INT64 LOG_PAGEID
typedef PAGEID LOG_PHY_PAGEID
typedef INT32 LOLENGTH
typedef struct lorecdes LORECDES
typedef UINT64 MVCCID
enum NON_EXISTENT_HANDLING
enum OPERATOR_TYPE
typedef INT32 PAGEID
typedef char * PAGE_PTR
enum PAGE_TYPE
typedef INT16 PGLENGTH
typedef PGSLOTID PGNSLOTS
typedef INT16 PGSLOTID
enum QUERY_OPTIONS
enum RANGE_TYPE
typedef struct recdes RECDES
typedef int REPR_ID
enum SCAN_CODE
enum SCAN_DIRECTION
enum SCAN_OPERATION_TYPE
enum SCAN_POSITION
enum SCAN_STATUS
typedef INT32 SECTID
enum SHOWSTMT_TYPE
enum SM_ATTRIBUTE_FLAG
enum SM_CONSTRAINT_FIXED_FIELD_REVERSE_INDEX
enum SM_FOREIGN_KEY_ACTION
enum SM_FOREIGN_KEY_INFO_INDEX
enum SM_FOREIGN_KEY_MATCH_OPTION
enum SM_INDEX_FLAG
enum SM_NAME_SPACE
typedef struct spacedb_all SPACEDB_ALL
enum SPACEDB_ALL_TYPE
typedef struct spacedb_files SPACEDB_FILES
enum SPACEDB_FILE_TYPE
typedef struct spacedb_onevol SPACEDB_ONEVOL
typedef int TRANID
typedef INT16 VOLID
typedef struct xasl_id XASL_ID
enum storage__common_8h_1ac8dc960ed0e83a06356ee2589564f7a9
enum storage__common_8h_1adab0c4467b3c6f365e87d0316a74bf64

Public Attributes

Type Name
const int SM_MAX_STRING_LENGTH
PGLENGTH db_Io_page_size
PGLENGTH db_Log_page_size
PGLENGTH db_User_page_size

Public Static Attributes

Type Name
const bool COPY = [**false**](broker__monitor_8c.md#function-timeout)
const bool PEEK = [**true**](broker__monitor_8c.md#function-timeout)

Public Functions

Type Name
char * btid_to_string (char * buf, int buf_size, BTID * btid)
INT16 db_network_page_size (void)
void db_print_data (DB_TYPE type, DB_DATA * data, FILE * fd)
int db_set_page_size (INT16 io_page_size, INT16 log_page_size)
char * hfid_to_string (char * buf, int buf_size, HFID * hfid)
char * oid_to_string (char * buf, int buf_size, OID * oid)
int recdes_allocate_data_area (RECDES * rec, int size)
void recdes_free_data_area (RECDES * rec)
void recdes_set_data_area (RECDES * rec, char * data, int size)
char * vfid_to_string (char * buf, int buf_size, VFID * vfid)
char * vpid_to_string (char * buf, int buf_size, VPID * vpid)

Public Static Functions

Type Name
int get_class_constraint_att_count (int size)
int get_class_constraint_index (int size, SM_CONSTRAINT_FIXED_FIELD_REVERSE_INDEX index)

Macros

Type Name
define BTID_AS_ARGS (btid) ([**btid**](structbtid.md))-&gt;root\_pageid, [**VFID\_AS\_ARGS**](dbtype__def_8h.md#define-vfid_as_args) (&([**btid**](structbtid.md))-&gt;[**vfid**](structvfid.md))
define BTID_COPY (btid_ptr1, btid_ptr2) \*([**btid\_ptr1**](broker__monitor_8c.md#function-timeout)) = \*([**btid\_ptr2**](broker__monitor_8c.md#function-timeout))
define BTID_INITIALIZER { [**VFID\_INITIALIZER**](dbtype__def_8h.md#define-vfid_initializer), [**NULL\_PAGEID**](storage__common_8h.md#define-null_pageid) }
define BTID_IS_EQUAL (b1, b2) /* multi line expression */
define BTID_IS_NULL (btid) ((([**btid**](structbtid.md))-&gt;[**vfid.fileid**](structvfid.md#variable-fileid) == [**NULL\_FILEID**](storage__common_8h.md#define-null_fileid)) ? 1 : 0)
define BTID_SET_NULL (btid) /* multi line expression */
define CACHE_TIME_AS_ARGS (ct) ([**ct**](broker__monitor_8c.md#function-timeout))-&gt;sec, ([**ct**](broker__monitor_8c.md#function-timeout))-&gt;usec
define CACHE_TIME_EQ (T1, T2) ((([**T1**](broker__monitor_8c.md#function-timeout))-&gt;sec != 0) && (([**T1**](broker__monitor_8c.md#function-timeout))-&gt;sec == ([**T2**](broker__monitor_8c.md#function-timeout))-&gt;sec) && (([**T1**](broker__monitor_8c.md#function-timeout))-&gt;usec == ([**T2**](broker__monitor_8c.md#function-timeout))-&gt;usec))
define CACHE_TIME_MAKE (CT, TV) /* multi line expression */
define CACHE_TIME_RESET (T) /* multi line expression */
define COMPOSITE_LOCK (scan_op_type) (scan\_op\_type != S\_SELECT)
define CUBRID_MAGIC_DATABASE_BACKUP "CUBRID/[**Backup\_v2"**](broker__monitor_8c.md#function-timeout)
define CUBRID_MAGIC_DATABASE_BACKUP_OLD "CUBRID/[**Backup"**](broker__monitor_8c.md#function-timeout)
define CUBRID_MAGIC_DATABASE_VOLUME "CUBRID/[**Volume"**](broker__monitor_8c.md#function-timeout)
define CUBRID_MAGIC_KEYS "CUBRID/[**Keys"**](broker__monitor_8c.md#function-timeout)
define CUBRID_MAGIC_LOG_ACTIVE "CUBRID/[**LogActive"**](broker__monitor_8c.md#function-timeout)
define CUBRID_MAGIC_LOG_ARCHIVE "CUBRID/[**LogArchive"**](broker__monitor_8c.md#function-timeout)
define CUBRID_MAGIC_LOG_INFO "CUBRID/[**LogInfo"**](broker__monitor_8c.md#function-timeout)
define CUBRID_MAGIC_MAX_LENGTH 25
define CUBRID_MAGIC_PREFIX "CUBRID/"
define DB_MAX_PATH_LENGTH [**PATH\_MAX**](broker__monitor_8c.md#function-timeout)
define DB_PAGESIZE [**db\_User\_page\_size**](storage__common_8c.md#variable-db_user_page_size)
define DB_SECTORSIZE ([**DISK\_SECTOR\_NPAGES**](storage__common_8h.md#define-disk_sector_npages) \* [**DB\_PAGESIZE**](storage__common_8h.md#define-db_pagesize))
define DISK_SECTOR_NPAGES 64
define DISK_VFID_ALIGNED_SIZE ([**DISK\_VFID\_SIZE**](storage__common_8h.md#define-disk_vfid_size) + [**OR\_SHORT\_SIZE**](object__representation__constants_8h.md#define-or_short_size))
define DISK_VFID_SIZE ([**OR\_INT\_SIZE**](object__representation__constants_8h.md#define-or_int_size) + [**OR\_SHORT\_SIZE**](object__representation__constants_8h.md#define-or_short_size))
define DISK_VOLPURPOSE [**DB\_VOLPURPOSE**](dbtype__def_8h.md#enum-db_volpurpose)
define DISK_VPID_ALIGNED_SIZE ([**DISK\_VPID\_SIZE**](storage__common_8h.md#define-disk_vpid_size) + [**OR\_SHORT\_SIZE**](object__representation__constants_8h.md#define-or_short_size))
define DISK_VPID_SIZE ([**OR\_INT\_SIZE**](object__representation__constants_8h.md#define-or_int_size) + [**OR\_SHORT\_SIZE**](object__representation__constants_8h.md#define-or_short_size))
define HFID_AS_ARGS (hfid) ([**hfid**](structhfid.md))-&gt;hpgid, [**VFID\_AS\_ARGS**](dbtype__def_8h.md#define-vfid_as_args) (&([**hfid**](structhfid.md))-&gt;[**vfid**](structvfid.md))
define HFID_COPY (hfid_ptr1, hfid_ptr2) \*([**hfid\_ptr1**](broker__monitor_8c.md#function-timeout)) = \*([**hfid\_ptr2**](broker__monitor_8c.md#function-timeout))
define HFID_INITIALIZER { [**VFID\_INITIALIZER**](dbtype__def_8h.md#define-vfid_initializer), [**NULL\_PAGEID**](storage__common_8h.md#define-null_pageid) }
define HFID_IS_NULL (hfid) ((([**hfid**](structhfid.md))-&gt;[**vfid.fileid**](structvfid.md#variable-fileid) == [**NULL\_FILEID**](storage__common_8h.md#define-null_fileid)) ? 1 : 0)
define HFID_SET_NULL (hfid) /* multi line expression */
define IO_DEFAULT_PAGE_SIZE (16 \* [**ONE\_K**](porting_8h.md#define-one_k))
define IO_MAX_PAGE_SIZE (16 \* [**ONE\_K**](porting_8h.md#define-one_k))
define IO_MIN_PAGE_SIZE (4 \* [**ONE\_K**](porting_8h.md#define-one_k))
define IO_PAGESIZE [**db\_Io\_page\_size**](storage__common_8c.md#variable-db_io_page_size)
define IO_SECTORSIZE ([**DISK\_SECTOR\_NPAGES**](storage__common_8h.md#define-disk_sector_npages) \* [**IO\_PAGESIZE**](storage__common_8h.md#define-io_pagesize))
define ISCAN_OID_BUFFER_CAPACITY ([**MAX**](broker__monitor_8c.md#function-timeout) ([**ISCAN\_OID\_BUFFER\_MIN\_CAPACITY**](storage__common_8h.md#define-iscan_oid_buffer_min_capacity), [**ISCAN\_OID\_BUFFER\_SIZE**](storage__common_8h.md#define-iscan_oid_buffer_size)))
define ISCAN_OID_BUFFER_COUNT ([**ISCAN\_OID\_BUFFER\_SIZE**](storage__common_8h.md#define-iscan_oid_buffer_size) / [**OR\_OID\_SIZE**](object__representation__constants_8h.md#define-or_oid_size))
define ISCAN_OID_BUFFER_MIN_CAPACITY (2 \* [**DB\_PAGESIZE**](storage__common_8h.md#define-db_pagesize))
define ISCAN_OID_BUFFER_SIZE /* multi line expression */
define IS_POWER_OF_2 (x) ((([**x**](broker__monitor_8c.md#function-timeout)) & (([**x**](broker__monitor_8c.md#function-timeout)) - 1)) == 0)
define IS_WRITE_EXCLUSIVE_LOCK (lock) ((lock) == X\_LOCK \|\| (lock) == SCH\_M\_LOCK)
define LC_DOESNOT_EXIST 2
define LC_ERROR 3
define LC_EXIST 1
define LEAF_RECORD_SIZE (0)
define LOGPAGEID_MAX 0x7fffffffffffLL /\* 6 bytes length \*/
define LOG_PAGESIZE [**db\_Log\_page\_size**](storage__common_8c.md#variable-db_log_page_size)
define MVCCID_ALL_VISIBLE (([**MVCCID**](storage__common_8h.md#typedef-mvccid)) 3) /\* [**visible**](broker__monitor_8c.md#function-timeout) [**for**](dynamic__load_8c.md#function-for) [**all**](broker__monitor_8c.md#function-timeout) [**transactions**](broker__monitor_8c.md#function-timeout) \*/
define MVCCID_FIRST (([**MVCCID**](storage__common_8h.md#typedef-mvccid)) 4)
define MVCCID_FORWARD (id) /* multi line expression */
define MVCCID_IS_EQUAL (id1, id2) (([**id1**](broker__monitor_8c.md#function-timeout)) == ([**id2**](broker__monitor_8c.md#function-timeout)))
define MVCCID_IS_NORMAL (id) (([**id**](thread__worker__pool__impl_8hpp.md#enum-id)) &gt;= [**MVCCID\_FIRST**](storage__common_8h.md#define-mvccid_first))
define MVCCID_IS_NOT_ALL_VISIBLE (id) ([**MVCCID\_IS\_VALID**](storage__common_8h.md#define-mvccid_is_valid) ([**id**](thread__worker__pool__impl_8hpp.md#enum-id)) && (([**id**](thread__worker__pool__impl_8hpp.md#enum-id)) != [**MVCCID\_ALL\_VISIBLE**](storage__common_8h.md#define-mvccid_all_visible)))
define MVCCID_IS_VALID (id) (([**id**](thread__worker__pool__impl_8hpp.md#enum-id)) != [**MVCCID\_NULL**](storage__common_8h.md#define-mvccid_null))
define MVCCID_NULL (0)
define NON_LEAF_RECORD_SIZE ([**DISK\_VPID\_ALIGNED\_SIZE**](storage__common_8h.md#define-disk_vpid_aligned_size))
define NULL_ATTRID -1 /\* Null [**Attribute**](broker__monitor_8c.md#function-timeout) [**Identifier**](broker__monitor_8c.md#function-timeout) \*/
define NULL_FILEID (-1) /\* [**Value**](broker__monitor_8c.md#function-timeout) [**of**](broker__monitor_8c.md#function-timeout) [**an**](broker__monitor_8c.md#function-timeout) [**invalid**](broker__monitor_8c.md#function-timeout) file [**identifier**](broker__monitor_8c.md#function-timeout) \*/
define NULL_OFFSET (-1) /\* [**Value**](broker__monitor_8c.md#function-timeout) [**of**](broker__monitor_8c.md#function-timeout) [**an**](broker__monitor_8c.md#function-timeout) [**invalid**](broker__monitor_8c.md#function-timeout) offset \*/
define NULL_PAGEID (-1) /\* [**Value**](broker__monitor_8c.md#function-timeout) [**of**](broker__monitor_8c.md#function-timeout) [**an**](broker__monitor_8c.md#function-timeout) [**invalid**](broker__monitor_8c.md#function-timeout) page [**identifier**](broker__monitor_8c.md#function-timeout) \*/
define NULL_REPRID -1 /\* Null [**Representation**](broker__monitor_8c.md#function-timeout) [**Identifier**](broker__monitor_8c.md#function-timeout) \*/
define NULL_SECTID (-1) /\* [**Value**](broker__monitor_8c.md#function-timeout) [**of**](broker__monitor_8c.md#function-timeout) [**an**](broker__monitor_8c.md#function-timeout) [**invalid**](broker__monitor_8c.md#function-timeout) [**sector**](broker__monitor_8c.md#function-timeout) [**identifier**](broker__monitor_8c.md#function-timeout) \*/
define NULL_SLOTID (-1) /\* [**Value**](broker__monitor_8c.md#function-timeout) [**of**](broker__monitor_8c.md#function-timeout) [**an**](broker__monitor_8c.md#function-timeout) [**invalid**](broker__monitor_8c.md#function-timeout) [**slot**](structslot.md) [**identifier**](broker__monitor_8c.md#function-timeout) \*/
define NULL_TRANID (-1)
define NULL_TRAN_INDEX (-1)
define NULL_VOLID (-1) /\* [**Value**](broker__monitor_8c.md#function-timeout) [**of**](broker__monitor_8c.md#function-timeout) [**an**](broker__monitor_8c.md#function-timeout) [**invalid**](broker__monitor_8c.md#function-timeout) volume [**identifier**](broker__monitor_8c.md#function-timeout) \*/
define NUM_F_GENERIC_ARGS 32
define NUM_F_INSERT_SUBSTRING_ARGS 4
define OR_CACHE_TIME_SIZE ([**OR\_INT\_SIZE**](object__representation__constants_8h.md#define-or_int_size) \* 2)
define OR_PACK_CACHE_TIME (PTR, T) /* multi line expression */
define OR_UNPACK_CACHE_TIME (PTR, T) /* multi line expression */
define PAGEID_MAX [**INT\_MAX**](broker__monitor_8c.md#function-timeout)
define PGLENGTH_MAX [**SHRT\_MAX**](broker__monitor_8c.md#function-timeout)
define READONLY_SCAN (scan_op_type) (scan\_op\_type == S\_SELECT)
define RECDES_INITIALIZER { 0, -1, REC\_UNKNOWN, [**NULL**](freelistheap_8h.md#define-null) }
define RECORD_MOVE_DATA (rec, dest_offset, src_offset) /* multi line expression */
define RECORD_REPLACE_DATA (record, offset_to_data, old_data_size, new_data_size, new_data) /* multi line expression */
define SECTID_MAX [**INT\_MAX**](broker__monitor_8c.md#function-timeout)
define SECTOR_FIRST_PAGEID (sid) (([**sid**](broker__monitor_8c.md#function-timeout)) \* [**DISK\_SECTOR\_NPAGES**](storage__common_8h.md#define-disk_sector_npages))
define SECTOR_FROM_PAGEID (pageid) ((pageid) / [**DISK\_SECTOR\_NPAGES**](storage__common_8h.md#define-disk_sector_npages))
define SECTOR_LAST_PAGEID (sid) (((([**sid**](broker__monitor_8c.md#function-timeout)) + 1) \* [**DISK\_SECTOR\_NPAGES**](storage__common_8h.md#define-disk_sector_npages)) - 1)
define SERIAL_ATTR_ATTR_NAME "attr\_name"
define SERIAL_ATTR_CACHED_NUM "cached\_num"
define SERIAL_ATTR_CLASS_NAME "class\_name"
define SERIAL_ATTR_COMMENT "comment"
define SERIAL_ATTR_CURRENT_VAL "current\_val"
define SERIAL_ATTR_CYCLIC "cyclic"
define SERIAL_ATTR_INCREMENT_VAL "increment\_val"
define SERIAL_ATTR_MAX_VAL "max\_val"
define SERIAL_ATTR_MIN_VAL "min\_val"
define SERIAL_ATTR_NAME "name"
define SERIAL_ATTR_OWNER "owner"
define SERIAL_ATTR_STARTED "started"
define SERIAL_ATTR_START_VAL "start\_val"
define SERIAL_ATTR_UNIQUE_NAME "unique\_name"
define SERVER_SESSION_KEY_SIZE 8
define SM_FILTER_INDEX_ID "\*FP\*"
define SM_FUNCTION_INDEX_ID "\*FI\*"
define SM_MAX_IDENTIFIER_LENGTH [**DB\_MAX\_IDENTIFIER\_LENGTH**](dbtype__def_8h.md#define-db_max_identifier_length)
define SM_MAX_USER_LENGTH [**DB\_MAX\_USER\_LENGTH**](dbtype__def_8h.md#define-db_max_user_length)
define SM_PREFIX_INDEX_ID "\*PLID\*"
define SM_PROPERTY_FOREIGN_KEY "\*FK"
define SM_PROPERTY_INDEX "\*I"
define SM_PROPERTY_NOT_NULL "\*N"
define SM_PROPERTY_NUM_INDEX_FAMILY 6
define SM_PROPERTY_PRIMARY_KEY "\*P"
define SM_PROPERTY_REVERSE_INDEX "\*RI"
define SM_PROPERTY_REVERSE_UNIQUE "\*RU"
define SM_PROPERTY_UNIQUE "\*U"
define SM_PROPERTY_VID_KEY "\*V\_KY"
define SPLIT_INFO_SIZE ([**OR\_FLOAT\_SIZE**](object__representation__constants_8h.md#define-or_float_size) + [**OR\_INT\_SIZE**](object__representation__constants_8h.md#define-or_int_size))
define VOLID_MAX [**SHRT\_MAX**](broker__monitor_8c.md#function-timeout)
define VOL_MAX_NPAGES (page_size) (([**sizeof**](broker__monitor_8c.md#function-timeout)([**off\_t**](broker__monitor_8c.md#function-timeout)) == 4) ? ([**INT\_MAX**](broker__monitor_8c.md#function-timeout) / ([**page\_size**](unloaddb_8c.md#variable-page_size))) : [**INT\_MAX**](broker__monitor_8c.md#function-timeout))
define VOL_MAX_NSECTS (page_size) ([**VOL\_MAX\_NPAGES**](storage__common_8h.md#define-vol_max_npages)([**page\_size**](unloaddb_8c.md#variable-page_size)) / [**DISK\_SECTOR\_NPAGES**](storage__common_8h.md#define-disk_sector_npages))
define VSID_FROM_VPID (vsid, vpid) ([**vsid**](structvsid.md))-&gt;volid = ([**vpid**](structvpid.md))-&gt;volid; ([**vsid**](structvsid.md))-&gt;sectid = [**SECTOR\_FROM\_PAGEID**](storage__common_8h.md#define-sector_from_pageid) (([**vpid**](structvpid.md))-&gt;pageid)
define VSID_IS_SECTOR_OF_VPID (vsid, vpid) (([**vsid**](structvsid.md))-&gt;volid == ([**vpid**](structvpid.md))-&gt;volid && ([**vsid**](structvsid.md))-&gt;sectid == [**SECTOR\_FROM\_PAGEID**](storage__common_8h.md#define-sector_from_pageid) (([**vpid**](structvpid.md))-&gt;pageid))

Public Types Documentation

enum AGGREGATE_HASH_STATE

enum AGGREGATE_HASH_STATE {
    HS_NONE = 0,
    HS_ACCEPT_ALL,
    HS_REJECT_ALL
};

typedef ATTR_ID

typedef int ATTR_ID;

typedef BTID

typedef struct btid BTID;

enum BTREE_CONSTRAINT_TYPE

enum BTREE_CONSTRAINT_TYPE {
    BTREE_CONSTRAINT_UNIQUE = 0x01,
    BTREE_CONSTRAINT_PRIMARY_KEY = 0x02
};

enum BTREE_KEY_INFO_ID

enum BTREE_KEY_INFO_ID {
    BTREE_KEY_INFO_INVALID = -1,
    BTREE_KEY_INFO_VOLUMEID = 0,
    BTREE_KEY_INFO_PAGEID,
    BTREE_KEY_INFO_SLOTID,
    BTREE_KEY_INFO_KEY,
    BTREE_KEY_INFO_OID_COUNT,
    BTREE_KEY_INFO_FIRST_OID,
    BTREE_KEY_INFO_OVERFLOW_KEY,
    BTREE_KEY_INFO_OVERFLOW_OIDS,
    BTREE_KEY_INFO_COUNT
};

enum BTREE_NODE_INFO_ID

enum BTREE_NODE_INFO_ID {
    BTREE_NODE_INFO_INVALID = -1,
    BTREE_NODE_INFO_VOLUMEID = 0,
    BTREE_NODE_INFO_PAGEID,
    BTREE_NODE_INFO_NODE_TYPE,
    BTREE_NODE_INFO_KEY_COUNT,
    BTREE_NODE_INFO_FIRST_KEY,
    BTREE_NODE_INFO_LAST_KEY,
    BTREE_NODE_INFO_COUNT
};

typedef BTREE_NODE_SPLIT_INFO

typedef struct btree_node_split_info BTREE_NODE_SPLIT_INFO;

enum BTREE_SEARCH {
    BTREE_KEY_FOUND,
    BTREE_KEY_NOTFOUND,
    BTREE_ERROR_OCCURRED,
    BTREE_ACTIVE_KEY_FOUND,
    BTREE_KEY_SMALLER,
    BTREE_KEY_BIGGER,
    BTREE_KEY_BETWEEN
};

enum BTREE_TYPE

enum BTREE_TYPE {
    BTREE_UNIQUE,
    BTREE_INDEX,
    BTREE_REVERSE_UNIQUE,
    BTREE_REVERSE_INDEX,
    BTREE_PRIMARY_KEY,
    BTREE_FOREIGN_KEY
};

typedef DBDEF_VOL_EXT_INFO

typedef struct dbdef_vol_ext_info DBDEF_VOL_EXT_INFO;

enum DB_CLASS_PARTITION_TYPE

enum DB_CLASS_PARTITION_TYPE {
    DB_NOT_PARTITIONED_CLASS = 0,
    DB_PARTITIONED_CLASS = 1,
    DB_PARTITION_CLASS = 2
};

enum DB_PARTITION_TYPE

enum DB_PARTITION_TYPE {
    DB_PARTITION_HASH = 0,
    DB_PARTITION_RANGE,
    DB_PARTITION_LIST
};

typedef DKNPAGES

typedef PAGEID DKNPAGES;

typedef DKNSECTS

typedef SECTID DKNSECTS;

typedef DKNVOLS

typedef VOLID DKNVOLS;

typedef EHID

typedef struct ehid EHID;

enum EH_SEARCH {
    EH_KEY_FOUND,
    EH_KEY_NOTFOUND,
    EH_ERROR_OCCURRED
};

typedef FILEID

typedef PAGEID FILEID;

enum HEAP_PAGE_INFO_ID

enum HEAP_PAGE_INFO_ID {
    HEAP_PAGE_INFO_INVALID = -1,
    HEAP_PAGE_INFO_CLASS_OID = 0,
    HEAP_PAGE_INFO_CUR_VOLUME,
    HEAP_PAGE_INFO_CUR_PAGE,
    HEAP_PAGE_INFO_PREV_PAGE,
    HEAP_PAGE_INFO_NEXT_PAGE,
    HEAP_PAGE_INFO_NUM_SLOTS,
    HEAP_PAGE_INFO_NUM_RECORDS,
    HEAP_PAGE_INFO_ANCHOR_TYPE,
    HEAP_PAGE_INFO_ALIGNMENT,
    HEAP_PAGE_INFO_TOTAL_FREE,
    HEAP_PAGE_INFO_CONT_FREE,
    HEAP_PAGE_INFO_OFFSET_TO_FREE_AREA,
    HEAP_PAGE_INFO_IS_SAVING,
    HEAP_PAGE_INFO_UPDATE_BEST,
    HEAP_PAGE_INFO_COUNT,
    HEAP_PAGE_INFO_FIRST = HEAP_PAGE_INFO_CLASS_OID
};

enum HEAP_RECORD_INFO_ID

enum HEAP_RECORD_INFO_ID {
    HEAP_RECORD_INFO_INVALID = -1,
    HEAP_RECORD_INFO_T_PAGEID = 0,
    HEAP_RECORD_INFO_T_SLOTID,
    HEAP_RECORD_INFO_T_VOLUMEID,
    HEAP_RECORD_INFO_T_OFFSET,
    HEAP_RECORD_INFO_T_LENGTH,
    HEAP_RECORD_INFO_T_REC_TYPE,
    HEAP_RECORD_INFO_T_REPRID,
    HEAP_RECORD_INFO_T_CHN,
    HEAP_RECORD_INFO_T_MVCC_INSID,
    HEAP_RECORD_INFO_T_MVCC_DELID,
    HEAP_RECORD_INFO_T_MVCC_FLAGS,
    HEAP_RECORD_INFO_T_MVCC_PREV_VERSION,
    HEAP_RECORD_INFO_COUNT,
    HEAP_RECORD_INFO_FIRST = HEAP_RECORD_INFO_T_PAGEID
};

typedef HFID

typedef struct hfid HFID;

enum KILLSTMT_TYPE

enum KILLSTMT_TYPE {
    KILLSTMT_TRAN = 0,
    KILLSTMT_QUERY = 1
};

enum LC_FIND_CLASSNAME

enum LC_FIND_CLASSNAME {
    LC_CLASSNAME_RESERVED,
    LC_CLASSNAME_DELETED,
    LC_CLASSNAME_EXIST,
    LC_CLASSNAME_ERROR,
    LC_CLASSNAME_RESERVED_RENAME,
    LC_CLASSNAME_DELETED_RENAME
};

typedef LOG_PAGEID

typedef INT64 LOG_PAGEID;

typedef LOG_PHY_PAGEID

typedef PAGEID LOG_PHY_PAGEID;

typedef LOLENGTH

typedef INT32 LOLENGTH;

typedef LORECDES

typedef struct lorecdes LORECDES;

typedef MVCCID

typedef UINT64 MVCCID;

enum NON_EXISTENT_HANDLING

enum NON_EXISTENT_HANDLING {
    LOG_ERROR_IF_DELETED,
    LOG_WARNING_IF_DELETED
};

enum OPERATOR_TYPE

enum OPERATOR_TYPE {
    T_ADD,
    T_SUB,
    T_MUL,
    T_DIV,
    T_UNPLUS,
    T_UNMINUS,
    T_PRIOR,
    T_CONNECT_BY_ROOT,
    T_QPRIOR,
    T_BIT_NOT,
    T_BIT_AND,
    T_BIT_OR,
    T_BIT_XOR,
    T_BIT_COUNT,
    T_BITSHIFT_LEFT,
    T_BITSHIFT_RIGHT,
    T_INTDIV,
    T_INTMOD,
    T_IF,
    T_IFNULL,
    T_ISNULL,
    T_ACOS,
    T_ASIN,
    T_ATAN,
    T_ATAN2,
    T_COS,
    T_SIN,
    T_TAN,
    T_COT,
    T_PI,
    T_DEGREES,
    T_RADIANS,
    T_FORMAT,
    T_CONCAT,
    T_CONCAT_WS,
    T_FIELD,
    T_LEFT,
    T_RIGHT,
    T_REPEAT,
    T_SPACE,
    T_LOCATE,
    T_MID,
    T_STRCMP,
    T_REVERSE,
    T_DISK_SIZE,
    T_LN,
    T_LOG2,
    T_LOG10,
    T_ADDDATE,
    T_DATE_ADD,
    T_SUBDATE,
    T_DATE_SUB,
    T_DATE_FORMAT,
    T_STR_TO_DATE,
    T_MOD,
    T_POSITION,
    T_SUBSTRING,
    T_SUBSTRING_INDEX,
    T_OCTET_LENGTH,
    T_BIT_LENGTH,
    T_CHAR_LENGTH,
    T_MD5,
    T_LOWER,
    T_UPPER,
    T_LIKE_LOWER_BOUND,
    T_LIKE_UPPER_BOUND,
    T_TRIM,
    T_LTRIM,
    T_RTRIM,
    T_LPAD,
    T_RPAD,
    T_REPLACE,
    T_TRANSLATE,
    T_ADD_MONTHS,
    T_LAST_DAY,
    T_MONTHS_BETWEEN,
    T_SYS_DATE,
    T_SYS_TIME,
    T_SYS_TIMESTAMP,
    T_UTC_TIME,
    T_UTC_DATE,
    T_TIME_FORMAT,
    T_TIMESTAMP,
    T_UNIX_TIMESTAMP,
    T_FROM_UNIXTIME,
    T_SYS_DATETIME,
    T_YEAR,
    T_MONTH,
    T_DAY,
    T_HOUR,
    T_MINUTE,
    T_SECOND,
    T_QUARTER,
    T_WEEKDAY,
    T_DAYOFWEEK,
    T_DAYOFYEAR,
    T_TODAYS,
    T_FROMDAYS,
    T_TIMETOSEC,
    T_SECTOTIME,
    T_MAKEDATE,
    T_MAKETIME,
    T_WEEK,
    T_TO_CHAR,
    T_TO_DATE,
    T_TO_TIME,
    T_TO_TIMESTAMP,
    T_TO_DATETIME,
    T_TO_NUMBER,
    T_CURRENT_VALUE,
    T_NEXT_VALUE,
    T_CAST,
    T_CAST_NOFAIL,
    T_CAST_WRAP,
    T_CASE,
    T_EXTRACT,
    T_LOCAL_TRANSACTION_ID,
    T_FLOOR,
    T_CEIL,
    T_SIGN,
    T_POWER,
    T_ROUND,
    T_LOG,
    T_EXP,
    T_SQRT,
    T_TRUNC,
    T_ABS,
    T_CHR,
    T_INSTR,
    T_LEAST,
    T_GREATEST,
    T_STRCAT,
    T_NULLIF,
    T_COALESCE,
    T_NVL,
    T_NVL2,
    T_DECODE,
    T_RAND,
    T_DRAND,
    T_RANDOM,
    T_DRANDOM,
    T_INCR,
    T_DECR,
    T_SYS_CONNECT_BY_PATH,
    T_DATE,
    T_TIME,
    T_DATEDIFF,
    T_TIMEDIFF,
    T_ROW_COUNT,
    T_LAST_INSERT_ID,
    T_DEFAULT,
    T_LIST_DBS,
    T_BIT_TO_BLOB,
    T_BLOB_TO_BIT,
    T_CHAR_TO_CLOB,
    T_CLOB_TO_CHAR,
    T_LOB_LENGTH,
    T_TYPEOF,
    T_INDEX_CARDINALITY,
    T_EVALUATE_VARIABLE,
    T_DEFINE_VARIABLE,
    T_PREDICATE,
    T_EXEC_STATS,
    T_ADDTIME,
    T_BIN,
    T_FINDINSET,
    T_HEX,
    T_ASCII,
    T_CONV,
    T_INET_ATON,
    T_INET_NTOA,
    T_TO_ENUMERATION_VALUE,
    T_CHARSET,
    T_COLLATION,
    T_WIDTH_BUCKET,
    T_TRACE_STATS,
    T_AES_ENCRYPT,
    T_AES_DECRYPT,
    T_SHA_ONE,
    T_SHA_TWO,
    T_INDEX_PREFIX,
    T_TO_BASE64,
    T_FROM_BASE64,
    T_SYS_GUID,
    T_SLEEP,
    T_DBTIMEZONE,
    T_SESSIONTIMEZONE,
    T_TZ_OFFSET,
    T_NEW_TIME,
    T_FROM_TZ,
    T_TO_DATETIME_TZ,
    T_TO_TIMESTAMP_TZ,
    T_UTC_TIMESTAMP,
    T_CRC32,
    T_CURRENT_DATETIME,
    T_CURRENT_TIMESTAMP,
    T_CURRENT_DATE,
    T_CURRENT_TIME,
    T_CONV_TZ
};

typedef PAGEID

typedef INT32 PAGEID;

typedef PAGE_PTR

typedef char* PAGE_PTR;

enum PAGE_TYPE

enum PAGE_TYPE {
    PAGE_UNKNOWN = 0,
    PAGE_FTAB,
    PAGE_HEAP,
    PAGE_VOLHEADER,
    PAGE_VOLBITMAP,
    PAGE_QRESULT,
    PAGE_EHASH,
    PAGE_OVERFLOW,
    PAGE_AREA,
    PAGE_CATALOG,
    PAGE_BTREE,
    PAGE_LOG,
    PAGE_DROPPED_FILES,
    PAGE_VACUUM_DATA,
    PAGE_LAST = PAGE_VACUUM_DATA
};

typedef PGLENGTH

typedef INT16 PGLENGTH;

typedef PGNSLOTS

typedef PGSLOTID PGNSLOTS;

typedef PGSLOTID

typedef INT16 PGSLOTID;

enum QUERY_OPTIONS

enum QUERY_OPTIONS {
    Q_DISTINCT,
    Q_ALL
};

enum RANGE_TYPE

enum RANGE_TYPE {
    R_KEY = 1,
    R_RANGE,
    R_KEYLIST,
    R_RANGELIST
};

typedef RECDES

typedef struct recdes RECDES;

typedef REPR_ID

typedef int REPR_ID;

enum SCAN_CODE

enum SCAN_CODE {
    S_ERROR = -1,
    S_END = 0,
    S_SUCCESS = 1,
    S_SUCCESS_CHN_UPTODATE,
    S_DOESNT_FIT,
    S_DOESNT_EXIST,
    S_SNAPSHOT_NOT_SATISFIED
};

enum SCAN_DIRECTION

enum SCAN_DIRECTION {
    S_FORWARD = 1,
    S_BACKWARD
};

enum SCAN_OPERATION_TYPE

enum SCAN_OPERATION_TYPE {
    S_SELECT,
    S_SELECT_WITH_LOCK,
    S_DELETE,
    S_UPDATE
};

enum SCAN_POSITION

enum SCAN_POSITION {
    S_BEFORE = 1,
    S_ON,
    S_GO_BACKWARD,
    S_AFTER
};

enum SCAN_STATUS

enum SCAN_STATUS {
    S_OPENED = 1,
    S_STARTED,
    S_ENDED,
    S_CLOSED
};

typedef SECTID

typedef INT32 SECTID;

enum SHOWSTMT_TYPE

enum SHOWSTMT_TYPE {
    SHOWSTMT_START = 0,
    SHOWSTMT_NULL = SHOWSTMT_START,
    SHOWSTMT_ACCESS_STATUS,
    SHOWSTMT_VOLUME_HEADER,
    SHOWSTMT_ACTIVE_LOG_HEADER,
    SHOWSTMT_ARCHIVE_LOG_HEADER,
    SHOWSTMT_SLOTTED_PAGE_HEADER,
    SHOWSTMT_SLOTTED_PAGE_SLOTS,
    SHOWSTMT_HEAP_HEADER,
    SHOWSTMT_ALL_HEAP_HEADER,
    SHOWSTMT_HEAP_CAPACITY,
    SHOWSTMT_ALL_HEAP_CAPACITY,
    SHOWSTMT_INDEX_HEADER,
    SHOWSTMT_INDEX_CAPACITY,
    SHOWSTMT_ALL_INDEXES_HEADER,
    SHOWSTMT_ALL_INDEXES_CAPACITY,
    SHOWSTMT_GLOBAL_CRITICAL_SECTIONS,
    SHOWSTMT_JOB_QUEUES,
    SHOWSTMT_TIMEZONES,
    SHOWSTMT_FULL_TIMEZONES,
    SHOWSTMT_TRAN_TABLES,
    SHOWSTMT_THREADS,
    SHOWSTMT_PAGE_BUFFER_STATUS,
    SHOWSTMT_END
};

enum SM_ATTRIBUTE_FLAG

enum SM_ATTRIBUTE_FLAG {
    SM_ATTFLAG_NONE = 0,
    SM_ATTFLAG_INDEX = 1,
    SM_ATTFLAG_UNIQUE = 2,
    SM_ATTFLAG_NON_NULL = 4,
    SM_ATTFLAG_VID = 8,
    SM_ATTFLAG_NEW = 16,
    SM_ATTFLAG_REVERSE_INDEX = 32,
    SM_ATTFLAG_REVERSE_UNIQUE = 64,
    SM_ATTFLAG_PRIMARY_KEY = 128,
    SM_ATTFLAG_AUTO_INCREMENT = 256,
    SM_ATTFLAG_FOREIGN_KEY = 512,
    SM_ATTFLAG_PARTITION_KEY = 1024
};

enum SM_CONSTRAINT_FIXED_FIELD_REVERSE_INDEX

enum SM_CONSTRAINT_FIXED_FIELD_REVERSE_INDEX {
    SM_CONSTRAINT_COMMENT_INDEX = 1,
    SM_CONSTRAINT_OPTIONS_INDEX = 2,
    SM_CONSTRAINT_INDEX_TYPE_INDEX = 3,
    SM_CONSTRAINT_STATUS_INDEX = 4,
    SM_CONSTRAINT_OPTIONAL_INFO_INDEX = 5,
    SM_CONSTRAINT_FIXED_FIELD_COUNT = SM_CONSTRAINT_OPTIONAL_INFO_INDEX
};

enum SM_FOREIGN_KEY_ACTION

enum SM_FOREIGN_KEY_ACTION {
    SM_FOREIGN_KEY_CASCADE,
    SM_FOREIGN_KEY_RESTRICT,
    SM_FOREIGN_KEY_NO_ACTION,
    SM_FOREIGN_KEY_SET_NULL
};

enum SM_FOREIGN_KEY_INFO_INDEX

enum SM_FOREIGN_KEY_INFO_INDEX {
    SM_FK_INFO_REF_CLASS_OID_INDEX = 0,
    SM_FK_INFO_REF_CLASS_PK_BTID_INDEX = 1,
    SM_FK_INFO_DELETE_ACTION_INDEX = 2,
    SM_FK_INFO_UPDATE_ACTION_INDEX = 3,
    SM_FK_INFO_INDEX_CATALOG_OF_REF_CLASS_INDEX = 4,
    SM_FK_INFO_REF_MATCH_OPTION_INDEX = 5,
    SM_FK_INFO_SIZE
};

enum SM_FOREIGN_KEY_MATCH_OPTION

enum SM_FOREIGN_KEY_MATCH_OPTION {
    SM_FK_MATCH_NONE,
    SM_FK_MATCH_PARTIAL,
    SM_FK_MATCH_FULL
};

enum SM_INDEX_FLAG

enum SM_INDEX_FLAG {
    SM_INDEX_FLAG_NONE = 0,
    SM_INDEX_FLAG_FILTER = 1,
    SM_INDEX_FLAG_FUNCTION = 2,
    SM_INDEX_FLAG_PREFIX = 3
};

enum SM_NAME_SPACE

enum SM_NAME_SPACE {
    ID_ATTRIBUTE,
    ID_SHARED_ATTRIBUTE,
    ID_CLASS_ATTRIBUTE,
    ID_METHOD,
    ID_CLASS_METHOD,
    ID_INSTANCE,
    ID_CLASS,
    ID_NULL
};

typedef SPACEDB_ALL

typedef struct spacedb_all SPACEDB_ALL;

enum SPACEDB_ALL_TYPE

enum SPACEDB_ALL_TYPE {
    SPACEDB_PERM_PERM_ALL,
    SPACEDB_PERM_TEMP_ALL,
    SPACEDB_TEMP_TEMP_ALL,
    SPACEDB_TOTAL_ALL,
    SPACEDB_ALL_COUNT
};

typedef SPACEDB_FILES

typedef struct spacedb_files SPACEDB_FILES;

enum SPACEDB_FILE_TYPE

enum SPACEDB_FILE_TYPE {
    SPACEDB_INDEX_FILE,
    SPACEDB_HEAP_FILE,
    SPACEDB_SYSTEM_FILE,
    SPACEDB_TEMP_FILE,
    SPACEDB_TOTAL_FILE,
    SPACEDB_FILE_COUNT
};

typedef SPACEDB_ONEVOL

typedef struct spacedb_onevol SPACEDB_ONEVOL;

typedef TRANID

typedef int TRANID;

typedef VOLID

typedef INT16 VOLID;

typedef XASL_ID

typedef struct xasl_id XASL_ID;

enum storage__common_8h_1ac8dc960ed0e83a06356ee2589564f7a9

enum storage__common_8h_1ac8dc960ed0e83a06356ee2589564f7a9 {
    REC_UNKNOWN = 0,
    REC_ASSIGN_ADDRESS = 1,
    REC_HOME = 2,
    REC_NEWHOME = 3,
    REC_RELOCATION = 4,
    REC_BIGONE = 5,
    REC_MARKDELETED = 6,
    REC_DELETED_WILL_REUSE = 7,
    REC_RESERVED_TYPE_8 = 8,
    REC_RESERVED_TYPE_9 = 9,
    REC_RESERVED_TYPE_10 = 10,
    REC_RESERVED_TYPE_11 = 11,
    REC_RESERVED_TYPE_12 = 12,
    REC_RESERVED_TYPE_13 = 13,
    REC_RESERVED_TYPE_14 = 14,
    REC_RESERVED_TYPE_15 = 15,
    REC_4BIT_USED_TYPE_MAX = REC_DELETED_WILL_REUSE,
    REC_4BIT_TYPE_MAX = REC_RESERVED_TYPE_15
};

enum storage__common_8h_1adab0c4467b3c6f365e87d0316a74bf64

enum storage__common_8h_1adab0c4467b3c6f365e87d0316a74bf64 {
    NULL_CHN = -1,
    CHN_UNKNOWN_ATCLIENT = -2
};

Public Attributes Documentation

variable SM_MAX_STRING_LENGTH

const int SM_MAX_STRING_LENGTH;

variable db_Io_page_size

PGLENGTH db_Io_page_size;

variable db_Log_page_size

PGLENGTH db_Log_page_size;

variable db_User_page_size

PGLENGTH db_User_page_size;

Public Static Attributes Documentation

variable COPY

const bool COPY;

variable PEEK

const bool PEEK;

Public Functions Documentation

function btid_to_string

char * btid_to_string (
    char * buf,
    int buf_size,
    BTID * btid
) 

function db_network_page_size

INT16 db_network_page_size (
    void
) 

function db_print_data

void db_print_data (
    DB_TYPE type,
    DB_DATA * data,
    FILE * fd
) 

function db_set_page_size

int db_set_page_size (
    INT16 io_page_size,
    INT16 log_page_size
) 

function hfid_to_string

char * hfid_to_string (
    char * buf,
    int buf_size,
    HFID * hfid
) 

function oid_to_string

char * oid_to_string (
    char * buf,
    int buf_size,
    OID * oid
) 

function recdes_allocate_data_area

int recdes_allocate_data_area (
    RECDES * rec,
    int size
) 

function recdes_free_data_area

void recdes_free_data_area (
    RECDES * rec
) 

function recdes_set_data_area

void recdes_set_data_area (
    RECDES * rec,
    char * data,
    int size
) 

function vfid_to_string

char * vfid_to_string (
    char * buf,
    int buf_size,
    VFID * vfid
) 

function vpid_to_string

char * vpid_to_string (
    char * buf,
    int buf_size,
    VPID * vpid
) 

Public Static Functions Documentation

function get_class_constraint_att_count

static inline int get_class_constraint_att_count (
    int size
) 

function get_class_constraint_index

static inline int get_class_constraint_index (
    int size,
    SM_CONSTRAINT_FIXED_FIELD_REVERSE_INDEX index
) 

Macro Definition Documentation

define BTID_AS_ARGS

#define BTID_AS_ARGS (
    btid
) `( btid )->root_pageid, VFID_AS_ARGS (&( btid )-> vfid )`

define BTID_COPY

#define BTID_COPY (
    btid_ptr1,
    btid_ptr2
) `*( btid_ptr1 ) = *( btid_ptr2 )`

define BTID_INITIALIZER

#define BTID_INITIALIZER `{ VFID_INITIALIZER , NULL_PAGEID }`

define BTID_IS_EQUAL

#define BTID_IS_EQUAL (
    b1,
    b2
) `/* multi line expression */`

define BTID_IS_NULL

#define BTID_IS_NULL (
    btid
) `((( btid )-> vfid.fileid == NULL_FILEID ) ? 1 : 0)`

define BTID_SET_NULL

#define BTID_SET_NULL (
    btid
) `/* multi line expression */`

define CACHE_TIME_AS_ARGS

#define CACHE_TIME_AS_ARGS (
    ct
) `( ct )->sec, ( ct )->usec`

define CACHE_TIME_EQ

#define CACHE_TIME_EQ (
    T1,
    T2
) `((( T1 )->sec != 0) && (( T1 )->sec == ( T2 )->sec) && (( T1 )->usec == ( T2 )->usec))`

define CACHE_TIME_MAKE

#define CACHE_TIME_MAKE (
    CT,
    TV
) `/* multi line expression */`

define CACHE_TIME_RESET

#define CACHE_TIME_RESET (
    T
) `/* multi line expression */`

define COMPOSITE_LOCK

#define COMPOSITE_LOCK (
    scan_op_type
) `(scan_op_type != S_SELECT )`

define CUBRID_MAGIC_DATABASE_BACKUP

#define CUBRID_MAGIC_DATABASE_BACKUP `"CUBRID/ Backup_v2"`

define CUBRID_MAGIC_DATABASE_BACKUP_OLD

#define CUBRID_MAGIC_DATABASE_BACKUP_OLD `"CUBRID/ Backup"`

define CUBRID_MAGIC_DATABASE_VOLUME

#define CUBRID_MAGIC_DATABASE_VOLUME `"CUBRID/ Volume"`

define CUBRID_MAGIC_KEYS

#define CUBRID_MAGIC_KEYS `"CUBRID/ Keys"`

define CUBRID_MAGIC_LOG_ACTIVE

#define CUBRID_MAGIC_LOG_ACTIVE `"CUBRID/ LogActive"`

define CUBRID_MAGIC_LOG_ARCHIVE

#define CUBRID_MAGIC_LOG_ARCHIVE `"CUBRID/ LogArchive"`

define CUBRID_MAGIC_LOG_INFO

#define CUBRID_MAGIC_LOG_INFO `"CUBRID/ LogInfo"`

define CUBRID_MAGIC_MAX_LENGTH

#define CUBRID_MAGIC_MAX_LENGTH `25`

define CUBRID_MAGIC_PREFIX

#define CUBRID_MAGIC_PREFIX `"CUBRID/"`

define DB_MAX_PATH_LENGTH

#define DB_MAX_PATH_LENGTH `PATH_MAX`

define DB_PAGESIZE

#define DB_PAGESIZE `db_User_page_size`

define DB_SECTORSIZE

#define DB_SECTORSIZE `( DISK_SECTOR_NPAGES * DB_PAGESIZE )`

define DISK_SECTOR_NPAGES

#define DISK_SECTOR_NPAGES `64`

define DISK_VFID_ALIGNED_SIZE

#define DISK_VFID_ALIGNED_SIZE `( DISK_VFID_SIZE + OR_SHORT_SIZE )`

define DISK_VFID_SIZE

#define DISK_VFID_SIZE `( OR_INT_SIZE + OR_SHORT_SIZE )`

define DISK_VOLPURPOSE

#define DISK_VOLPURPOSE `DB_VOLPURPOSE`

define DISK_VPID_ALIGNED_SIZE

#define DISK_VPID_ALIGNED_SIZE `( DISK_VPID_SIZE + OR_SHORT_SIZE )`

define DISK_VPID_SIZE

#define DISK_VPID_SIZE `( OR_INT_SIZE + OR_SHORT_SIZE )`

define HFID_AS_ARGS

#define HFID_AS_ARGS (
    hfid
) `( hfid )->hpgid, VFID_AS_ARGS (&( hfid )-> vfid )`

define HFID_COPY

#define HFID_COPY (
    hfid_ptr1,
    hfid_ptr2
) `*( hfid_ptr1 ) = *( hfid_ptr2 )`

define HFID_INITIALIZER

#define HFID_INITIALIZER `{ VFID_INITIALIZER , NULL_PAGEID }`

define HFID_IS_NULL

#define HFID_IS_NULL (
    hfid
) `((( hfid )-> vfid.fileid == NULL_FILEID ) ? 1 : 0)`

define HFID_SET_NULL

#define HFID_SET_NULL (
    hfid
) `/* multi line expression */`

define IO_DEFAULT_PAGE_SIZE

#define IO_DEFAULT_PAGE_SIZE `(16 * ONE_K )`

define IO_MAX_PAGE_SIZE

#define IO_MAX_PAGE_SIZE `(16 * ONE_K )`

define IO_MIN_PAGE_SIZE

#define IO_MIN_PAGE_SIZE `(4 * ONE_K )`

define IO_PAGESIZE

#define IO_PAGESIZE `db_Io_page_size`

define IO_SECTORSIZE

#define IO_SECTORSIZE `( DISK_SECTOR_NPAGES * IO_PAGESIZE )`

define ISCAN_OID_BUFFER_CAPACITY

#define ISCAN_OID_BUFFER_CAPACITY `( MAX ( ISCAN_OID_BUFFER_MIN_CAPACITY , ISCAN_OID_BUFFER_SIZE ))`

define ISCAN_OID_BUFFER_COUNT

#define ISCAN_OID_BUFFER_COUNT `( ISCAN_OID_BUFFER_SIZE / OR_OID_SIZE )`

define ISCAN_OID_BUFFER_MIN_CAPACITY

#define ISCAN_OID_BUFFER_MIN_CAPACITY `(2 * DB_PAGESIZE )`

define ISCAN_OID_BUFFER_SIZE

#define ISCAN_OID_BUFFER_SIZE `/* multi line expression */`

define IS_POWER_OF_2

#define IS_POWER_OF_2 (
    x
) `((( x ) & (( x ) - 1)) == 0)`

define IS_WRITE_EXCLUSIVE_LOCK

#define IS_WRITE_EXCLUSIVE_LOCK (
    lock
) `((lock) == X_LOCK || (lock) == SCH_M_LOCK )`

define LC_DOESNOT_EXIST

#define LC_DOESNOT_EXIST `2`

define LC_ERROR

#define LC_ERROR `3`

define LC_EXIST

#define LC_EXIST `1`

define LEAF_RECORD_SIZE

#define LEAF_RECORD_SIZE `(0)`

define LOGPAGEID_MAX

#define LOGPAGEID_MAX `0x7fffffffffffLL /* 6 bytes length */`

define LOG_PAGESIZE

#define LOG_PAGESIZE `db_Log_page_size`

define MVCCID_ALL_VISIBLE

#define MVCCID_ALL_VISIBLE `(( MVCCID ) 3)  /* visible  for  all  transactions */`

define MVCCID_FIRST

#define MVCCID_FIRST `(( MVCCID ) 4)`

define MVCCID_FORWARD

#define MVCCID_FORWARD (
    id
) `/* multi line expression */`

define MVCCID_IS_EQUAL

#define MVCCID_IS_EQUAL (
    id1,
    id2
) `(( id1 ) == ( id2 ))`

define MVCCID_IS_NORMAL

#define MVCCID_IS_NORMAL (
    id
) `(( id ) >= MVCCID_FIRST )`

define MVCCID_IS_NOT_ALL_VISIBLE

#define MVCCID_IS_NOT_ALL_VISIBLE (
    id
) `( MVCCID_IS_VALID ( id ) && (( id ) != MVCCID_ALL_VISIBLE ))`

define MVCCID_IS_VALID

#define MVCCID_IS_VALID (
    id
) `(( id ) != MVCCID_NULL )`

define MVCCID_NULL

#define MVCCID_NULL `(0)`

define NON_LEAF_RECORD_SIZE

#define NON_LEAF_RECORD_SIZE `( DISK_VPID_ALIGNED_SIZE )`

define NULL_ATTRID

#define NULL_ATTRID `-1 /* Null Attribute  Identifier */`

define NULL_FILEID

#define NULL_FILEID `(-1)   /* Value  of  an  invalid file identifier */`

define NULL_OFFSET

#define NULL_OFFSET `(-1)   /* Value  of  an  invalid offset */`

define NULL_PAGEID

#define NULL_PAGEID `(-1)   /* Value  of  an  invalid page identifier */`

define NULL_REPRID

#define NULL_REPRID `-1 /* Null Representation  Identifier */`

define NULL_SECTID

#define NULL_SECTID `(-1)   /* Value  of  an  invalid  sector  identifier */`

define NULL_SLOTID

#define NULL_SLOTID `(-1)   /* Value  of  an  invalid  slot  identifier */`

define NULL_TRANID

#define NULL_TRANID `(-1)`

define NULL_TRAN_INDEX

#define NULL_TRAN_INDEX `(-1)`

define NULL_VOLID

#define NULL_VOLID `(-1)    /* Value  of  an  invalid volume identifier */`

define NUM_F_GENERIC_ARGS

#define NUM_F_GENERIC_ARGS `32`

define NUM_F_INSERT_SUBSTRING_ARGS

#define NUM_F_INSERT_SUBSTRING_ARGS `4`

define OR_CACHE_TIME_SIZE

#define OR_CACHE_TIME_SIZE `( OR_INT_SIZE * 2)`

define OR_PACK_CACHE_TIME

#define OR_PACK_CACHE_TIME (
    PTR,
    T
) `/* multi line expression */`

define OR_UNPACK_CACHE_TIME

#define OR_UNPACK_CACHE_TIME (
    PTR,
    T
) `/* multi line expression */`

define PAGEID_MAX

#define PAGEID_MAX `INT_MAX`

define PGLENGTH_MAX

#define PGLENGTH_MAX `SHRT_MAX`

define READONLY_SCAN

#define READONLY_SCAN (
    scan_op_type
) `(scan_op_type == S_SELECT )`

define RECDES_INITIALIZER

#define RECDES_INITIALIZER `{ 0, -1, REC_UNKNOWN , NULL }`

define RECORD_MOVE_DATA

#define RECORD_MOVE_DATA (
    rec,
    dest_offset,
    src_offset
) `/* multi line expression */`

define RECORD_REPLACE_DATA

#define RECORD_REPLACE_DATA (
    record,
    offset_to_data,
    old_data_size,
    new_data_size,
    new_data
) `/* multi line expression */`

define SECTID_MAX

#define SECTID_MAX `INT_MAX`

define SECTOR_FIRST_PAGEID

#define SECTOR_FIRST_PAGEID (
    sid
) `(( sid ) * DISK_SECTOR_NPAGES )`

define SECTOR_FROM_PAGEID

#define SECTOR_FROM_PAGEID (
    pageid
) `((pageid) / DISK_SECTOR_NPAGES )`

define SECTOR_LAST_PAGEID

#define SECTOR_LAST_PAGEID (
    sid
) `(((( sid ) + 1) * DISK_SECTOR_NPAGES ) - 1)`

define SERIAL_ATTR_ATTR_NAME

#define SERIAL_ATTR_ATTR_NAME `"attr_name"`

define SERIAL_ATTR_CACHED_NUM

#define SERIAL_ATTR_CACHED_NUM `"cached_num"`

define SERIAL_ATTR_CLASS_NAME

#define SERIAL_ATTR_CLASS_NAME `"class_name"`

define SERIAL_ATTR_COMMENT

#define SERIAL_ATTR_COMMENT `"comment"`

define SERIAL_ATTR_CURRENT_VAL

#define SERIAL_ATTR_CURRENT_VAL `"current_val"`

define SERIAL_ATTR_CYCLIC

#define SERIAL_ATTR_CYCLIC `"cyclic"`

define SERIAL_ATTR_INCREMENT_VAL

#define SERIAL_ATTR_INCREMENT_VAL `"increment_val"`

define SERIAL_ATTR_MAX_VAL

#define SERIAL_ATTR_MAX_VAL `"max_val"`

define SERIAL_ATTR_MIN_VAL

#define SERIAL_ATTR_MIN_VAL `"min_val"`

define SERIAL_ATTR_NAME

#define SERIAL_ATTR_NAME `"name"`

define SERIAL_ATTR_OWNER

#define SERIAL_ATTR_OWNER `"owner"`

define SERIAL_ATTR_STARTED

#define SERIAL_ATTR_STARTED `"started"`

define SERIAL_ATTR_START_VAL

#define SERIAL_ATTR_START_VAL `"start_val"`

define SERIAL_ATTR_UNIQUE_NAME

#define SERIAL_ATTR_UNIQUE_NAME `"unique_name"`

define SERVER_SESSION_KEY_SIZE

#define SERVER_SESSION_KEY_SIZE `8`

define SM_FILTER_INDEX_ID

#define SM_FILTER_INDEX_ID `"*FP*"`

define SM_FUNCTION_INDEX_ID

#define SM_FUNCTION_INDEX_ID `"*FI*"`

define SM_MAX_IDENTIFIER_LENGTH

#define SM_MAX_IDENTIFIER_LENGTH `DB_MAX_IDENTIFIER_LENGTH`

define SM_MAX_USER_LENGTH

#define SM_MAX_USER_LENGTH `DB_MAX_USER_LENGTH`

define SM_PREFIX_INDEX_ID

#define SM_PREFIX_INDEX_ID `"*PLID*"`

define SM_PROPERTY_FOREIGN_KEY

#define SM_PROPERTY_FOREIGN_KEY `"*FK"`

define SM_PROPERTY_INDEX

#define SM_PROPERTY_INDEX `"*I"`

define SM_PROPERTY_NOT_NULL

#define SM_PROPERTY_NOT_NULL `"*N"`

define SM_PROPERTY_NUM_INDEX_FAMILY

#define SM_PROPERTY_NUM_INDEX_FAMILY `6`

define SM_PROPERTY_PRIMARY_KEY

#define SM_PROPERTY_PRIMARY_KEY `"*P"`

define SM_PROPERTY_REVERSE_INDEX

#define SM_PROPERTY_REVERSE_INDEX `"*RI"`

define SM_PROPERTY_REVERSE_UNIQUE

#define SM_PROPERTY_REVERSE_UNIQUE `"*RU"`

define SM_PROPERTY_UNIQUE

#define SM_PROPERTY_UNIQUE `"*U"`

define SM_PROPERTY_VID_KEY

#define SM_PROPERTY_VID_KEY `"*V_KY"`

define SPLIT_INFO_SIZE

#define SPLIT_INFO_SIZE `( OR_FLOAT_SIZE + OR_INT_SIZE )`

define VOLID_MAX

#define VOLID_MAX `SHRT_MAX`

define VOL_MAX_NPAGES

#define VOL_MAX_NPAGES (
    page_size
) `(( sizeof ( off_t ) == 4) ? ( INT_MAX / ( page_size )) : INT_MAX )`

define VOL_MAX_NSECTS

#define VOL_MAX_NSECTS (
    page_size
) `( VOL_MAX_NPAGES ( page_size ) / DISK_SECTOR_NPAGES )`

define VSID_FROM_VPID

#define VSID_FROM_VPID (
    vsid,
    vpid
) `( vsid )->volid = ( vpid )->volid; ( vsid )->sectid = SECTOR_FROM_PAGEID (( vpid )->pageid)`

define VSID_IS_SECTOR_OF_VPID

#define VSID_IS_SECTOR_OF_VPID (
    vsid,
    vpid
) `(( vsid )->volid == ( vpid )->volid && ( vsid )->sectid == SECTOR_FROM_PAGEID (( vpid )->pageid))`


The documentation for this class was generated from the following file cubrid/src/storage/storage_common.h