CUBRID Engine
latest
|
#include "config.h"
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <stddef.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/stat.h>
#include "elo.h"
#include "boot.h"
#include "dbtype.h"
#include "error_manager.h"
#include "es.h"
#include "lob_locator.hpp"
#include "object_primitive.h"
#include "object_representation.h"
#include "storage_common.h"
Go to the source code of this file.
Macros | |
#define | ELO_NEEDS_TRANSACTION(e) ((e)->es_type == ES_OWFS || (e)->es_type == ES_POSIX) |
Functions | |
int | elo_create (DB_ELO *elo) |
void | elo_init_structure (DB_ELO *elo) |
int | elo_copy_structure (const DB_ELO *elo, DB_ELO *dest) |
void | elo_free_structure (DB_ELO *elo) |
int | elo_copy (DB_ELO *elo, DB_ELO *dest) |
int | elo_delete (DB_ELO *elo, bool force_delete) |
off_t | elo_size (DB_ELO *elo) |
ssize_t | elo_read (const DB_ELO *elo, off_t pos, void *buf, size_t count) |
ssize_t | elo_write (DB_ELO *elo, off_t pos, const void *buf, size_t count) |
Variables | |
static const DB_ELO | elo_Initializer = { -1LL, NULL, NULL, ELO_NULL, ES_NONE } |
Definition at line 69 of file elo.c.
Referenced by elo_copy(), elo_create(), and elo_delete().
Definition at line 211 of file elo.c.
References assert, db_private_free_and_init, db_private_strdup(), ELO_FBO, ELO_NEEDS_TRANSACTION, er_errid(), ER_FAILED, es_copy_file(), es_delete_file(), es_get_type(), es_rename_file(), db_elo::es_type, lob_locator_add(), lob_locator_change_state(), lob_locator_drop(), lob_locator_find(), LOB_NOT_FOUND, LOB_PERMANENT_CREATED, LOB_PERMANENT_DELETED, LOB_TRANSIENT_CREATED, LOB_TRANSIENT_DELETED, LOB_UNKNOWN, db_elo::locator, db_elo::meta_data, NO_ERROR, NULL, and db_elo::type.
Referenced by db_elo_copy().
Definition at line 142 of file elo.c.
References assert, db_private_free_and_init, db_private_strdup(), ER_OUT_OF_VIRTUAL_MEMORY, db_elo::locator, db_elo::meta_data, NO_ERROR, and NULL.
Referenced by db_elo_copy_structure(), getmem_elo_with_type(), mr_data_readmem_elo(), mr_setmem_elo(), and setval_elo_with_type().
int elo_create | ( | DB_ELO * | elo | ) |
Definition at line 83 of file elo.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, db_private_strdup(), ELO_FBO, elo_init_structure(), ELO_NEEDS_TRANSACTION, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), es_create_file(), es_get_type(), db_elo::es_type, lob_locator_add(), LOB_TRANSIENT_CREATED, db_elo::locator, NO_ERROR, NULL, db_elo::size, strlen, and db_elo::type.
Referenced by db_create_fbo().
Definition at line 357 of file elo.c.
References assert, ELO_FBO, ELO_NEEDS_TRANSACTION, er_errid(), ER_FAILED, es_delete_file(), es_get_type(), db_elo::es_type, lob_locator_add(), lob_locator_change_state(), lob_locator_drop(), lob_locator_find(), LOB_NOT_FOUND, LOB_PERMANENT_CREATED, LOB_PERMANENT_DELETED, LOB_TRANSIENT_CREATED, LOB_TRANSIENT_DELETED, LOB_UNKNOWN, db_elo::locator, NO_ERROR, NULL, and db_elo::type.
Referenced by db_elo_delete().
void elo_free_structure | ( | DB_ELO * | elo | ) |
Definition at line 186 of file elo.c.
References db_private_free_and_init, elo_init_structure(), db_elo::locator, db_elo::meta_data, and NULL.
Referenced by db_elo_free_structure(), mr_freemem_elo(), and pr_clear_value().
void elo_init_structure | ( | DB_ELO * | elo | ) |
Definition at line 127 of file elo.c.
References elo_Initializer, and NULL.
Referenced by caslob_to_dblob(), db_value_domain_max(), db_value_domain_min(), elo_create(), elo_free_structure(), ldr_elo_ext_elem(), lob_from_file(), net_arg_get_lob_value(), and cubload::to_db_elo_ext().
Definition at line 453 of file elo.c.
References assert, ASSERT_ERROR, ELO_FBO, es_read_file(), db_elo::locator, NO_ERROR, NULL, and db_elo::type.
Referenced by db_elo_read().
off_t elo_size | ( | DB_ELO * | elo | ) |
Definition at line 421 of file elo.c.
References assert, ELO_FBO, es_get_file_size(), db_elo::locator, NULL, db_elo::size, and db_elo::type.
Referenced by db_elo_size().
Definition at line 479 of file elo.c.
References assert, ASSERT_ERROR, cubregex::count(), ELO_FBO, es_write_file(), db_elo::locator, NULL, db_elo::size, and db_elo::type.
Referenced by db_elo_write().
Definition at line 67 of file elo.c.
Referenced by elo_init_structure().