2015-04-07 14:16:49 +00:00
|
|
|
#pragma once
|
|
|
|
|
2017-04-01 09:19:00 +00:00
|
|
|
#include <IO/WriteBufferFromFileBase.h>
|
2015-04-07 14:16:49 +00:00
|
|
|
#include <string>
|
2018-09-04 19:34:34 +00:00
|
|
|
#include <memory>
|
|
|
|
|
2015-04-07 14:16:49 +00:00
|
|
|
|
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
|
2017-05-28 14:29:40 +00:00
|
|
|
/** Create an object to write data to a file.
|
|
|
|
* estimated_size - number of bytes to write
|
|
|
|
* aio_threshold - the minimum number of bytes for asynchronous writes
|
2015-04-14 11:35:10 +00:00
|
|
|
*
|
2017-05-28 14:29:40 +00:00
|
|
|
* If aio_threshold = 0 or estimated_size < aio_threshold, the write operations are executed synchronously.
|
|
|
|
* Otherwise, write operations are performed asynchronously.
|
2015-04-14 11:35:10 +00:00
|
|
|
*/
|
2018-09-04 19:34:34 +00:00
|
|
|
std::unique_ptr<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);
|
2015-04-07 14:16:49 +00:00
|
|
|
|
|
|
|
}
|