equal
deleted
inserted
replaced
16 */ |
16 */ |
17 #pragma once |
17 #pragma once |
18 |
18 |
19 #include <vector> |
19 #include <vector> |
20 #include <iostream> |
20 #include <iostream> |
|
21 #include <regex> |
21 |
22 |
|
23 #include <relpipe/common/type/typedefs.h> |
22 #include <relpipe/reader/typedefs.h> |
24 #include <relpipe/reader/typedefs.h> |
23 |
25 |
24 |
26 |
25 namespace relpipe { |
27 namespace relpipe { |
26 namespace out { |
28 namespace out { |
28 |
30 |
29 class Configuration { |
31 class Configuration { |
30 public: |
32 public: |
31 |
33 |
32 enum class InsertMode { |
34 enum class InsertMode { |
|
35 DEFAULT, |
33 SINGLE, |
36 SINGLE, |
34 MULTI, |
37 MULTI, |
35 }; |
38 }; |
36 |
39 |
37 relpipe::reader::boolean_t writeHeader = true; |
40 class TypeCastRule { |
38 relpipe::reader::boolean_t writeTypes = false; |
41 public: |
39 InsertMode insertMode = InsertMode::MULTI; // TODO: per-relation mode |
42 |
|
43 std::wregex attribute = std::wregex(L".*"); |
|
44 std::wregex type = std::wregex(L".*"); |
|
45 relpipe::common::type::StringX sqlType; |
|
46 }; |
|
47 |
|
48 class RelationConfiguration { |
|
49 public: |
|
50 relpipe::common::type::StringX relation; |
|
51 std::wregex relationPattern; |
|
52 relpipe::common::type::Boolean writeDDL = true; |
|
53 relpipe::common::type::Boolean writeDML = true; |
|
54 relpipe::common::type::Boolean writeColumnNames = true; |
|
55 std::vector<TypeCastRule> typeCastRules; |
|
56 InsertMode insertMode = InsertMode::DEFAULT; |
|
57 }; |
|
58 |
|
59 std::vector<RelationConfiguration> relationConfigurations; |
40 |
60 |
41 virtual ~Configuration() { |
61 virtual ~Configuration() { |
42 } |
62 } |
43 }; |
63 }; |
44 |
64 |