Разблокировать запись
Назначение
Команда
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;
}