mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-22 01:30:51 +00:00
dbms: Server: feature development. [#METR-15090]
This commit is contained in:
parent
76df76b844
commit
cc3577bc5e
19
dbms/include/DB/IO/createWriteBufferFromFileBase.h
Normal file
19
dbms/include/DB/IO/createWriteBufferFromFileBase.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <DB/IO/WriteBufferFromFileBase.h>
|
||||||
|
#include <string>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
|
||||||
|
namespace DB
|
||||||
|
{
|
||||||
|
|
||||||
|
WriteBufferFromFileBase * createWriteBufferFromFileBase(const std::string & filename_,
|
||||||
|
size_t estimated_size,
|
||||||
|
size_t aio_threshold,
|
||||||
|
size_t buffer_size_ = DBMS_DEFAULT_BUFFER_SIZE,
|
||||||
|
int flags_ = -1,
|
||||||
|
mode_t mode = 0666,
|
||||||
|
char * existing_memory_ = nullptr,
|
||||||
|
size_t alignment = 0);
|
||||||
|
|
||||||
|
}
|
18
dbms/src/IO/createWriteBufferFromFileBase.cpp
Normal file
18
dbms/src/IO/createWriteBufferFromFileBase.cpp
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#include <DB/IO/createWriteBufferFromFileBase.h>
|
||||||
|
#include <DB/IO/WriteBufferFromFile.h>
|
||||||
|
#include <DB/IO/WriteBufferAIO.h>
|
||||||
|
|
||||||
|
namespace DB
|
||||||
|
{
|
||||||
|
|
||||||
|
WriteBufferFromFileBase * createWriteBufferFromFileBase(const std::string & filename_, size_t estimated_size,
|
||||||
|
size_t aio_threshold, size_t buffer_size_, int flags_, mode_t mode, char * existing_memory_,
|
||||||
|
size_t alignment)
|
||||||
|
{
|
||||||
|
if (estimated_size < aio_threshold)
|
||||||
|
return new WriteBufferFromFile(filename_, buffer_size_, flags_, mode, existing_memory_, alignment);
|
||||||
|
else
|
||||||
|
return new WriteBufferAIO(filename_, buffer_size_, flags_, mode, existing_memory_);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user