diff --git a/src/Disks/BlobStorage/DiskBlobStorage.h b/src/Disks/BlobStorage/DiskBlobStorage.h index 46550153930..a4d1fc3a550 100644 --- a/src/Disks/BlobStorage/DiskBlobStorage.h +++ b/src/Disks/BlobStorage/DiskBlobStorage.h @@ -47,6 +47,16 @@ class DiskBlobStorage final : public IDiskRemote { public: + DiskBlobStorage( + const String & name_, + const String & remote_fs_root_path_, + const String & metadata_path_, + const String & log_name_, + size_t thread_pool_size) : + IDiskRemote(name_, remote_fs_root_path_, metadata_path_, log_name_, thread_pool_size) {} + + DiskBlobStorage() : IDiskRemote("a", "b", "c", "d", 1) {} + std::unique_ptr readFile( const String &, size_t, diff --git a/src/Disks/BlobStorage/registerDiskBlobStorage.cpp b/src/Disks/BlobStorage/registerDiskBlobStorage.cpp index 9bd85e390f1..5a8aa937964 100644 --- a/src/Disks/BlobStorage/registerDiskBlobStorage.cpp +++ b/src/Disks/BlobStorage/registerDiskBlobStorage.cpp @@ -4,17 +4,40 @@ #include +#if USE_AZURE_BLOB_STORAGE + +#include +#include + + namespace DB { -#if USE_AZURE_BLOB_STORAGE +void registerDiskBlobStorage(DiskFactory & factory) +{ + auto creator = []( + const String &, + const Poco::Util::AbstractConfiguration &, + const String &, + ContextPtr, + const DisksMap &) + { + std::shared_ptr diskBlobStorage = std::make_shared(); -void registerDiskBlobStorage(DiskFactory &) {}; + return std::make_shared(diskBlobStorage); + }; + factory.registerDiskType("blob_storage", creator); +} + +} #else -void registerDiskBlobStorage(DiskFactory &) {}; +namespace DB +{ -#endif +void registerDiskBlobStorage(DiskFactory &) {} } + +#endif diff --git a/src/Disks/IO/WriteIndirectBufferFromRemoteFS.cpp b/src/Disks/IO/WriteIndirectBufferFromRemoteFS.cpp index 9ff26ae894f..6e10aefc7a2 100644 --- a/src/Disks/IO/WriteIndirectBufferFromRemoteFS.cpp +++ b/src/Disks/IO/WriteIndirectBufferFromRemoteFS.cpp @@ -1,6 +1,7 @@ #include "WriteIndirectBufferFromRemoteFS.h" #include +#include #include #include @@ -57,6 +58,11 @@ template class WriteIndirectBufferFromRemoteFS; #endif +#if USE_AZURE_BLOB_STORAGE +template +class WriteIndirectBufferFromRemoteFS; +#endif + #if USE_HDFS template class WriteIndirectBufferFromRemoteFS;