diff --git a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortune_mysql.h b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortune_mysql.h index e0dc89630ee..083b73125ad 100644 --- a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortune_mysql.h +++ b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortune_mysql.h @@ -1,6 +1,11 @@ #ifndef _ORM_DEFAULT_FORTUNE_OPERATE_H #define _ORM_DEFAULT_FORTUNE_OPERATE_H - +/* + * @author 黄自权 huangziquan + * @date 2022-05-04 + * @update 2025-03-12 + * @dest ORM MySQL中间连接层 + */ #include #include #include @@ -9311,26 +9316,26 @@ M_MODEL& or_leMessage(T val) } return 0; } - long long insert(typename B_BASE::meta &insert_data) + std::tuple insert(typename B_BASE::meta &insert_data) { effect_num = 0; sqlstring = B_BASE::_makerecordinsertsql(insert_data); if (iscommit) { iscommit = false; - return 0; + return std::make_tuple(0, 0); } if (iserror) { - return 0; + return std::make_tuple(0, 0); } try { if (conn_empty()) { - return 0; + return std::make_tuple(0, 0); } //auto conn = conn_obj->get_edit_conn(); @@ -9355,7 +9360,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9364,7 +9369,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9388,12 +9393,14 @@ M_MODEL& or_leMessage(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - return insert_last_id; + //return insert_last_id; + return std::make_tuple(effect_num, insert_last_id); } catch (const std::exception &e) { @@ -9406,29 +9413,29 @@ M_MODEL& or_leMessage(T val) catch (...) { } - return 0; + return std::make_tuple(0, 0); } - asio::awaitable async_insert(typename B_BASE::meta &insert_data) + asio::awaitable> async_insert(typename B_BASE::meta &insert_data) { effect_num = 0; sqlstring = B_BASE::_makerecordinsertsql(insert_data); if (iscommit) { iscommit = false; - co_return 0; + co_return std::make_tuple(0, 0); } if (iserror) { - co_return 0; + co_return std::make_tuple(0, 0); } try { if (conn_empty()) { - co_return 0; + co_return std::make_tuple(0, 0); } if (islock_conn) @@ -9452,7 +9459,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9460,7 +9467,7 @@ M_MODEL& or_leMessage(T val) if (n == 0) { edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9484,12 +9491,14 @@ M_MODEL& or_leMessage(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - co_return insert_last_id; + //co_return insert_last_id; + co_return std::make_tuple(effect_num, insert_last_id); } catch (const std::exception &e) { @@ -9502,29 +9511,29 @@ M_MODEL& or_leMessage(T val) catch (...) { } - co_return 0; + co_return std::make_tuple(0, 0); } - long long insert(std::vector &insert_data) + std::tuple insert(std::vector &insert_data) { effect_num = 0; sqlstring = B_BASE::_makerecordinsertsql(insert_data); if (iscommit) { iscommit = false; - return 0; + return std::make_tuple(0, 0); } if (iserror) { - return 0; + return std::make_tuple(0, 0); } try { if (conn_empty()) { - return 0; + return std::make_tuple(0, 0); } //auto conn = conn_obj->get_edit_conn(); if (islock_conn) @@ -9548,7 +9557,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9557,7 +9566,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9581,12 +9590,14 @@ M_MODEL& or_leMessage(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - return insert_last_id; + //return insert_last_id; + return std::make_tuple(effect_num, insert_last_id); } catch (const std::exception &e) { @@ -9599,29 +9610,29 @@ M_MODEL& or_leMessage(T val) catch (...) { } - return 0; + return std::make_tuple(0, 0); } - asio::awaitable async_insert(std::vector &insert_data) + asio::awaitable> async_insert(std::vector &insert_data) { effect_num = 0; sqlstring = B_BASE::_makerecordinsertsql(insert_data); if (iscommit) { iscommit = false; - co_return 0; + co_return std::make_tuple(0, 0); } if (iserror) { - co_return 0; + co_return std::make_tuple(0, 0); } try { if (conn_empty()) { - co_return 0; + co_return std::make_tuple(0, 0); } if (islock_conn) @@ -9645,7 +9656,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9653,7 +9664,7 @@ M_MODEL& or_leMessage(T val) if (n == 0) { edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9676,12 +9687,14 @@ M_MODEL& or_leMessage(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - co_return insert_last_id; + //co_return insert_last_id; + co_return std::make_tuple(effect_num, insert_last_id); } catch (const std::exception &e) { @@ -9694,29 +9707,29 @@ M_MODEL& or_leMessage(T val) catch (...) { } - co_return 0; + co_return std::make_tuple(0, 0); } - long long insert() + std::tuple insert() { effect_num = 0; sqlstring = B_BASE::_makeinsertsql(); if (iscommit) { iscommit = false; - return 0; + return std::make_tuple(0, 0); } if (iserror) { - return 0; + return std::make_tuple(0, 0); } try { if (conn_empty()) { - return 0; + return std::make_tuple(0, 0); } //auto conn = conn_obj->get_edit_conn(); if (islock_conn) @@ -9740,7 +9753,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9749,7 +9762,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9772,12 +9785,14 @@ M_MODEL& or_leMessage(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - return insert_last_id; + //return insert_last_id; + return std::make_tuple(effect_num, insert_last_id); } catch (const std::exception &e) { @@ -9790,29 +9805,29 @@ M_MODEL& or_leMessage(T val) catch (...) { } - return 0; + return std::make_tuple(0, 0); } - asio::awaitable async_insert() + asio::awaitable> async_insert() { effect_num = 0; sqlstring = B_BASE::_makeinsertsql(); if (iscommit) { iscommit = false; - co_return 0; + co_return std::make_tuple(0, 0); } if (iserror) { - co_return 0; + co_return std::make_tuple(0, 0); } try { if (conn_empty()) { - co_return 0; + co_return std::make_tuple(0, 0); } if (islock_conn) @@ -9836,7 +9851,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9844,7 +9859,7 @@ M_MODEL& or_leMessage(T val) if (n == 0) { edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9868,12 +9883,14 @@ M_MODEL& or_leMessage(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - co_return insert_last_id; + //co_return insert_last_id; + co_return std::make_tuple(effect_num, insert_last_id); } catch (const std::exception &e) { @@ -9886,10 +9903,10 @@ M_MODEL& or_leMessage(T val) catch (...) { } - co_return 0; + co_return std::make_tuple(0, 0); } - long long save(bool isrealnew = false) + std::tuple save(bool isrealnew = false) { effect_num = 0; if (B_BASE::getPK() > 0 && isrealnew == false) @@ -9908,7 +9925,7 @@ M_MODEL& or_leMessage(T val) sqlstring.append(" where "); if (wheresql.empty()) { - return 0; + return std::make_tuple(0, 0); } else { @@ -9929,16 +9946,16 @@ M_MODEL& or_leMessage(T val) if (iscommit) { iscommit = false; - return 0; + return std::make_tuple(0, 0); } if (iserror) { - return 0; + return std::make_tuple(0, 0); } if (conn_empty()) { - return 0; + return std::make_tuple(0, 0); } //auto conn = conn_obj->get_edit_conn(); if (islock_conn) @@ -9962,7 +9979,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9971,7 +9988,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9998,14 +10015,15 @@ M_MODEL& or_leMessage(T val) { conn_obj->back_edit_conn(std::move(edit_conn)); } - return effect_num; + //return effect_num; + return std::make_tuple(effect_num, 0); } else { sqlstring = B_BASE::_makeinsertsql(); if (conn_empty()) { - return 0; + return std::make_tuple(0, 0); } //auto conn = conn_obj->get_edit_conn(); if (islock_conn) @@ -10029,7 +10047,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -10038,7 +10056,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -10062,17 +10080,19 @@ M_MODEL& or_leMessage(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - return insert_last_id; + //return insert_last_id; + return std::make_tuple(effect_num, insert_last_id); } - return 0; + return std::make_tuple(0, 0); } - asio::awaitable async_save(bool isrealnew = false) + asio::awaitable> async_save(bool isrealnew = false) { effect_num = 0; if (B_BASE::getPK() > 0 && isrealnew == false) @@ -10091,7 +10111,7 @@ M_MODEL& or_leMessage(T val) sqlstring.append(" where "); if (wheresql.empty()) { - co_return 0; + co_return std::make_tuple(0, 0); } else { @@ -10112,19 +10132,19 @@ M_MODEL& or_leMessage(T val) if (iscommit) { iscommit = false; - co_return 0; + co_return std::make_tuple(0, 0); } if (iserror) { - co_return 0; + co_return std::make_tuple(0, 0); } try { if (conn_empty()) { - co_return 0; + co_return std::make_tuple(0, 0); } if (islock_conn) @@ -10148,7 +10168,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -10156,7 +10176,7 @@ M_MODEL& or_leMessage(T val) if (n == 0) { edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -10184,12 +10204,13 @@ M_MODEL& or_leMessage(T val) { conn_obj->back_edit_conn(std::move(edit_conn)); } - co_return effect_num; + co_return std::make_tuple(effect_num, 0); + //co_return effect_num; } catch (const std::exception &e) { error_msg = std::string(e.what()); - co_return 0; + co_return std::make_tuple(0, 0); } catch (const std::string &e) { @@ -10197,9 +10218,9 @@ M_MODEL& or_leMessage(T val) } catch (...) { - co_return 0; + co_return std::make_tuple(0, 0); } - co_return 0; + co_return std::make_tuple(0, 0); } else { @@ -10208,7 +10229,7 @@ M_MODEL& or_leMessage(T val) { if (conn_empty()) { - co_return 0; + co_return std::make_tuple(0, 0); } if (islock_conn) { @@ -10231,7 +10252,7 @@ M_MODEL& or_leMessage(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -10239,7 +10260,7 @@ M_MODEL& or_leMessage(T val) if (n == 0) { edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -10263,12 +10284,14 @@ M_MODEL& or_leMessage(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - co_return insert_last_id; + co_return std::make_tuple(effect_num, insert_last_id); + //co_return insert_last_id; } catch (const std::exception &e) { @@ -10281,9 +10304,9 @@ M_MODEL& or_leMessage(T val) catch (...) { } - co_return 0; + co_return std::make_tuple(0, 0); } - co_return 0; + co_return std::make_tuple(0, 0); } std::tuple, std::map, std::vector>> @@ -10733,16 +10756,181 @@ M_MODEL& or_leMessage(T val) } M_MODEL &get() { return *mod; } std::string get_query() { return sqlstring; } - M_MODEL &start_commit() + + M_MODEL &begin_commit() { + if (!conn_empty()) + { + return *mod; + } + islock_conn = true; + + if (islock_conn) + { + if (!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } + sqlstring="start transaction"; + edit_conn->write_sql(sqlstring); iscommit = true; + + return *mod; } - M_MODEL &end_commit() + M_MODEL &rollback() { + if(iscommit==false) + { + error_msg = "not begin_commit"; + iserror = true; + return *mod; + } + if (!conn_empty()) + { + return *mod; + } + if (islock_conn) + { + if (!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } + sqlstring="rollback"; + edit_conn->write_sql(sqlstring); + iscommit = false; + islock_conn = false; return *mod; } + M_MODEL &commit() + { + if(iscommit==false) + { + error_msg = "not begin_commit"; + iserror = true; + return *mod; + } + if (!conn_empty()) + { + return *mod; + } + if (islock_conn) + { + if (!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn =conn_obj->get_edit_conn(); + } + sqlstring="commit"; + edit_conn->write_sql(sqlstring); + + iscommit = false; + islock_conn = false; + return *mod; + } + + + asio::awaitable async_begin_commit() + { + if (!conn_empty()) + { + co_return false; + } + islock_conn = true; + + if (islock_conn) + { + if (!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + sqlstring="start transaction"; + co_await edit_conn->async_write_sql(sqlstring); + iscommit = true; + + co_return false; + } + asio::awaitable async_rollback() + { + if(iscommit==false) + { + error_msg = "not begin_commit"; + iserror = true; + co_return false; + } + if (!conn_empty()) + { + co_return false; + } + if (islock_conn) + { + if (!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + sqlstring="rollback"; + co_await edit_conn->async_write_sql(sqlstring); + + iscommit = false; + islock_conn = false; + co_return true; + } + + asio::awaitable async_commit() + { + if(iscommit==false) + { + error_msg = "not begin_commit"; + iserror = true; + co_return false; + } + if (!conn_empty()) + { + co_return false; + } + if (islock_conn) + { + if (!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + sqlstring="commit"; + co_await edit_conn->async_write_sql(sqlstring); + + iscommit = false; + islock_conn = false; + co_return true; + } unsigned int effect() { diff --git a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortunebase.h b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortunebase.h index 4c4f331cfc5..69ed9e6577b 100644 --- a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortunebase.h +++ b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/fortunebase.h @@ -1,8 +1,8 @@ #ifndef ORM_DEFAULT_FORTUNEBASEMATA_H #define ORM_DEFAULT_FORTUNEBASEMATA_H /* -*This file is auto create from cli -*本文件为自动生成 Wed, 26 Mar 2025 14:12:09 GMT +*This file is auto create from paozhu_cli +*本文件为自动生成 Tue, 08 Apr 2025 07:55:59 GMT ***/ #include #include diff --git a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/world_mysql.h b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/world_mysql.h index 92e82f65391..f19be184169 100644 --- a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/world_mysql.h +++ b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/world_mysql.h @@ -1,6 +1,11 @@ #ifndef _ORM_DEFAULT_WORLD_OPERATE_H #define _ORM_DEFAULT_WORLD_OPERATE_H - +/* + * @author 黄自权 huangziquan + * @date 2022-05-04 + * @update 2025-03-12 + * @dest ORM MySQL中间连接层 + */ #include #include #include @@ -9151,26 +9156,26 @@ M_MODEL& or_leRandomnumber(T val) } return 0; } - long long insert(typename B_BASE::meta &insert_data) + std::tuple insert(typename B_BASE::meta &insert_data) { effect_num = 0; sqlstring = B_BASE::_makerecordinsertsql(insert_data); if (iscommit) { iscommit = false; - return 0; + return std::make_tuple(0, 0); } if (iserror) { - return 0; + return std::make_tuple(0, 0); } try { if (conn_empty()) { - return 0; + return std::make_tuple(0, 0); } //auto conn = conn_obj->get_edit_conn(); @@ -9195,7 +9200,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9204,7 +9209,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9228,12 +9233,14 @@ M_MODEL& or_leRandomnumber(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - return insert_last_id; + //return insert_last_id; + return std::make_tuple(effect_num, insert_last_id); } catch (const std::exception &e) { @@ -9246,29 +9253,29 @@ M_MODEL& or_leRandomnumber(T val) catch (...) { } - return 0; + return std::make_tuple(0, 0); } - asio::awaitable async_insert(typename B_BASE::meta &insert_data) + asio::awaitable> async_insert(typename B_BASE::meta &insert_data) { effect_num = 0; sqlstring = B_BASE::_makerecordinsertsql(insert_data); if (iscommit) { iscommit = false; - co_return 0; + co_return std::make_tuple(0, 0); } if (iserror) { - co_return 0; + co_return std::make_tuple(0, 0); } try { if (conn_empty()) { - co_return 0; + co_return std::make_tuple(0, 0); } if (islock_conn) @@ -9292,7 +9299,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9300,7 +9307,7 @@ M_MODEL& or_leRandomnumber(T val) if (n == 0) { edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9324,12 +9331,14 @@ M_MODEL& or_leRandomnumber(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - co_return insert_last_id; + //co_return insert_last_id; + co_return std::make_tuple(effect_num, insert_last_id); } catch (const std::exception &e) { @@ -9342,29 +9351,29 @@ M_MODEL& or_leRandomnumber(T val) catch (...) { } - co_return 0; + co_return std::make_tuple(0, 0); } - long long insert(std::vector &insert_data) + std::tuple insert(std::vector &insert_data) { effect_num = 0; sqlstring = B_BASE::_makerecordinsertsql(insert_data); if (iscommit) { iscommit = false; - return 0; + return std::make_tuple(0, 0); } if (iserror) { - return 0; + return std::make_tuple(0, 0); } try { if (conn_empty()) { - return 0; + return std::make_tuple(0, 0); } //auto conn = conn_obj->get_edit_conn(); if (islock_conn) @@ -9388,7 +9397,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9397,7 +9406,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9421,12 +9430,14 @@ M_MODEL& or_leRandomnumber(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - return insert_last_id; + //return insert_last_id; + return std::make_tuple(effect_num, insert_last_id); } catch (const std::exception &e) { @@ -9439,29 +9450,29 @@ M_MODEL& or_leRandomnumber(T val) catch (...) { } - return 0; + return std::make_tuple(0, 0); } - asio::awaitable async_insert(std::vector &insert_data) + asio::awaitable> async_insert(std::vector &insert_data) { effect_num = 0; sqlstring = B_BASE::_makerecordinsertsql(insert_data); if (iscommit) { iscommit = false; - co_return 0; + co_return std::make_tuple(0, 0); } if (iserror) { - co_return 0; + co_return std::make_tuple(0, 0); } try { if (conn_empty()) { - co_return 0; + co_return std::make_tuple(0, 0); } if (islock_conn) @@ -9485,7 +9496,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9493,7 +9504,7 @@ M_MODEL& or_leRandomnumber(T val) if (n == 0) { edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9516,12 +9527,14 @@ M_MODEL& or_leRandomnumber(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - co_return insert_last_id; + //co_return insert_last_id; + co_return std::make_tuple(effect_num, insert_last_id); } catch (const std::exception &e) { @@ -9534,29 +9547,29 @@ M_MODEL& or_leRandomnumber(T val) catch (...) { } - co_return 0; + co_return std::make_tuple(0, 0); } - long long insert() + std::tuple insert() { effect_num = 0; sqlstring = B_BASE::_makeinsertsql(); if (iscommit) { iscommit = false; - return 0; + return std::make_tuple(0, 0); } if (iserror) { - return 0; + return std::make_tuple(0, 0); } try { if (conn_empty()) { - return 0; + return std::make_tuple(0, 0); } //auto conn = conn_obj->get_edit_conn(); if (islock_conn) @@ -9580,7 +9593,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9589,7 +9602,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9612,12 +9625,14 @@ M_MODEL& or_leRandomnumber(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - return insert_last_id; + //return insert_last_id; + return std::make_tuple(effect_num, insert_last_id); } catch (const std::exception &e) { @@ -9630,29 +9645,29 @@ M_MODEL& or_leRandomnumber(T val) catch (...) { } - return 0; + return std::make_tuple(0, 0); } - asio::awaitable async_insert() + asio::awaitable> async_insert() { effect_num = 0; sqlstring = B_BASE::_makeinsertsql(); if (iscommit) { iscommit = false; - co_return 0; + co_return std::make_tuple(0, 0); } if (iserror) { - co_return 0; + co_return std::make_tuple(0, 0); } try { if (conn_empty()) { - co_return 0; + co_return std::make_tuple(0, 0); } if (islock_conn) @@ -9676,7 +9691,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9684,7 +9699,7 @@ M_MODEL& or_leRandomnumber(T val) if (n == 0) { edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9708,12 +9723,14 @@ M_MODEL& or_leRandomnumber(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - co_return insert_last_id; + //co_return insert_last_id; + co_return std::make_tuple(effect_num, insert_last_id); } catch (const std::exception &e) { @@ -9726,10 +9743,10 @@ M_MODEL& or_leRandomnumber(T val) catch (...) { } - co_return 0; + co_return std::make_tuple(0, 0); } - long long save(bool isrealnew = false) + std::tuple save(bool isrealnew = false) { effect_num = 0; if (B_BASE::getPK() > 0 && isrealnew == false) @@ -9748,7 +9765,7 @@ M_MODEL& or_leRandomnumber(T val) sqlstring.append(" where "); if (wheresql.empty()) { - return 0; + return std::make_tuple(0, 0); } else { @@ -9769,16 +9786,16 @@ M_MODEL& or_leRandomnumber(T val) if (iscommit) { iscommit = false; - return 0; + return std::make_tuple(0, 0); } if (iserror) { - return 0; + return std::make_tuple(0, 0); } if (conn_empty()) { - return 0; + return std::make_tuple(0, 0); } //auto conn = conn_obj->get_edit_conn(); if (islock_conn) @@ -9802,7 +9819,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9811,7 +9828,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9838,14 +9855,15 @@ M_MODEL& or_leRandomnumber(T val) { conn_obj->back_edit_conn(std::move(edit_conn)); } - return effect_num; + //return effect_num; + return std::make_tuple(effect_num, 0); } else { sqlstring = B_BASE::_makeinsertsql(); if (conn_empty()) { - return 0; + return std::make_tuple(0, 0); } //auto conn = conn_obj->get_edit_conn(); if (islock_conn) @@ -9869,7 +9887,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9878,7 +9896,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - return 0; + return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -9902,17 +9920,19 @@ M_MODEL& or_leRandomnumber(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - return insert_last_id; + //return insert_last_id; + return std::make_tuple(effect_num, insert_last_id); } - return 0; + return std::make_tuple(0, 0); } - asio::awaitable async_save(bool isrealnew = false) + asio::awaitable> async_save(bool isrealnew = false) { effect_num = 0; if (B_BASE::getPK() > 0 && isrealnew == false) @@ -9931,7 +9951,7 @@ M_MODEL& or_leRandomnumber(T val) sqlstring.append(" where "); if (wheresql.empty()) { - co_return 0; + co_return std::make_tuple(0, 0); } else { @@ -9952,19 +9972,19 @@ M_MODEL& or_leRandomnumber(T val) if (iscommit) { iscommit = false; - co_return 0; + co_return std::make_tuple(0, 0); } if (iserror) { - co_return 0; + co_return std::make_tuple(0, 0); } try { if (conn_empty()) { - co_return 0; + co_return std::make_tuple(0, 0); } if (islock_conn) @@ -9988,7 +10008,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -9996,7 +10016,7 @@ M_MODEL& or_leRandomnumber(T val) if (n == 0) { edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -10024,12 +10044,13 @@ M_MODEL& or_leRandomnumber(T val) { conn_obj->back_edit_conn(std::move(edit_conn)); } - co_return effect_num; + co_return std::make_tuple(effect_num, 0); + //co_return effect_num; } catch (const std::exception &e) { error_msg = std::string(e.what()); - co_return 0; + co_return std::make_tuple(0, 0); } catch (const std::string &e) { @@ -10037,9 +10058,9 @@ M_MODEL& or_leRandomnumber(T val) } catch (...) { - co_return 0; + co_return std::make_tuple(0, 0); } - co_return 0; + co_return std::make_tuple(0, 0); } else { @@ -10048,7 +10069,7 @@ M_MODEL& or_leRandomnumber(T val) { if (conn_empty()) { - co_return 0; + co_return std::make_tuple(0, 0); } if (islock_conn) { @@ -10071,7 +10092,7 @@ M_MODEL& or_leRandomnumber(T val) { error_msg = edit_conn->error_msg; edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } unsigned int offset = 0; @@ -10079,7 +10100,7 @@ M_MODEL& or_leRandomnumber(T val) if (n == 0) { edit_conn.reset(); - co_return 0; + co_return std::make_tuple(0, 0); } pack_info_t temp_pack_data; temp_pack_data.seq_id = 1; @@ -10103,12 +10124,14 @@ M_MODEL& or_leRandomnumber(T val) unsigned int d_offset = 1; effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); insert_last_id = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset); + B_BASE::setPK(insert_last_id); } if (!islock_conn) { conn_obj->back_edit_conn(std::move(edit_conn)); } - co_return insert_last_id; + co_return std::make_tuple(effect_num, insert_last_id); + //co_return insert_last_id; } catch (const std::exception &e) { @@ -10121,9 +10144,9 @@ M_MODEL& or_leRandomnumber(T val) catch (...) { } - co_return 0; + co_return std::make_tuple(0, 0); } - co_return 0; + co_return std::make_tuple(0, 0); } std::tuple, std::map, std::vector>> @@ -10573,16 +10596,181 @@ M_MODEL& or_leRandomnumber(T val) } M_MODEL &get() { return *mod; } std::string get_query() { return sqlstring; } - M_MODEL &start_commit() + + M_MODEL &begin_commit() { + if (!conn_empty()) + { + return *mod; + } + islock_conn = true; + + if (islock_conn) + { + if (!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } + sqlstring="start transaction"; + edit_conn->write_sql(sqlstring); iscommit = true; + + return *mod; } - M_MODEL &end_commit() + M_MODEL &rollback() { + if(iscommit==false) + { + error_msg = "not begin_commit"; + iserror = true; + return *mod; + } + if (!conn_empty()) + { + return *mod; + } + if (islock_conn) + { + if (!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn = conn_obj->get_edit_conn(); + } + sqlstring="rollback"; + edit_conn->write_sql(sqlstring); + iscommit = false; + islock_conn = false; return *mod; } + M_MODEL &commit() + { + if(iscommit==false) + { + error_msg = "not begin_commit"; + iserror = true; + return *mod; + } + if (!conn_empty()) + { + return *mod; + } + if (islock_conn) + { + if (!edit_conn) + { + edit_conn = conn_obj->get_edit_conn(); + } + } + else + { + edit_conn =conn_obj->get_edit_conn(); + } + sqlstring="commit"; + edit_conn->write_sql(sqlstring); + + iscommit = false; + islock_conn = false; + return *mod; + } + + + asio::awaitable async_begin_commit() + { + if (!conn_empty()) + { + co_return false; + } + islock_conn = true; + + if (islock_conn) + { + if (!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + sqlstring="start transaction"; + co_await edit_conn->async_write_sql(sqlstring); + iscommit = true; + + co_return false; + } + asio::awaitable async_rollback() + { + if(iscommit==false) + { + error_msg = "not begin_commit"; + iserror = true; + co_return false; + } + if (!conn_empty()) + { + co_return false; + } + if (islock_conn) + { + if (!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + sqlstring="rollback"; + co_await edit_conn->async_write_sql(sqlstring); + + iscommit = false; + islock_conn = false; + co_return true; + } + + asio::awaitable async_commit() + { + if(iscommit==false) + { + error_msg = "not begin_commit"; + iserror = true; + co_return false; + } + if (!conn_empty()) + { + co_return false; + } + if (islock_conn) + { + if (!edit_conn) + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + } + else + { + edit_conn = co_await conn_obj->async_get_edit_conn(); + } + sqlstring="commit"; + co_await edit_conn->async_write_sql(sqlstring); + + iscommit = false; + islock_conn = false; + co_return true; + } unsigned int effect() { diff --git a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/worldbase.h b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/worldbase.h index dd15e43112e..0101db0f660 100644 --- a/frameworks/C++/paozhu/paozhu_benchmark/orm/include/worldbase.h +++ b/frameworks/C++/paozhu/paozhu_benchmark/orm/include/worldbase.h @@ -1,8 +1,8 @@ #ifndef ORM_DEFAULT_WORLDBASEMATA_H #define ORM_DEFAULT_WORLDBASEMATA_H /* -*This file is auto create from cli -*本文件为自动生成 Wed, 26 Mar 2025 14:12:09 GMT +*This file is auto create from paozhu_cli +*本文件为自动生成 Tue, 08 Apr 2025 07:55:59 GMT ***/ #include #include