MCPcopy Create free account
hub / github.com/bloomberg/comdb2 / replay_transaction

Function replay_transaction

tools/cdb2_sqlreplay/cdb2_sqlreplay.cpp:166–185  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

164}
165
166void replay_transaction(cdb2_hndl_tp *db, cson_value *val)
167{
168 const char *cnonce = get_strprop(val, "cnonce");
169 assert(cnonce != nullptr);
170 auto jt = transactions.find(cnonce);
171 assert(jt != transactions.end());
172 auto &list = (*jt).second;
173 if (verbose)
174 std::cout << "replay transaction " << cnonce << std::endl;
175
176 auto it = list.begin();
177 while (it != list.end()) {
178 assert(event_is_sql(*it));
179 replay(db, *it);
180 cson_free_value(*it);
181 it = list.erase(it);
182 }
183 transactions.erase(jt);
184 replay(db, val); // finally 'commit' or 'rollback'
185}
186
187bool is_part_of_transaction(const char *cnonce)
188{

Callers 1

handle_sqlFunction · 0.85

Calls 4

get_strpropFunction · 0.85
event_is_sqlFunction · 0.85
replayFunction · 0.85
cson_free_valueFunction · 0.85

Tested by

no test coverage detected