GCC Code Coverage Report


Directory: src/gate/
File: src/gate/data/tests/gatedata_cpp_test/test_sqlite3.cpp
Date: 2026-02-03 22:06:38
Exec Total Coverage
Lines: 103 103 100.0%
Functions: 7 7 100.0%
Branches: 171 435 39.3%

Line Branch Exec Source
1 #include "gate/tests.hpp"
2 #include "gate/data/sqlite3_adapter.hpp"
3 #include "gate/utilities.hpp"
4
5 using namespace gate;
6 using namespace gate::data;
7
8 1 static void createTestTables(DataConnection& conn)
9 {
10 // table with standard types
11 {
12 static StaticString const sql = "CREATE TABLE IF NOT EXISTS unit_test_tbl ("
13 "id INTEGER PRIMARY KEY, "
14 "name TEXT, "
15 "age_years INTEGER, "
16 "birthday_unix INTEGER, "
17 "height_mm INTEGER, "
18 "weight_kg REAL, "
19 "picture BLOB"
20
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
1 ");";
21
22
3/10
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
1 GATEXX_TEST_REQUIRE_NOTHROW(
23 DataStatement stmt = conn.createStatement(sql);
24 stmt.execute();
25 );
26 }
27
28 // table with special types
29 {
30 static StaticString const sql = "CREATE TABLE IF NOT EXISTS unit_test_tbl2 ("
31 "id INTEGER PRIMARY KEY, "
32 "txt TEXT, "
33 "date_created TEXT, "
34 "date_accessed TEXT, "
35 "date_modified TEXT, "
36 "guid TEXT"
37
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
1 ");";
38
39
3/10
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
1 GATEXX_TEST_REQUIRE_NOTHROW(
40 DataStatement stmt = conn.createStatement(sql);
41 stmt.execute();
42 );
43 }
44 1 }
45
46 1 static void insertTestData(DataConnection& conn)
47 {
48 // named parameters
49 {
50 static StaticString const sql = "INSERT INTO unit_test_tbl "
51 "(name, age_years, birthday_unix, height_mm, weight_kg, picture) "
52
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
1 "VALUES (:name, :age, :birthday, :height, :weight, :picture);"
53 ;
54
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 DataStatement stmt = conn.createStatement(sql);
55
5/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
1 GATEXX_TEST_CHECK_EQUAL(stmt.getParamCount(), 6);
56
57
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 String strName("Danny");
58
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 Value valName(*strName.c_impl());
59
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Value valAge(gate::int8_t(81));
60
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
1 gate::uint32_t unixDate = static_cast<gate::uint32_t>(DateTime(1944, 11, 17, 12, 0).toTime().toUnix());
61
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Value valBirthday(unixDate);
62
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Value valHeight(gate::uint16_t(1520));
63
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Value valWeight(gate::real64_t(75.6));
64
65
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Blob blob("abcd", 4);
66
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 Value valBlob(*blob.c_impl());
67
68
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 stmt.setNamedParam(":name", valName);
69
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 stmt.setNamedParam(":age", valAge);
70
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
1 stmt.setNamedParam(":birthday", unixDate);
71
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 stmt.setNamedParam(":height", valHeight);
72
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 stmt.setNamedParam(":weight", valWeight);
73
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 stmt.setNamedParam(":picture", valBlob);
74
75
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
1 GATEXX_TEST_CHECK_NOTHROW(stmt.execute());
76
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
1 GATEXX_TEST_CHECK_NOTHROW(stmt.reset());
77 }
78
79 // indexed parameters
80 {
81 static StaticString const sql = "INSERT INTO unit_test_tbl "
82 "(name, age_years, birthday_unix, height_mm, weight_kg, picture) "
83
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
1 "VALUES (?, ?, ?, ?, ?, ?);"
84 ;
85
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 DataStatement stmt = conn.createStatement(sql);
86
5/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
1 GATEXX_TEST_CHECK_EQUAL(stmt.getParamCount(), 6);
87
88
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 String strName("Arnold");
89
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 Value valName(*strName.c_impl());
90
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Value valAge(gate::int8_t(81));
91
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
1 gate::int32_t unixDate = static_cast<gate::int32_t>(DateTime(1947, 7, 30, 12, 0).toTime().toUnix());
92
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Value valBirthday(unixDate);
93
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Value valHeight(gate::int16_t(1880));
94
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Value valWeight(gate::real32_t(109.5f));
95
96
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Blob blob("abcd", 4);
97
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 Value valBlob(*blob.c_impl());
98
99
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 stmt.setParam(1, valName);
100
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 stmt.setParam(2, valAge);
101
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 stmt.setParam(3, unixDate);
102
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 stmt.setParam(4, valHeight);
103
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 stmt.setParam(5, valWeight);
104
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 stmt.setParam(6, valBlob);
105
106
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
1 GATEXX_TEST_CHECK_NOTHROW(stmt.execute());
107
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
1 GATEXX_TEST_CHECK_NOTHROW(stmt.reset());
108 }
109
110 // special data types
111 {
112 static StaticString const sql = "INSERT INTO unit_test_tbl2 "
113 "(txt, date_created, date_accessed, date_modified, guid)"
114
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
1 "VALUES (?, ?, ?, ?, ?);";
115
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 DataStatement stmt = conn.createStatement(sql);
116
5/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
1 GATEXX_TEST_CHECK_EQUAL(stmt.getParamCount(), 5);
117
118 static wchar_t const wtxt[] = L"Test";
119
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 Date dtCreated(2026, 1, 1);
120
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 DateTime dtAccessed(2026, 1, 2, 12, 15, 30);
121
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 DateTime dtModified(2026, 1, 3, 18, 19, 20);
122
123
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Value valTxt(&wtxt[0]);
124
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Value valCreated(dtCreated);
125
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Value valAccessed(dtAccessed);
126
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 Value valModified(dtModified.toTime());
127
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 Value valGuid(Guid::generate());
128
129
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 stmt.setParam(1, valTxt);
130
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 stmt.setParam(2, valCreated);
131
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 stmt.setParam(3, valAccessed);
132
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 stmt.setParam(4, valModified);
133
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 stmt.setParam(5, valGuid);
134
135
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
1 GATEXX_TEST_CHECK_NOTHROW(stmt.execute());
136
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
1 GATEXX_TEST_CHECK_NOTHROW(stmt.reset());
137 }
138 1 }
139
140 5 static void readResults(DataReader& reader)
141 {
142
2/2
✓ Branch 1 taken 3 times.
✓ Branch 2 taken 2 times.
5 while (reader.next())
143 {
144
1/2
✓ Branch 3 taken 3 times.
✗ Branch 4 not taken.
3 GATEXX_TEST_CHECK(reader.isValid());
145 3 gate::size_t const count = reader.getFieldCount();
146
2/2
✓ Branch 0 taken 20 times.
✓ Branch 1 taken 3 times.
23 for (gate::size_t ndx = 0; ndx != count; ++ndx)
147 {
148
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
40 String name = reader.getFieldName(ndx);
149
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
20 gate::type_id_t tp = reader.getFieldType(ndx);
150
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
40 Value val = reader.getFieldValue(ndx);
151 40 String str;
152
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
20 val.exportAs(str);
153 }
154 }
155 2 }
156
157 1 static void queryTestData(DataConnection& conn)
158 {
159 // read table 1
160 {
161
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
1 static StaticString const sql = "SELECT * FROM unit_test_tbl;";
162
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 DataStatement stmt = conn.createStatement(sql);
163
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 DataReader reader = stmt.query();
164
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 readResults(reader);
165
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 reader.close();
166 }
167
168 // read table 2
169 {
170
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
1 static StaticString const sql = "SELECT * FROM unit_test_tbl2;";
171
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 DataStatement stmt = conn.createStatement(sql);
172
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 DataReader reader = stmt.query();
173
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 readResults(reader);
174
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 reader.close();
175 }
176 1 }
177
178
179
180
2/7
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
6 GATEXX_TEST_UNIT(Sqlite3)
181 {
182 #if defined(GATE_DATA_SQLITE3_ENABLED)
183 2 Sqlite3DataConnection factory;
184 {
185 4 DataConnection testConn;
186 4 Result<DataConnection> connResult = factory.tryCreate(String(), Sqlite3DataConnection::Flag_InMemory);
187
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK(connResult.hasValue());
188 }
189
190 4 DataConnection conn;
191
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(conn = factory.create(String(), Sqlite3DataConnection::Flag_InMemory));
192
193
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK(conn.c_impl() != NULL);
194
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK(conn.empty() == false);
195
5/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
2 GATEXX_TEST_CHECK(!conn.getInterfaceName().empty());
196
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
2 GATEXX_TEST_REQUIRE_NOTHROW(createTestTables(conn));
197
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(insertTestData(conn));
198
4/14
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
2 GATEXX_TEST_CHECK_NOTHROW(queryTestData(conn));
199 #endif
200 2 }
201