UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Macros | Functions
dbdefs.h File Reference
#include <mix/Types.h>
#include <mix/units.h>
#include <mix/wenv.h>

Go to the source code of this file.

Classes

struct  DbFileHeader
 
struct  DbFileDomainAttr
 
struct  DbDomainDesc
 

Macros

#define DB_IDENT_LEN   15
 
#define DB_DESC_FILE   "ttdesc.4db"
 
#define DBDFILE_ENV   "DBDFILE"
 
#define DBD_SIGNATURE_VER4   "@D4"
 
#define DBD_MAGIC_BYTES   "\x87\x65\x43\x21"
 
#define DBD_MAGIC_HEX   (0x87654321UL)
 
#define DBD_MAGIC_DEC   (-2023406815L)
 
dbdebug

Отладочные переменные окружения

#define DBDEBUG   "DBDEBUG"
 
#define EL_internal_FATAL   10
 
#define EL_internal_ERROR   11
 
#define EL_internal_WARNING   12
 
#define EL_internal_INFO   13
 
#define EL_internal_HINT   14
 
#define EL_internal_DEBUG   15
 
#define DBDLDEFAULT   EL_ERROR
 
#define DBLOGFILE   "DBLOGFILE"
 
#define DBOPERLOGFILE   "DBOPERLOGFILE"
 
4DMNDESC

Описание структуры записи в файле описателей. TT_4* и DT_4* вводятся для того, чтобы избежать конфликта с другими именами доменов и таблиц, которые может объявить пользователь.

#define TT_4DMNDESC   "4DMNDESC"
 
#define DT_4TTNAME   "4TTNAME"
 
#define DT_4DNAME   "4DNAME"
 
#define DT_4ATYPE   "4ATYPE"
 
#define DT_4DIM   "4DIM"
 
#define DT_4CATEG   "4CATEG"
 
#define DMNDESC_4TTNAME   DT_4TTNAME, CHAR_1, DB_IDENT_LEN+1, UC_NONE, 0
 
#define DMNDESC_4DNAME   DT_4DNAME, CHAR_1, DB_IDENT_LEN+1, UC_NONE, 0
 
#define DMNDESC_4ATYPE   DT_4ATYPE, INT_4, 1, UC_NONE, 0
 
#define DMNDESC_4DIM   DT_4DIM, INT_4, 1, UC_NONE, 0
 
#define DMNDESC_4CATEG   DT_4CATEG, INT_4, 1, UC_NONE, 0
 
4LOCK

Таблица блокировок доступа к объектам данных

#define TT_4LOCK   "4LOCK"
 
#define DT_4ID   "4ID"
 
#define DT_4TYPE   "4TYPE"
 
#define DT_4MOMENT   "4MOMENT"
 
#define DT_4APPNAME   "4APPNAME"
 
#define DT_4OWNER   "4OWNER"
 
#define DT_4WORKPLACE   "4WORKPLACE"
 
#define DT_4HOST   "4HOST"
 
#define DT_4PID   "4PID"
 
#define DD_4ID   DT_4ID, INT_4, 1, UC_NONE, 0
 
#define DD_4MOMENT   DT_4MOMENT, CHAR_1, MOMENT_LEN+1, UC_NONE, 0
 
#define DD_4TYPE   DT_4TYPE, CHAR_1, 3, UC_NONE, 0
 
#define DD_4APPNAME   DT_4APPNAME, CHAR_1, WE_NAME_LEN+1, UC_NONE, 0
 
#define DD_4OWNER   DT_4OWNER, CHAR_1, WE_NAME_LEN+1, UC_NONE, 0
 
#define DD_4WORKPLACE   DT_4WORKPLACE, CHAR_1, WE_NAME_LEN+1, UC_NONE, 0
 
#define DD_4HOST   DT_4HOST, CHAR_1, WE_NAME_LEN+1, UC_NONE, 0
 
#define DD_4PID   DT_4PID, INT_4, 1, UC_NONE, 0
 
4HISTORY

Таблица истории обработки проекта

#define TT_4HISTORY   "4HISTORY"
 
#define DT_4TIMESTAMP   "4TIMESTAMP"
 
#define DT_4JOBNUM   "4JOBNUM"
 
#define DT_4USER   "4USER"
 
#define DT_4DATAREF   "4DATAREF"
 
#define DT_4EVENT   "4EVENT"
 
#define DD_4TIMESTAMP   DT_4TIMESTAMP, INT_4, 1, UC_NONE, 0
 
#define DD_4EVENT   DT_4EVENT, CHAR_1, 256, UC_NONE, 0
 
#define DD_4JOBNUM   DT_4JOBNUM, INT_4, 1, UC_NONE, 0
 
#define DD_4USER   DT_4USER, CHAR_1, WE_NAME_LEN+1, UC_NONE, 0
 
#define DD_4DATAREF   DT_4DATAREF, DBTPTR,1, UC_NONE, 0
 

Functions

void dbAppInitialize ()
 
void dbFillEmpty (void *ptr, DbDomainDesc *dd)
 
Logic dbCheckEmpty (void *ptr, DbDomainDesc *dd)
 
void dbPutMsg (int elevel, const char *msg)
 
void dbFormatMsg (int elevel, const char *format,...)
 
void dbOperLog (const char *format,...)
 
const char * dbTempDir ()
 

Detailed Description

Локальная База Данных (версия 4) Определения, описания и форматы данных.

Macro Definition Documentation

#define DB_DESC_FILE   "ttdesc.4db"

Имя файла дескрипторов по умолчанию.

#define DB_IDENT_LEN   15

Длина идентификатора в ЛБД без признака конца строки.

#define DBDEBUG   "DBDEBUG"

Для целей отладки программ, использующих ЛБД4 можно присвоить переменной окружения DBDEBUG числовое значение, показывающее, какой серьезности сообщения о внутренней работе процедур ЛБД следует сообщать. Соответствие числовых кодов и семантики приводится ниже: EL_FATAL 0 - фатальные ошибки, влияющие на работоспособность ЛБД; EL_ERROR 1 - серьезные ошибки при работе с ЛБД из прикл.программ; EL_WARNING 2 - предупреждения о "поступках" процедур ЛБД; EL_INFO 3 - нейтральная информация при работе с ЛБД; EL_HINT 4 - сообщения о выполняемых операциях; EL_DEBUG 5 - отладочные сообщения из внутренней кухни ЛБД. Имя переменной окружения, используемой для задания числового уровня ошибки: см. EL_internal_*.

#define DBDFILE_ENV   "DBDFILE"

Имя переменной окружения, в которой задается путь к файлу дескрипторов.

#define DBDLDEFAULT   EL_ERROR

Уровень серьезности выдаваемых сообщений по умолчанию

#define DBLOGFILE   "DBLOGFILE"

Имя переменной окружения, используемой для задания имени файла протокола.

#define DBOPERLOGFILE   "DBOPERLOGFILE"

Имя переменной окружения, используемой для задания имени протокола операций.

#define EL_internal_DEBUG   15

отладочные сообщения из внутренней кухни ЛБД

#define EL_internal_ERROR   11

серьезные ошибки при работе с ЛБД из прикл.программ

#define EL_internal_FATAL   10

фатальные ошибки, влияющие на работоспособность ЛБД

#define EL_internal_HINT   14

сообщения о выполняемых операциях

#define EL_internal_INFO   13

нейтральная информация при работе с ЛБД

#define EL_internal_WARNING   12

дупреждения о "поступках" процедур ЛБД

Function Documentation

void dbAppInitialize ( )

Инициализация регистра прикладных типов таблиц. Может вызываться многократно без ущерба для быстродействия и логики работы ЛБД.

Logic dbCheckEmpty ( void *  ptr,
DbDomainDesc dd 
)

Проверяет указанную область памяти на умолчательные значения данного типа.

void dbFillEmpty ( void *  ptr,
DbDomainDesc dd 
)

Инициализирует указанную область памяти умолчательным значением данного типа.

void dbFormatMsg ( int  elevel,
const char *  format,
  ... 
)

Функция заменяет weFormatMsg() с целью не выводить на печать сообщения с уровнем серьезности больше dbDebugLevel.

void dbOperLog ( const char *  format,
  ... 
)

Функция выводит указанную строку в файл протокола операций.

void dbPutMsg ( int  elevel,
const char *  msg 
)

Для целей отладки программ, использующих ЛБД4 можно присвоить переменной окружения DBDEBUG числовое значение, показывающее, какой серьезности сообщения о внутренней работе процедур ЛБД следует сообщать. Соответствие числовых кодов и семантики приводится ниже: EL_FATAL 0 - фатальные ошибки, влияющие на работоспособность ЛБД; EL_ERROR 1 - серьезные ошибки при работе с ЛБД из прикл.программ; EL_WARNING 2 - предупреждения о "поступках" процедур ЛБД; EL_INFO 3 - нейтральная информация при работе с ЛБД; EL_HINT 4 - сообщения о выполняемых операциях; EL_DEBUG 5 - отладочные сообщения из внутренней кухни ЛБД. Функция заменяет wePutMsg() с целью не выводить на печать сообщения с уровнем серьезности больше dbDebugLevel. Таким образом, если dbDebugLevel == 0, то будут печататься только сообщения серьезности EL_FATAL. Если == 1, то EL_FATAL и EL_ERROR и т.д.

const char* dbTempDir ( )

Return name of directory for temporal data base objects.