equal
deleted
inserted
replaced
21 #include <string> |
21 #include <string> |
22 #include <vector> |
22 #include <vector> |
23 #include <locale> |
23 #include <locale> |
24 #include <codecvt> |
24 #include <codecvt> |
25 |
25 |
|
26 #include <sqlite3.h> |
|
27 |
26 #include <relpipe/reader/typedefs.h> |
28 #include <relpipe/reader/typedefs.h> |
27 #include <relpipe/reader/TypeId.h> |
29 #include <relpipe/reader/TypeId.h> |
28 #include <relpipe/reader/handlers/RelationalReaderStringHandler.h> |
30 #include <relpipe/reader/handlers/RelationalReaderStringHandler.h> |
29 #include <relpipe/reader/handlers/AttributeMetadata.h> |
31 #include <relpipe/reader/handlers/AttributeMetadata.h> |
30 |
32 |
45 class SqlHandler : public RelationalReaderStringHandler { |
47 class SqlHandler : public RelationalReaderStringHandler { |
46 private: |
48 private: |
47 Configuration configuration; |
49 Configuration configuration; |
48 writer::RelationalWriter* relationalWriter; |
50 writer::RelationalWriter* relationalWriter; |
49 std::wstring_convert<codecvt_utf8<wchar_t>> convertor; // TODO: support also other encodings |
51 std::wstring_convert<codecvt_utf8<wchar_t>> convertor; // TODO: support also other encodings |
|
52 sqlite3* db; |
|
53 sqlite3_stmt* currentStatement; |
50 |
54 |
51 public: |
55 public: |
52 |
56 |
53 SqlHandler(writer::RelationalWriter* relationalWriter, Configuration& configuration) : relationalWriter(relationalWriter), configuration(configuration) { |
57 SqlHandler(writer::RelationalWriter* relationalWriter, Configuration& configuration) : relationalWriter(relationalWriter), configuration(configuration) { |
|
58 int error = sqlite3_open(":memory:", &db); |
|
59 if (error) { |
|
60 sqlite3_close(db); |
|
61 throw SqlException(L"Unable to open sqlite database."); |
|
62 } |
|
63 } |
|
64 |
|
65 virtual ~SqlHandler() { |
|
66 sqlite3_close(db); |
54 } |
67 } |
55 |
68 |
56 void startRelation(string_t name, vector<AttributeMetadata> attributes) override { |
69 void startRelation(string_t name, vector<AttributeMetadata> attributes) override { |
57 |
70 |
58 } |
71 } |