1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

Fixed some linker errors, integrated the cloudio factory

into idbfactory.
This commit is contained in:
Patrick LeBlanc
2019-01-23 14:12:57 -06:00
parent 099c724ced
commit f063f78242
6 changed files with 29 additions and 10 deletions

View File

@ -67,6 +67,14 @@ SMComm * SMComm::get()
} \
}
SMComm::SMComm()
{
}
SMComm::~SMComm()
{
}
int SMComm::open(const string &filename, const int mode, struct stat *statbuf)
{
ByteStream *command = buffers.getByteStream();

View File

@ -24,6 +24,10 @@ using namespace std;
namespace idbdatafile
{
SMDataFile::~SMDataFile()
{
}
SMDataFile::SMDataFile(const char *name, int _openmode, const struct stat &_stat) :
IDBDataFile(name)
{

View File

@ -30,7 +30,11 @@ SMFileSystem::SMFileSystem() : IDBFileSystem(IDBFileSystem::CLOUD)
SMComm::get(); // get SMComm running
}
int SMFileSystem::mkdir(const char *path) const
SMFileSystem::~SMFileSystem()
{
}
int SMFileSystem::mkdir(const char *path)
{
return 0;
}
@ -53,13 +57,13 @@ off64_t SMFileSystem::compressedSize(const char *filename) const
throw NotImplementedYet(__func__);
}
int SMFileSystem::remove(const char *filename) const
int SMFileSystem::remove(const char *filename)
{
SMComm *comm = SMComm::get();
return comm->unlink(filename);
}
int SMFileSystem::rename(const char *oldFile, const char *newFile) const
int SMFileSystem::rename(const char *oldFile, const char *newFile)
{
// This will actually be pretty expensive to do b/c we store the filename in
// the key in cloud. If we do this a lot, we'll have to implement copy() in the SM.

View File

@ -33,11 +33,12 @@ class SMFileSystem : public IDBFileSystem, boost::noncopyable
SMFileSystem();
virtual ~SMFileSystem();
int mkdir(const char* pathname) const;
// why are some of these const and some not const in IDBFileSystem?
int mkdir(const char* pathname);
off64_t size(const char* path) const;
off64_t compressedSize(const char* path) const;
int remove(const char* pathname) const;
int rename(const char* oldpath, const char* newpath) const;
int remove(const char* pathname);
int rename(const char* oldpath, const char* newpath);
bool exists(const char* pathname) const;
int listDirectory(const char* pathname, std::list<std::string>& contents) const;
bool isDir(const char* pathname) const;

View File

@ -1,6 +1,5 @@
include_directories( ${ENGINE_COMMON_INCLUDES} )
include_directories( ${ENGINE_COMMON_INCLUDES} ../cloudio)
########### next target ###############
@ -16,7 +15,7 @@ set(idbdatafile_LIB_SRCS
add_library(idbdatafile SHARED ${idbdatafile_LIB_SRCS})
target_link_libraries(idbdatafile ${NETSNMP_LIBRARIES})
target_link_libraries(idbdatafile ${NETSNMP_LIBRARIES} cloudio)
set_target_properties(idbdatafile PROPERTIES VERSION 1.0.0 SOVERSION 1)

View File

@ -30,6 +30,8 @@
#include "BufferedFileFactory.h"
#include "UnbufferedFileFactory.h"
#include "PosixFileSystem.h"
#include "SMFileSystem.h"
#include "SMFileFactory.h"
#include "IDBLogger.h"
using namespace std;
@ -50,7 +52,8 @@ bool IDBFactory::installDefaultPlugins()
s_plugins[IDBDataFile::BUFFERED] = FileFactoryEnt(IDBDataFile::BUFFERED, "buffered", new BufferedFileFactory(), new PosixFileSystem());
s_plugins[IDBDataFile::UNBUFFERED] = FileFactoryEnt(IDBDataFile::UNBUFFERED, "unbuffered", new UnbufferedFileFactory(), new PosixFileSystem());
s_plugins[IDBDataFile::CLOUD] = FileFactoryEnt(IDBDataFile::CLOUD, "cloud", new SMFileFactory(), new SMFileSystem());
return false;
}