движок таблицы ReplicatedCollapsingMergeTree, делаю INSERT с данными, потом, когда хочу обновить, сначала делаю SELECT, подставляю к значениям sign -1, делаю INSERT, потом делаю INSERT c актуальными данными, но второй INSERT с новыми данными не регистрирует, как я понял, т.е. по факту данных не оказываются в таблице, только старые данные и данные с sign -1. Старые и новые данные часто могут быть одинаковыми, но не всегда. В логе по этому поводу нашел вот что:
<Debug> * (Replicated OutputStream): Wrote block with ID '1192_16111160140303788617_2681695681054090665', 96 rows
<Information> * (Replicated OutputStream): Block with ID 1192_16111160140303788617_2681695681054090665 already exists; ignoring it.
Нет ни ошибок, ничего, при INSERT пишет, что записи добавлены. Т.е. он игнорирует запрос, если он будет с такими же данными, т.е. это из-за реплики?
а много данных то нужно обновлять? просто Collapsing нужен в том, случае если помнить прошлое состояние дешево, скажем так. иначе на каждую запись делать селект инсерт инсерт дорого
Обсуждают сегодня