fix(clickhouse): починена проверка словаря, выметены хвосты переноса
Зачем: ревью в три линии нашло настоящий дефект. Девятая проверка кластера
звала dictGet('dds.products', …) — объекта после переноса не существует, и
make check-clickhouse падал. Промах вырос из недосчёта: упоминания dds.products
я искал с фильтром по расширениям, .sh туда не попал, и в ADR уехало «четыре
упоминания» вместо семи.
Что: проверка переведена на dic.products и сверяет цену, умножив её обратно на
сто, — так утверждается ещё и точность приведения к Decimal. Раздел 3
мастер-спеки и список пользователей README догнали перенос: оба описывали
отменённое устройство. В ADR 0012 добавлено условие пересмотра для дома — для
него его не было, хотя ради дома тикет и заводился; недосчёт записан в
«Что проверено» как урок. Разнобой обозначений сведён: карта таблиц в доке
хранилища перешла на имена баз строчными, таблица мастер-спеки — на заголовок
«Где», зону всюду зовут зоной, а не слоем. Термин «Справочник» переписан без
метафоры и уложен в формат глоссария. Вычтено лишнее: комментарии DDL
сократились вдвое, из ADR 0006 и 0007 убраны самооправдание и дублирующие
абзацы, отраслевой образец получил честную оговорку о непроверяемости.
Проверка: make config-test, make lint, make smoke и make check-clickhouse —
все зелёные, десять проверок кластера из десяти.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -264,10 +264,13 @@ printf 'ЗЕЛЁНО: временные таблицы удалены; пров
|
||||
# После снятия ловушек: своих объектов эти проверки не заводят и прибирать за
|
||||
# собой им нечего — они только смотрят на то, что стенд произвёл сам.
|
||||
printf 'Проверка 9/10: словарь товаров отвечает на обеих нодах...\n'
|
||||
# Цену словарь отдаёт в Decimal(18, 2), а каталог хранит целые копейки. Умножаем
|
||||
# обратно и сравниваем с колонкой файла: так проверка заодно утверждает, что
|
||||
# приведение в источнике словаря точное, а не только что словарь отвечает.
|
||||
product_sql="SELECT
|
||||
dictGet('dds.products', 'name', tuple('HOME-0001')),
|
||||
dictGet('dds.products', 'category', tuple('HOME-0001')),
|
||||
dictGet('dds.products', 'price', tuple('HOME-0001'))
|
||||
dictGet('dic.products', 'name', tuple('HOME-0001')),
|
||||
dictGet('dic.products', 'category', tuple('HOME-0001')),
|
||||
toInt64(dictGet('dic.products', 'price', tuple('HOME-0001')) * 100)
|
||||
FORMAT TSV"
|
||||
expected_product="$(
|
||||
awk -F, \
|
||||
|
||||
Reference in New Issue
Block a user