Разблокировать таблицу
Назначение
Команда
UREL
предназначена для отмены всех ранее установленных в канале
блокировок таблиц.
Параметры вызова
inter(CBL, NULL, NULL, [CondBuf], NULL);
Входные данные
Входными данными является контрольный блок
CBL
.
В нем должны быть заполнены поля:
Имя поля | Значение | |
---|---|---|
NumChan
| Номер канала | |
Command
|
"UREL"
| |
Node
| Имя ЛИНТЕР-сервера |
Выходные данные
Выходными данными является контрольный блок
CBL
.
В нем будут возвращены:
Имя поля | Значение | |
---|---|---|
CodErr
| Код завершения запроса к СУБД ЛИНТЕР | |
SysErr
| Код состояния ОС |
Описание
Команда
UREL
сбрасывает
все
установленные в команде блокировки таблиц.
Если канал не содержит блокированного объекта, то команда
UREL
игнорируется (в этом случае код завершения команды будет NORMAL,
как и при нормальном завершении).
При завершении транзакции (COMMIT или ROLLBACK) установленная блокировка сбрасывается.
При выполнении по каналу оператора определения данных (типа CREATE…) установленная в нем блокировка сбрасывается.
При нормальном или аварийном закрытии канала все установленные в нем блокировки сбрасываются.
При завершении работы ядра СУБД все блокировки сбрасываются.
Коды завершения
Код | Описание | |
---|---|---|
NORMAL | Нормальное завершение |
Пример формирования команды
#include < string.h > #include < stdlib.h > #include "inter.h" L_LONG LinterUREL(TCBL *pCBL) { memcpy(pCBL- >Command, "UREL", 4); pCBL- >PrzExe &= ~Q_ASYNC; inter(pCBL, NULL, NULL, NULL, NULL); return pCBL- >CodErr; }