![]() |
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 |
Идентификатор блокировки.
1.8.5