--- a/src/CMakeLists.txt Sat Jul 27 18:41:13 2019 +0200
+++ b/src/CMakeLists.txt Sat Jul 27 23:51:14 2019 +0200
@@ -18,7 +18,7 @@
# Relpipe libraries:
INCLUDE(FindPkgConfig)
-pkg_check_modules (RELPIPE_LIBS relpipe-lib-reader.cpp relpipe-lib-writer.cpp relpipe-lib-cli.cpp)
+pkg_check_modules (RELPIPE_LIBS relpipe-lib-reader.cpp relpipe-lib-writer.cpp relpipe-lib-cli.cpp sqlite3)
include_directories(${RELPIPE_LIBS_INCLUDE_DIRS})
link_directories(${RELPIPE_LIBS_LIBRARY_DIRS})
--- a/src/SqlHandler.h Sat Jul 27 18:41:13 2019 +0200
+++ b/src/SqlHandler.h Sat Jul 27 23:51:14 2019 +0200
@@ -23,6 +23,8 @@
#include <locale>
#include <codecvt>
+#include <sqlite3.h>
+
#include <relpipe/reader/typedefs.h>
#include <relpipe/reader/TypeId.h>
#include <relpipe/reader/handlers/RelationalReaderStringHandler.h>
@@ -47,10 +49,21 @@
Configuration configuration;
writer::RelationalWriter* relationalWriter;
std::wstring_convert<codecvt_utf8<wchar_t>> convertor; // TODO: support also other encodings
+ sqlite3* db;
+ sqlite3_stmt* currentStatement;
public:
SqlHandler(writer::RelationalWriter* relationalWriter, Configuration& configuration) : relationalWriter(relationalWriter), configuration(configuration) {
+ int error = sqlite3_open(":memory:", &db);
+ if (error) {
+ sqlite3_close(db);
+ throw SqlException(L"Unable to open sqlite database.");
+ }
+ }
+
+ virtual ~SqlHandler() {
+ sqlite3_close(db);
}
void startRelation(string_t name, vector<AttributeMetadata> attributes) override {