MCPcopy Create free account
hub / github.com/acl-dev/acl / run

Method run

lib_acl_cpp/src/db/db_service.cpp:45–73  ·  view source on GitHub ↗

���� ipc_request ���Զ����ô˻ص������������

Source from the content-addressed store, hash-verified

43protected:
44 // ���� ipc_request ���Զ����ô˻ص������������
45 virtual void run(ipc_client* ipc)
46 {
47 DB_IPC_DAT data;
48
49 data.db = db_;
50 data.query = query_;
51 data.rows = NULL;
52 data.affected_rows = 0;
53
54 if (!db_->dbopen()) {
55 ipc->send_message(DB_ERR_OPEN, &data, sizeof(data));
56 } else if (has_res_) {
57 if (!db_->sql_select(sql_.c_str())) {
58 ipc->send_message(DB_ERR_EXEC_SQL, &data, sizeof(data));
59 } else {
60 data.rows = db_->get_result();
61 ipc->send_message(DB_OK, &data, sizeof(data));
62 }
63 } else if (!db_->sql_update(sql_.c_str())) {
64 ipc->send_message(DB_ERR_EXEC_SQL, &data, sizeof(data));
65 } else {
66 data.rows = db_->get_result();
67 // �޸IJ�������Ҫȡһ�� SQL ����Ӱ�������
68 data.affected_rows = db_->affect_count();
69 ipc->send_message(DB_OK, &data, sizeof(data));
70 }
71 // ��Ϊ����������Ƕ�̬�����ģ�������Ҫ�ͷ�
72 delete this;
73 }
74
75#ifdef ACL_WINDOWS
76

Callers

nothing calls this directly

Calls 7

send_messageMethod · 0.80
dbopenMethod · 0.45
sql_selectMethod · 0.45
c_strMethod · 0.45
get_resultMethod · 0.45
sql_updateMethod · 0.45
affect_countMethod · 0.45

Tested by

no test coverage detected