Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

Документация
Функция fn_htLogOpen

htLogOpen - Открыть доступ к журналу изменений таблицы

Назначение:

Функция предназначена для открытия доступа к журналу изменений таблицы. В процессе открытия доступа выполняется открытие таблицы и дополнительные построения, ускоряющие последующий доступ к элементам журнала. После выполнения операции будет возможно прочитать содержимое журнала изменений таблицы за период от его создания до момента открытия доступа. Общее число элементов в журнале изменений таблицы и длина одного элемента может быть получена из первых полей структуры, используемой для доступа к журналу. Каждый читаемый элемент журнала будет содержать заказанные поля записи (или все запись, снабженную физическим номером) и, кроме того, байт кода операции. Этот байт будет располагаться в начале каждого элемента и может содержать одно из следующих значений:

LOG_ADD - данная запись была добавлена;

LOG_DEL - данная запись была удалена;

LOG_MDF - данная запись была модифицирована.

Общая длина читаемых полей записи, включая байт кода операции, заносится в первое поле структуры доступа после выполнения операции открытия.

Прототип:

int HTAPI htLogOpen(
    char far *fpTableName, /* Имя таблицы (можно без расширения) */
    char far *fpReadPswd,  /* Пароль доступа на чтение */
    char far *fpWritePswd, /* Пароль доступа на запись */
    int far *fpElemNo,     /* Номера читаемых элементов записи */
                           /* Если NULL - читаются все элементы записи */
    int nElemCnt,          /* Число читаемых элементов */
    LPLOGON fpsLog         /* Описатель доступа к журналу */
);

Параметры:

fpTableName задает имя файла описания таблицы (с указанием полного или частичного пути), расширение задавать не обязательно. Таблица, к журналу которой открывается доступ, будет открыта монопольно, поэтому она не должна использоваться другими пользователями сети.
fpReadPswd задает строку, используемую в качестве пароля для доступа к таблице на чтение. Если пароль не нужен, можно задать NULL или пустую строку "".
fpWritePswd задает строку, используемую в качестве пароля для доступа к таблице на запись. Значащими являются только первые 8 символов. Если пароль не нужен, можно задать NULL или пустую строку "".
fpElemNo задает адрес массива целых, являющихся номерами полей записи таблицы, подлежащих чтению. При операциях чтения журнала будут читаться лишь те поля записей-результатов, номера которых были перечислены при открытии. Нумерация полей идет с единицы. Номер 0 отведен для доступа к физическому номеру записи. Номера полей могут быть заданы в произвольном порядке. Повтор номеров полей не допускается. Если параметр не задан (NULL), выполняется чтение всех полей записи, включая физический номер
nElemCnt задает число отбираемых полей. Если параметр адрес массива номеров полей NULL, его следует приравнять 0.
fpsLog задает адрес структуры, используемой для доступа к журналу изменений. Поля структуры будут заполнены после выполнения операции открытия. Первые два поля структуры могут использоваться для определения размера буфера чтения и числа читаемых элементов журнала.

Результат:

0 при успешном завершении
отрицательное число код ошибки