ClickHouse/dbms/src/Storages/MergeTree/ReplicatedMergeTreeMutationEntry.h

53 lines
1.4 KiB
C++
Raw Normal View History

#pragma once
#include <Common/Exception.h>
#include <Core/Types.h>
#include <IO/WriteHelpers.h>
#include <Storages/MutationCommands.h>
2019-01-18 16:30:35 +00:00
#include <map>
namespace DB
{
class ReadBuffer;
class WriteBuffer;
2020-02-13 16:16:09 +00:00
/// Mutation entry in /mutations path in zookeeper. This record contains information about blocks
/// in patitions. We will mutatate all parts with left number less than this numbers.
///
/// These entries processed separately from main replication /log, and produce other entries
/// -- MUTATE_PART.
struct ReplicatedMergeTreeMutationEntry
{
void writeText(WriteBuffer & out) const;
void readText(ReadBuffer & in);
String toString() const;
static ReplicatedMergeTreeMutationEntry parse(const String & str, String znode_name);
2020-02-13 16:16:09 +00:00
/// Name of znode (mutation-xxxxxxx)
String znode_name;
2020-02-13 16:16:09 +00:00
/// Create time of znode
time_t create_time = 0;
2020-02-13 16:16:09 +00:00
/// Replica which initiated mutation
String source_replica;
2020-02-13 16:16:09 +00:00
/// Accuired numbers of blocks
/// partition_id -> block_number
std::map<String, Int64> block_numbers;
2020-02-13 16:16:09 +00:00
/// Mutation commands which will give to MUTATE_PART entries
MutationCommands commands;
2020-01-31 19:30:33 +00:00
2020-02-13 16:16:09 +00:00
/// Version of metadata. Not equal to -1 only if this mutation
/// was created by ALTER MODIFY/DROP queries.
2020-01-31 19:30:33 +00:00
int alter_version = -1;
};
2018-06-07 11:00:43 +00:00
using ReplicatedMergeTreeMutationEntryPtr = std::shared_ptr<const ReplicatedMergeTreeMutationEntry>;
}