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

Function dump_sql_event

tools/cdb2_sqlreplay/cdb2_sqlreplay.cpp:595–624  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

593}
594
595void dump_sql_event(cson_value *event) {
596 cson_object *obj;
597
598 cson_value_fetch_object(event, &obj);
599 cson_value *params_obj = cson_object_get(obj, "bound_parameters");
600 if (params_obj != nullptr) {
601 cson_array *params = cson_value_get_array(params_obj);
602 for (int i = 0; i < cson_array_length_get(params); i++) {
603 cson_value *v = cson_array_get(params, i);
604 if (!cson_value_is_object(v)) {
605 fprintf(stderr, "Unexpected bound parameter type\n");
606 }
607 dump_param(v);
608 }
609 }
610 cson_value *sqlval = cson_object_get(obj, "sql");
611 if (sqlval == nullptr) {
612 fprintf(stderr, ">No sql statement in sql event?\n");
613 return;
614 }
615 if (!cson_value_is_string(sqlval)) {
616 fprintf(stderr, ">Unexpected type of sql member in sql event?\n");
617 return;
618 }
619 char *sqlptr = cson_value_get_string(sqlval);
620 std::string sql(sqlptr);
621 std::replace(sql.begin(), sql.end(), '\n', ' ');
622 std::replace(sql.begin(), sql.end(), '\r', ' ');
623 printf("tranid 0 %s", sql.c_str());
624}
625
626void replay(cdb2_hndl_tp *db, cson_value *event_val) {
627 const char *sql = get_strprop(event_val, "sql");

Callers 1

replayFunction · 0.85

Calls 9

cson_value_fetch_objectFunction · 0.85
cson_object_getFunction · 0.85
cson_value_get_arrayFunction · 0.85
cson_array_length_getFunction · 0.85
cson_array_getFunction · 0.85
cson_value_is_objectFunction · 0.85
dump_paramFunction · 0.85
cson_value_is_stringFunction · 0.85
cson_value_get_stringFunction · 0.85

Tested by

no test coverage detected