link to the sqlite3 library v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat, 27 Jul 2019 23:51:14 +0200
branchv_0
changeset 1 eb7134dfdcc5
parent 0 c205f5d06418
child 2 362f2689cb87
link to the sqlite3 library
src/CMakeLists.txt
src/SqlHandler.h
--- 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 {