2.0 KiB
2.0 KiB
chk.chk_check_update
Полное обновление проверки по id (read-modify-write, db-m-8).
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
p_id |
int | да | идентификатор проверки |
p_check_date |
date | да | день (дата) проверки |
p_chk_type_id |
int | да | тип проверки (→ chk.chk_type.id) |
p_chk_status_id |
int | да | статус проверки (→ chk.chk_status.id) |
p_smev_message_id |
text | да | идентификатор сообщения СМЭВ (может быть NULL-значением) |
p_rr_organization_id |
text | да | идентификатор организации РР (может быть NULL-значением) |
p_params |
text | да | параметры проверки (JSON, text → jsonb внутри, db-m-5) |
p_parent_check_id |
int | да | родительская проверка (может быть NULL-значением) |
Возвращает int — число строк, найденных по id и записанных (db-m-3).
Логика/особенности
- Все поля пишутся безусловно: без
COALESCEиIS DISTINCT FROM(db-m-8); NULL-семантики «не менять» нет. - NULL
p_id→RAISE EXCEPTION(db-m-4). Несуществующийid— не ошибка: возврат 0.
Тесты
| № | Тип | Условие | Ожидаемый результат |
|---|---|---|---|
| 1 | основной сценарий | существующая проверка (фикстура TEST-); все поля новые |
возврат 1; все поля записи = новым значениям |
| 2 | граничный случай | несуществующий p_id |
возврат 0; записи не изменились |
| 3 | исключение | NULL p_id |
исключение «не задан p_id» |