MCPcopy Create free account
hub / github.com/DeNA/HandlerSocket-Plugin-for-MySQL / op_delins

Method op_delins

client/hslongrun.cpp:758–813  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

756}
757
758int
759hs_longrun_thread_my::op_delins(record_value& rec)
760{
761 const std::string k = rec.key;
762 const std::string v1 = "div1_" + k + "_" + to_stdstring(arg.id);
763 const std::string v2 = "div2_" + k + "_" + to_stdstring(arg.id);
764 const std::string v3 = "div3_" + k + "_" + to_stdstring(arg.id);
765 int success = 0;
766 bool cur_unknown_state = false;
767 do {
768 char query[1024];
769 #if 1
770 if (mysql_query(db, "begin") != 0) {
771 if (arg.sh.verbose >= 20) {
772 fprintf(stderr, "mysql: e=[%s] q=[%s]\n", mysql_error(db), "begin");
773 }
774 break;
775 }
776 #endif
777 cur_unknown_state = true;
778 snprintf(query, 1024,
779 "delete from hstesttbl where k = '%s'", k.c_str());
780 if (mysql_query(db, query) != 0) {
781 if (arg.sh.verbose >= 20) {
782 fprintf(stderr, "mysql: e=[%s] q=[%s]\n", mysql_error(db), query);
783 }
784 break;
785 }
786 if (mysql_affected_rows(db) != 1) {
787 if (arg.sh.verbose >= 20) {
788 fprintf(stderr, "mysql: notfound: [%s]\n", query);
789 }
790 break;
791 }
792 snprintf(query, 1024,
793 "insert into hstesttbl values ('%s', '%s', '%s', '%s')",
794 k.c_str(), v1.c_str(), v2.c_str(), v3.c_str());
795 if (mysql_query(db, query) != 0) {
796 if (arg.sh.verbose >= 20) {
797 fprintf(stderr, "mysql: e=[%s] q=[%s]\n", mysql_error(db), query);
798 }
799 break;
800 }
801 #if 1
802 if (mysql_query(db, "commit") != 0) {
803 if (arg.sh.verbose >= 20) {
804 fprintf(stderr, "mysql: e=[%s] q=[%s]\n", mysql_error(db), "commit");
805 }
806 break;
807 }
808 #endif
809 success = true;
810 cur_unknown_state = false;
811 } while (false);
812 return verify_update(k, v1, v2, v3, rec, (success != 0), cur_unknown_state);
813}
814
815int

Callers

nothing calls this directly

Calls 1

to_stdstringFunction · 0.85

Tested by

no test coverage detected