dbms: Server: feature development. [#METR-15090]

This commit is contained in:
Alexey Arno 2015-04-07 17:16:49 +03:00
parent 76df76b844
commit cc3577bc5e
2 changed files with 37 additions and 0 deletions

View 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);
}

View 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_);
}
}