aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/clickhouse/src/IO/WriteSettings.h
blob: 8f22e44145a6a4218a2c37ef1727a7d747d7cd97 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once

#include <Common/Throttler_fwd.h>
#include <IO/ResourceLink.h>

namespace DB
{

/// Settings to be passed to IDisk::writeFile()
struct WriteSettings
{
    /// Bandwidth throttler to use during writing
    ThrottlerPtr remote_throttler;
    ThrottlerPtr local_throttler;

    // Resource to be used during reading
    ResourceLink resource_link;

    /// Filesystem cache settings
    bool enable_filesystem_cache_on_write_operations = false;
    bool enable_filesystem_cache_log = false;
    bool throw_on_error_from_cache = false;

    bool s3_allow_parallel_part_upload = true;

    /// Monitoring
    bool for_object_storage = false; // to choose which profile events should be incremented

    bool operator==(const WriteSettings & other) const = default;
};

}