-
Notifications
You must be signed in to change notification settings - Fork 1
/
Defs.cpp
106 lines (79 loc) · 2.11 KB
/
Defs.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <iosfwd> // for std
#include <stdexcept> // for invalid_argument
#include "Defs.h"
using namespace std;
namespace std
{
using namespace SqliteOverlay;
string to_string(ColumnDataType cdt)
{
switch (cdt) {
case ColumnDataType::Blob:
return "BLOB";
case ColumnDataType::Null:
return "";
case ColumnDataType::Text:
return "TEXT";
case ColumnDataType::Float:
return "REAL";
case ColumnDataType::Integer:
return "INTEGER";
}
return "";
}
//----------------------------------------------------------------------------
std::string to_string(ConsistencyAction ca)
{
switch (ca)
{
case ConsistencyAction::NoAction:
return "NO ACTION";
case ConsistencyAction::SetNull:
return "SET NULL";
case ConsistencyAction::SetDefault:
return "SET DEFAULT";
case ConsistencyAction::Cascade:
return "CASCADE";
case ConsistencyAction::Restrict:
return "RESTRICT";
default:
return "";
}
return "";
}
//----------------------------------------------------------------------------
std::string to_string(ConflictClause cc)
{
switch (cc)
{
case ConflictClause::Abort:
return "ABORT";
case ConflictClause::Fail:
return "FAIL";
case ConflictClause::Ignore:
return "IGNORE";
case ConflictClause::Replace:
return "REPLACE";
case ConflictClause::Rollback:
return "ROLLBACK";
default:
return "";
}
return ""; // includes NoAction
}
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
namespace SqliteOverlay
{
ColumnDataType int2ColumnDataType(int i)
{
if ((i < 1) || (i > 5))
{
throw std::invalid_argument("invalid parameter for int2ColumnDataType()");
}
return static_cast<ColumnDataType>(i);
}
//----------------------------------------------------------------------------
}