Разблокировать запись

Назначение
 

Команда UROW разблокирует ранее заблокированную запись.

Параметры вызова

inter(CBL, NULL, NULL, [CondBuf], NULL);

Входные данные

Входными данными является контрольный блок CBL.

В нем должны быть заполнены поля:

Имя поля Значение
NumChan Номер канала
Command "UROW"
Node Имя ЛИНТЕР-сервера
Выходные данные

Выходными данными является контрольный блок CBL.

В нем будут возвращены:

Имя поля Значение
CodErr Код завершения запроса к СУБД ЛИНТЕР
SysErr Код состояния ОС
Описание

Команда пытается разблокировать последнюю выбранную по каналу (по которому подана сама команда) запись.

Разблокировать можно только ранее блокированную по данному каналу запись. При отсутствии в канале блокированных записей UROW игнорируется (в этом случае код завершения команды будет NORMAL, как и при нормальном завершении).

Между командами LROW и UROW для обновления заблокированной записи можно использовать только одну команду UPDATE OF CURRENT.

Разблокирование записи не приводит к изменению текущей записи канала – текущей остается та запись, которая была до выполнения UROW.

При завершении транзакции (COMMIT или ROLLBACK) установленные блокировки сбрасываются.

При выполнении по каналу оператора определения данных (типа CREATE…) установленные в нем блокировки сбрасываются.

При нормальном или аварийном закрытии канала блокировка записи сбрасывается.

При завершении работы ядра СУБД все блокировки сбрасываются.

Коды завершения
Код Описание
NORMAL Нормальное завершение
Пример формирования команды
#include < string.h >
#include < stdlib.h >
#include "inter.h"

L_LONG LinterUROW(TCBL *pCBL)
   {
   memcpy(pCBL- >Command, "UROW", 4);
   pCBL- >PrzExe &= ~Q_ASYNC;
   inter(pCBL, NULL, NULL, NULL, NULL);
   return pCBL- >CodErr;
   }
Пример использования команды