Синхронное сохранение группы записей с общей блокировкой (6)

Navigation:  TCP/IP Сервер БД ИРБИС64 > Протокол работы сервера ИРБИС64 > Работа с мастер-файлом базы данных >

Синхронное сохранение группы записей с общей блокировкой (6)

Previous pageReturn to chapter overviewNext page

ПАРАМЕТРЫ

Общие параметры:

Флаг снятия блокировки

Флаг актуализации

 

Далее набор строк состоящий из группы следующих параметров:

 

Dbn#30#31

MFN#STATUS#30#31

0#VERSION#30#31                                        Первый набор строк

TAG1#FIELD1#30#31

………………

TAGN#FIELDN

END_OF_LINE----------------------------------

Dbn#30#31

MFN#STATUS#30#31

0#VERSION#30#31                                        Второй набор строк

TAG1#FIELD1#30#31

………………

TAGN#FIELDN

END_OF_LINE----------------------------------

------------------------------------------------------ Наборы строк

Dbn – имя базы данных

MFN  - номер запись или 0 если новая запись

STATUS – статус записи

VERSION – номер версии записи

TAG – метка поля

FIELD – значение поля в UTF-8

#30#31 – символы 30 31

END_OF_LINE – переход строки

 

ВОЗВРАТ

На каждой строке соответствующей каждому набору строк:

 

dbname #30#31

MAXMFN #30#31

MFN#статус#30#31

0#VERSION#30#31

tag1#field1#30#31

………….

tagN#fieldN#30#31

END_OF_LINE----------------------------------

В случае ошибки возврат

Код ошибки

 

В случае ошибки  в одной записи на ее строке возврат:

 

dbname#30#31

Код ошибки#30#31

 

ПРИМЕР ПРОТОКОЛА

(первая строка запроса – длина запроса в байтах)

 

 

ЗАПРОС

ВОЗВРАТ

1

Код команды

6

Код команды

6

2

АРМ

C

Идентификатор

240954

3

Код команды

6

Номер команды

16

4

Идентификатор

240954

 

 

5

Номер команды

16

 

 

6

Имя

(для работы форматера с ини файлом своего клиенту)

MASTERKEY

 

 

7

Пароль

MASTER

 

 

8

 

 

 

 

9

 

 

 

 

10

 

 

 

 

 

Флаг снятия блокировки

1

Код возврата

0

 

Флаг актуализации

1

 

1-я запись в базу данных IBIS

 

İBİS#30#31

MFN#STATUS#30#31

0#VERSION#30#31

TAG1#FIELD1#30#31

………………..

Новая версия записи как результат вместе с максимальным MFN базы

İBİS#30#31

MAXMFN#30#31

MFN#STATUS#30#31

0#VERSION#30#31

TAG1#FIELD1#30#31

………………..

 

2-я запись в базу данных TEXT

 

TEXT#30#31

MFN#STATUS#30#31

0#VERSION#30#31

TAG1#FIELD1#30#31

………………..

Новая версия записи как результат вместе с максимальным MFN базы

TEXT#30#31

MAXMFN#30#31

MFN#STATUS#30#31

0#VERSION#30#31

TAG1#FIELD1#30#31

………………..

 

КОММЕНТАРИЙ

Команда максимально старается перед записью проверить все возможности, чтобы обеспечить гарантию синхронности. Сначала блокируются все базы, затем проверяются все базы на монопольную блокировку, затем проверяются все записи на соответствие версий. В случае удачи идет цикл записи.

 


См. также:

Работа с мастер-файлом базы данных

Сохранение записи (D)