#pragma once
#include
#include
namespace DB
{
enum class DataSourceType : uint8_t
{
Local,
RAM,
ObjectStorage,
};
enum class ObjectStorageType : uint8_t
{
None,
S3,
Azure,
HDFS,
Web,
Local,
};
enum class MetadataStorageType : uint8_t
{
None,
Local,
Keeper,
Plain,
PlainRewritable,
StaticWeb,
Memory,
};
MetadataStorageType metadataTypeFromString(const String & type);
String toString(DataSourceType data_source_type);
struct DataSourceDescription
{
DataSourceType type;
ObjectStorageType object_storage_type = ObjectStorageType::None;
MetadataStorageType metadata_type = MetadataStorageType::None;
std::string description;
bool is_encrypted = false;
bool is_cached = false;
bool operator==(const DataSourceDescription & other) const;
bool sameKind(const DataSourceDescription & other) const;
std::string toString() const;
};
}