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:
@@ -20,7 +20,8 @@
|
||||
|
||||
Роль здесь шире прав на слои: образ ClickHouse требует отдельного разрешения
|
||||
на запросы `ON CLUSTER`, на чтение системных таблиц и на каждый движок
|
||||
внешнего источника, а без второго клиент не открывает соединение вовсе. Состав прав каждой роли — работа тикета
|
||||
внешнего источника. Без права на системные таблицы клиент вовсе не открывает
|
||||
соединение. Состав прав каждой роли — работа тикета
|
||||
реализации.
|
||||
|
||||
Пользователи, роли и права объявлены файлами настройки сервера, а не
|
||||
@@ -54,12 +55,9 @@ DDS под ними, потому что так чаще всего и быва
|
||||
видны всем читателям и никому на запись: зона входит в хранилище сбоку, и её
|
||||
содержимым владеет файл репозитория, а не слой.
|
||||
|
||||
**Беспарольный `dict` — намеренное исключение.** Пароля у него нет не по
|
||||
недосмотру: ходить этой учёткой некуда, кроме локального чтения одной базы, а
|
||||
пароль пришлось бы вписать в текст DDL словаря — то есть положить секрет в git.
|
||||
Право у него одно, `SELECT` на `dic`. Отдельная учётка под словарь взята из
|
||||
промышленной практики, где источник словаря читают минимальной служебной
|
||||
учётной записью, а не общим админом.
|
||||
**Беспарольный `dict`.** Пароль пришлось бы вписать в текст DDL словаря, то
|
||||
есть положить секрет в git. Ходить этой учёткой некуда: право у неё одно —
|
||||
`SELECT` на `dic`, и хост источника локальный.
|
||||
|
||||
**Секрет, а не учётные данные по репликам.** У каждой реплики в описании
|
||||
кластера своя учётка — вписанная явно или подразумеваемая, и тогда это
|
||||
|
||||
Reference in New Issue
Block a user