UNIVERS
15.3
UNIVERS base processing software API
|
#include <DbHandle.H>
Public Member Functions | |
DbHandle (const char *szProject, const dbNameStruct &dbns, DbAccess dbac) | |
DbHandle (DbHandle &dbh) | |
virtual | ~DbHandle () |
void | change_access_mode (DbAccess new_dbac) |
DbAccess | access_mode () const |
LockId | db_lock_id () const |
void | restore_lock () |
void | flush () |
const char * | project () const |
virtual void | insert_line (DbIndex line, DbIndex lines_cnt=1, Logic bInit=TRUE) |
virtual void | remove_lines (DbIndex line1, DbIndex line2) |
virtual unsigned | valid_n2i (const char *column) const |
Public Member Functions inherited from DbTable | |
DbTable (const DbTTDesc &dbtt, DbIndex quant=DB_QUANT, DbIndex start_volume=DB_START_VOLUME) | |
DbTable (DbTable &dbt) | |
virtual | ~DbTable () |
const DbTTDesc & | table_format () const |
virtual DbIndex | lines_count () const |
virtual DbIndex | lines_range (DbIndex line1, DbIndex line2, DbIndex *line=NULL) const |
virtual void | get_value (const char *column, DbIndex line, void *ptr) |
virtual void | get_values (const char *column, DbIndex start_line, DbIndex lines_cnt, void *ptr) |
virtual Logic | check_empty_value (const char *column, DbIndex line) |
virtual UnitId | get_unit (const char *column) const |
virtual const DmnDescAr & | get_domains () |
virtual DbDomainDesc | get_domain (const char *column) const |
virtual Compar | compare_lines (const char *column, DbIndex line1, DbIndex line2) |
const char * | tt_name () const |
Logic | is_modified () const |
Logic | is_modifiable () const |
virtual void | clean () |
virtual void | set_value (const char *column, DbIndex line, const void *ptr) |
virtual void | set_values (const char *column, DbIndex start_line, DbIndex lines_cnt, const void *ptr) |
virtual void | set_empty_value (const char *column, DbIndex line) |
virtual void | set_unit (const char *column, UnitId unid) |
virtual void | exchange_lines (DbIndex line1, DbIndex line2) |
virtual void | merge (DbTable &src) |
virtual void | copy_lines (DbIndex iWhere, DbTable &src, DbIndex iFrom, DbIndex nLines) |
virtual void | modify () |
virtual void | not_modified () |
virtual void | set_modifiability (Logic bFlag) |
void | read_leader (int fd, ByteOrder &eBO, DbIndex &nLineCnt, unsigned &nDmnsCnt) |
void | append_table (int fd, ByteOrder eBO, DbIndex nLineCnt) |
void | read (int fd) |
void | write_leader (int fd, ByteOrder eBO, DbIndex nLineCnt) |
void | record_table (int fd, ByteOrder eBO, DbIndex iStartLine, DbIndex nLineCnt) |
void | write (int fd) |
void | set_preread_size (size_t nSize) |
size_t | get_preread_size () const |
void | write_changed () |
void | load_all_lines () |
MutexId * | mutex () const |
Public Member Functions inherited from DbPointer | |
DbPointer () | |
DbPointer (const DbPointer &dbp) | |
DbPointer (const dbPointer &dbptr) | |
DbPointer (const char *szProject, const DbName &dbn) | |
operator dbPointer () const | |
DbPointer & | operator= (const DbPointer &dbp) |
DbPointer & | operator= (const dbPointer &dbptr) |
void | set_project (const char *szProject) |
void | unset_project () |
const char * | get_project () const |
virtual Logic | is_empty () const |
Public Member Functions inherited from DbName | |
DbName () | |
DbName (const dbNameStruct &dbns) | |
DbName (const char *szFileName) | |
const char * | symbolic_name () const |
const dbNameStruct & | struct_name () const |
DbName & | operator= (const dbNameStruct &dbns) |
DbName & | operator= (const DbName &dbn) |
DbName & | operator= (const char *szFileName) |
void | set_table (const char *szTableType) |
void | set_well (const char *szWellName) |
void | set_sp (int nSP) |
void | set_mod (int nMod) |
void | set_list_flag (Logic bList) |
void | unset_table () |
void | unset_well () |
void | unset_sp () |
void | unset_mod () |
const char * | get_table () const |
const char * | get_well () const |
int | get_sp () const |
int | get_mod () const |
Logic | get_list_flag () const |
Protected Member Functions | |
int | unique_dbmod () |
virtual void | read_line_seq (DbIndex line1, DbIndex line2) |
virtual void | write_line_seq (DbIndex line1, DbIndex line2) |
Protected Member Functions inherited from DbTable | |
virtual void | read_lines (DbIndex line1, DbIndex line2) |
virtual void | write_lines (DbIndex line1, DbIndex line2) |
virtual void | load_lines (DbIndex line1, DbIndex line2) |
virtual void | change_lines (DbIndex line1, DbIndex line2) |
unsigned | n2i (const char *column) const |
void * | i2ptr (unsigned dmn_i, DbIndex line) const |
size_t | i2size (unsigned dmn_i) const |
Protected Member Functions inherited from DbName | |
virtual void | rebuild_fname () |
Protected Attributes | |
DbAccess | dbaccess |
int | fildes |
LockId | lock_id |
DbFile * | filstor |
ByteOrder | file_bo |
Logic | heModifyData_added |
Protected Attributes inherited from DbTable | |
DbTTDesc | fmt |
DbBufStorage | dtable |
DbFileDomainAttr * | dmn_attrs |
unsigned | nFileDmnsCnt |
Унифицированный класс, задающий правила доступа, именования и размещения файла БД.
DbHandle::DbHandle | ( | const char * | szProject, |
const dbNameStruct & | dbns, | ||
DbAccess | dbac | ||
) |
Создать таблицу с указанным именем указанного типа в памяти. В зависимости от способа доступа поля dbNameStruct имеют следующий смысл:
table well sp mod ------------------+---------------+-------+-------+--------------- DbMemory Опция Опция Опция Не используется DbReadOnlyFile Обязательно Опция Опция Обязательно DbReadWriteFile Обязательно Опция Опция Обязательно DbCreateFile Обязательно Опция Опция Опция ------------------+---------------+-------+-------+---------------
Для способа доступа DbMemory проект можно не указывать (NULL).
DbHandle::DbHandle | ( | DbHandle & | dbh | ) |
Создать копию таблицы в памяти.
|
virtual |
Сохранить изменения в файле для DbReadWriteFile, DbCreateFile
DbAccess DbHandle::access_mode | ( | ) | const |
Получить режим, в котором открыта таблица ЛБД.
void DbHandle::change_access_mode | ( | DbAccess | new_dbac | ) |
Изменить режим доступа к таблице базы данных. Данная операция изменяет тип блокировки таблицы за исключением DbMemory. Изменение типа на DbCreateFile аналогична изменению на DbReadWriteFile.
LockId DbHandle::db_lock_id | ( | ) | const |
Возвратить идентификатор блокировки (неопределенное число, если таблица открыта в режиме DB_MEMORY).
void DbHandle::flush | ( | ) |
Записать таблицу в файл, если способ доступа позволяется это сделать.
|
virtual |
Вставить в таблицу строку (строки) перед указанной line. Если указана строка last, то после последней. Если аргумент bInit TRUE, то требуется инициализация строк.
Reimplemented from DbTable.
const char* DbHandle::project | ( | ) | const |
Проект, в котором создана таблица.
|
protectedvirtual |
Безусловно прочитать из файла на диске указанные строки [line1..line2]. Гарантируется, что в памяти строки идут последовательно.
Reimplemented from DbTable.
|
virtual |
Удалить из таблицы указанный диапазон строк [line1..line2]
Reimplemented from DbTable.
void DbHandle::restore_lock | ( | ) |
Восстановить блокировку (полезно в том случае, если она была потеряна). Функция db_lock_id() будет возвращать новый идентификатор.
|
protected |
Дополнить заданную маску dbsname уникальным в проекте номером mod и создать файл с полученным именем.
|
virtual |
Получить индекс домена по имени и проверить его на соответствие формату конкретной таблицы БД - кидает ERROR__DB_DMN_NOT_FOUND
Reimplemented from DbTable.
|
protectedvirtual |
Безусловно сохранить в файл на диске указанные строки [line1..line2]. Гарантируется, что в памяти строки идут последовательно.
Reimplemented from DbTable.
|
protected |
Способ доступа к таблице.
|
protected |
Открытый файл таблицы ЛБД. Для DbMemory равен EOF
|
protected |
Тип архитектуры процессора, в которой читаются/пишутся данные на диске.
|
protected |
Доступ к файлу.
|
protected |
Признак того, что в историю обработки однажды уже заносилось событие о модификации данного объекта БД
|
protected |
Идентификатор блокировки.