From fb87a6f4f6b84340f5aa96825fd6d7f7811c243c Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Sun, 8 Nov 2026 11:59:11 +0400 Subject: [PATCH] =?UTF-8?q?docs(openspec):=20aurora-1843=20=E2=80=94=20?= =?UTF-8?q?=D0=BD=D1=83=D0=BC=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D1=8F=20=D1=80?= =?UTF-8?q?=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20O-1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- openspec/changes/aurora-1843-svod2-server-paging/design.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openspec/changes/aurora-1843-svod2-server-paging/design.md b/openspec/changes/aurora-1843-svod2-server-paging/design.md index 3e3de9f..a241772 100644 --- a/openspec/changes/aurora-1843-svod2-server-paging/design.md +++ b/openspec/changes/aurora-1843-svod2-server-paging/design.md @@ -713,6 +713,6 @@ PR создаются по готовности, merge — по команде Цена ошибки: если реальная высота строки с данными отличается от 2.75rem (длинный перенос), окно страниц рассчитается неточно; в test строки так же имеют фиксированную высоту. 52. **2026-11-08 (R-30, решение пользователя 08.11; в поручении названо R-10, номер занят) — серверный поиск совпадает с тем, что показывает экран: пустое (null) поле `contract_detail` НЕ затирает такое же поле `contract_summary`.** Экран получает `data` без null-полей (AURORA-1848), и в `{...header, ...contract_summary, ...contract_detail}` побеждает последнее непустое значение. В `v3.svod2_lines` значения `counterparty`, `reference`, `deadline`, `comment` берутся как `COALESCE(cd.x, cs.x)`; оракулы (`svod2_oracle.py`, `svod2_search_oracle.mjs`, векторы `svod2_screen_vectors.json`) отбрасывают null при слиянии, `legacy_full()` снова читает ответ без параметров. Новые тесты: строка 910001 (`contract_detail.counterparty = NULL`, у `contract_summary` «ООО Ромашка») находится по «ооо ромашка», по «дс-1» не находится (непустой `reference` detail перекрывает); строка без `contract_detail` находится по значениям summary; непустое поле detail перекрывает summary. Цена ошибки: если пользователь имел в виду иное, поиск расходится с экраном в этих строках; правка - вернуть `cd.x` вместо `COALESCE` в одном месте SQL и убрать отбрасывание null в оракулах. Замечание: R-25 про `view=full` с null остаётся в силе. -51. **2026-11-08 (O-1, исправлено) — `v3.v_svod2_facets` получила `SET jit TO off`.** Причина «6-8 с на вызов» в тестах и 1,5 с на стенде: оценка стоимости плана выше `jit_above_cost`, JIT-компиляция добавляла ~1,4 с к каждому вызову с буквальными параметрами (на стенде масштаба 1: 1500 мс с JIT против 43 мс без; generic-план клиента с параметрами JIT не включал, поэтому в API после 5-го вызова на соединении было быстро). Для `v_svod2_go/rf` `jit off` уже стоял. Тест: `test_svod2_functions_have_jit_off`. Тест формы плана `test_facets_search_subplan_is_not_correlated` убран: функция с `SET` не разворачивается, EXPLAIN показывает один Function Scan. +53. **2026-11-08 (O-1, исправлено) — `v3.v_svod2_facets` получила `SET jit TO off`.** Причина «6-8 с на вызов» в тестах и 1,5 с на стенде: оценка стоимости плана выше `jit_above_cost`, JIT-компиляция добавляла ~1,4 с к каждому вызову с буквальными параметрами (на стенде масштаба 1: 1500 мс с JIT против 43 мс без; generic-план клиента с параметрами JIT не включал, поэтому в API после 5-го вызова на соединении было быстро). Для `v_svod2_go/rf` `jit off` уже стоял. Тест: `test_svod2_functions_have_jit_off`. Тест формы плана `test_facets_search_subplan_is_not_correlated` убран: функция с `SET` не разворачивается, EXPLAIN показывает один Function Scan. Цена ошибки: нет (настройка на уровне функции); без неё первые вызовы facets на каждом соединении медленные.