|
@@ -1,6 +1,11 @@
|
|
#ifndef _ORM_DEFAULT_WORLD_OPERATE_H
|
|
#ifndef _ORM_DEFAULT_WORLD_OPERATE_H
|
|
#define _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 <iostream>
|
|
#include <iostream>
|
|
#include <mutex>
|
|
#include <mutex>
|
|
#include <string>
|
|
#include <string>
|
|
@@ -9151,26 +9156,26 @@ M_MODEL& or_leRandomnumber(T val)
|
|
}
|
|
}
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
- long long insert(typename B_BASE::meta &insert_data)
|
|
|
|
|
|
+ std::tuple<unsigned int, unsigned long long> insert(typename B_BASE::meta &insert_data)
|
|
{
|
|
{
|
|
effect_num = 0;
|
|
effect_num = 0;
|
|
sqlstring = B_BASE::_makerecordinsertsql(insert_data);
|
|
sqlstring = B_BASE::_makerecordinsertsql(insert_data);
|
|
if (iscommit)
|
|
if (iscommit)
|
|
{
|
|
{
|
|
iscommit = false;
|
|
iscommit = false;
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
if (iserror)
|
|
if (iserror)
|
|
{
|
|
{
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
try
|
|
try
|
|
{
|
|
{
|
|
if (conn_empty())
|
|
if (conn_empty())
|
|
{
|
|
{
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
//auto conn = conn_obj->get_edit_conn();
|
|
//auto conn = conn_obj->get_edit_conn();
|
|
|
|
|
|
@@ -9195,7 +9200,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
unsigned int offset = 0;
|
|
unsigned int offset = 0;
|
|
@@ -9204,7 +9209,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
pack_info_t temp_pack_data;
|
|
pack_info_t temp_pack_data;
|
|
temp_pack_data.seq_id = 1;
|
|
temp_pack_data.seq_id = 1;
|
|
@@ -9228,12 +9233,14 @@ M_MODEL& or_leRandomnumber(T val)
|
|
unsigned int d_offset = 1;
|
|
unsigned int d_offset = 1;
|
|
effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset);
|
|
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);
|
|
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)
|
|
if (!islock_conn)
|
|
{
|
|
{
|
|
conn_obj->back_edit_conn(std::move(edit_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)
|
|
catch (const std::exception &e)
|
|
{
|
|
{
|
|
@@ -9246,29 +9253,29 @@ M_MODEL& or_leRandomnumber(T val)
|
|
catch (...)
|
|
catch (...)
|
|
{
|
|
{
|
|
}
|
|
}
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
- asio::awaitable<long long> async_insert(typename B_BASE::meta &insert_data)
|
|
|
|
|
|
+ asio::awaitable<std::tuple<unsigned int, unsigned long long>> async_insert(typename B_BASE::meta &insert_data)
|
|
{
|
|
{
|
|
effect_num = 0;
|
|
effect_num = 0;
|
|
sqlstring = B_BASE::_makerecordinsertsql(insert_data);
|
|
sqlstring = B_BASE::_makerecordinsertsql(insert_data);
|
|
if (iscommit)
|
|
if (iscommit)
|
|
{
|
|
{
|
|
iscommit = false;
|
|
iscommit = false;
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
if (iserror)
|
|
if (iserror)
|
|
{
|
|
{
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
try
|
|
try
|
|
{
|
|
{
|
|
if (conn_empty())
|
|
if (conn_empty())
|
|
{
|
|
{
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
if (islock_conn)
|
|
if (islock_conn)
|
|
@@ -9292,7 +9299,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
unsigned int offset = 0;
|
|
unsigned int offset = 0;
|
|
@@ -9300,7 +9307,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
if (n == 0)
|
|
if (n == 0)
|
|
{
|
|
{
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
pack_info_t temp_pack_data;
|
|
pack_info_t temp_pack_data;
|
|
temp_pack_data.seq_id = 1;
|
|
temp_pack_data.seq_id = 1;
|
|
@@ -9324,12 +9331,14 @@ M_MODEL& or_leRandomnumber(T val)
|
|
unsigned int d_offset = 1;
|
|
unsigned int d_offset = 1;
|
|
effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset);
|
|
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);
|
|
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)
|
|
if (!islock_conn)
|
|
{
|
|
{
|
|
conn_obj->back_edit_conn(std::move(edit_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)
|
|
catch (const std::exception &e)
|
|
{
|
|
{
|
|
@@ -9342,29 +9351,29 @@ M_MODEL& or_leRandomnumber(T val)
|
|
catch (...)
|
|
catch (...)
|
|
{
|
|
{
|
|
}
|
|
}
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
- long long insert(std::vector<typename B_BASE::meta> &insert_data)
|
|
|
|
|
|
+ std::tuple<unsigned int, unsigned long long> insert(std::vector<typename B_BASE::meta> &insert_data)
|
|
{
|
|
{
|
|
effect_num = 0;
|
|
effect_num = 0;
|
|
sqlstring = B_BASE::_makerecordinsertsql(insert_data);
|
|
sqlstring = B_BASE::_makerecordinsertsql(insert_data);
|
|
if (iscommit)
|
|
if (iscommit)
|
|
{
|
|
{
|
|
iscommit = false;
|
|
iscommit = false;
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
if (iserror)
|
|
if (iserror)
|
|
{
|
|
{
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
try
|
|
try
|
|
{
|
|
{
|
|
if (conn_empty())
|
|
if (conn_empty())
|
|
{
|
|
{
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
//auto conn = conn_obj->get_edit_conn();
|
|
//auto conn = conn_obj->get_edit_conn();
|
|
if (islock_conn)
|
|
if (islock_conn)
|
|
@@ -9388,7 +9397,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
unsigned int offset = 0;
|
|
unsigned int offset = 0;
|
|
@@ -9397,7 +9406,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
pack_info_t temp_pack_data;
|
|
pack_info_t temp_pack_data;
|
|
temp_pack_data.seq_id = 1;
|
|
temp_pack_data.seq_id = 1;
|
|
@@ -9421,12 +9430,14 @@ M_MODEL& or_leRandomnumber(T val)
|
|
unsigned int d_offset = 1;
|
|
unsigned int d_offset = 1;
|
|
effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset);
|
|
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);
|
|
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)
|
|
if (!islock_conn)
|
|
{
|
|
{
|
|
conn_obj->back_edit_conn(std::move(edit_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)
|
|
catch (const std::exception &e)
|
|
{
|
|
{
|
|
@@ -9439,29 +9450,29 @@ M_MODEL& or_leRandomnumber(T val)
|
|
catch (...)
|
|
catch (...)
|
|
{
|
|
{
|
|
}
|
|
}
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
- asio::awaitable<long long> async_insert(std::vector<typename B_BASE::meta> &insert_data)
|
|
|
|
|
|
+ asio::awaitable<std::tuple<unsigned int, unsigned long long>> async_insert(std::vector<typename B_BASE::meta> &insert_data)
|
|
{
|
|
{
|
|
effect_num = 0;
|
|
effect_num = 0;
|
|
sqlstring = B_BASE::_makerecordinsertsql(insert_data);
|
|
sqlstring = B_BASE::_makerecordinsertsql(insert_data);
|
|
if (iscommit)
|
|
if (iscommit)
|
|
{
|
|
{
|
|
iscommit = false;
|
|
iscommit = false;
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
if (iserror)
|
|
if (iserror)
|
|
{
|
|
{
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
try
|
|
try
|
|
{
|
|
{
|
|
if (conn_empty())
|
|
if (conn_empty())
|
|
{
|
|
{
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
if (islock_conn)
|
|
if (islock_conn)
|
|
@@ -9485,7 +9496,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
unsigned int offset = 0;
|
|
unsigned int offset = 0;
|
|
@@ -9493,7 +9504,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
if (n == 0)
|
|
if (n == 0)
|
|
{
|
|
{
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
pack_info_t temp_pack_data;
|
|
pack_info_t temp_pack_data;
|
|
temp_pack_data.seq_id = 1;
|
|
temp_pack_data.seq_id = 1;
|
|
@@ -9516,12 +9527,14 @@ M_MODEL& or_leRandomnumber(T val)
|
|
unsigned int d_offset = 1;
|
|
unsigned int d_offset = 1;
|
|
effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset);
|
|
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);
|
|
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)
|
|
if (!islock_conn)
|
|
{
|
|
{
|
|
conn_obj->back_edit_conn(std::move(edit_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)
|
|
catch (const std::exception &e)
|
|
{
|
|
{
|
|
@@ -9534,29 +9547,29 @@ M_MODEL& or_leRandomnumber(T val)
|
|
catch (...)
|
|
catch (...)
|
|
{
|
|
{
|
|
}
|
|
}
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
- long long insert()
|
|
|
|
|
|
+ std::tuple<unsigned int, unsigned long long> insert()
|
|
{
|
|
{
|
|
effect_num = 0;
|
|
effect_num = 0;
|
|
sqlstring = B_BASE::_makeinsertsql();
|
|
sqlstring = B_BASE::_makeinsertsql();
|
|
if (iscommit)
|
|
if (iscommit)
|
|
{
|
|
{
|
|
iscommit = false;
|
|
iscommit = false;
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
if (iserror)
|
|
if (iserror)
|
|
{
|
|
{
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
try
|
|
try
|
|
{
|
|
{
|
|
if (conn_empty())
|
|
if (conn_empty())
|
|
{
|
|
{
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
//auto conn = conn_obj->get_edit_conn();
|
|
//auto conn = conn_obj->get_edit_conn();
|
|
if (islock_conn)
|
|
if (islock_conn)
|
|
@@ -9580,7 +9593,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
unsigned int offset = 0;
|
|
unsigned int offset = 0;
|
|
@@ -9589,7 +9602,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
pack_info_t temp_pack_data;
|
|
pack_info_t temp_pack_data;
|
|
temp_pack_data.seq_id = 1;
|
|
temp_pack_data.seq_id = 1;
|
|
@@ -9612,12 +9625,14 @@ M_MODEL& or_leRandomnumber(T val)
|
|
unsigned int d_offset = 1;
|
|
unsigned int d_offset = 1;
|
|
effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset);
|
|
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);
|
|
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)
|
|
if (!islock_conn)
|
|
{
|
|
{
|
|
conn_obj->back_edit_conn(std::move(edit_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)
|
|
catch (const std::exception &e)
|
|
{
|
|
{
|
|
@@ -9630,29 +9645,29 @@ M_MODEL& or_leRandomnumber(T val)
|
|
catch (...)
|
|
catch (...)
|
|
{
|
|
{
|
|
}
|
|
}
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
- asio::awaitable<long long> async_insert()
|
|
|
|
|
|
+ asio::awaitable<std::tuple<unsigned int, unsigned long long>> async_insert()
|
|
{
|
|
{
|
|
effect_num = 0;
|
|
effect_num = 0;
|
|
sqlstring = B_BASE::_makeinsertsql();
|
|
sqlstring = B_BASE::_makeinsertsql();
|
|
if (iscommit)
|
|
if (iscommit)
|
|
{
|
|
{
|
|
iscommit = false;
|
|
iscommit = false;
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
if (iserror)
|
|
if (iserror)
|
|
{
|
|
{
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
try
|
|
try
|
|
{
|
|
{
|
|
if (conn_empty())
|
|
if (conn_empty())
|
|
{
|
|
{
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
if (islock_conn)
|
|
if (islock_conn)
|
|
@@ -9676,7 +9691,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
unsigned int offset = 0;
|
|
unsigned int offset = 0;
|
|
@@ -9684,7 +9699,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
if (n == 0)
|
|
if (n == 0)
|
|
{
|
|
{
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
pack_info_t temp_pack_data;
|
|
pack_info_t temp_pack_data;
|
|
temp_pack_data.seq_id = 1;
|
|
temp_pack_data.seq_id = 1;
|
|
@@ -9708,12 +9723,14 @@ M_MODEL& or_leRandomnumber(T val)
|
|
unsigned int d_offset = 1;
|
|
unsigned int d_offset = 1;
|
|
effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset);
|
|
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);
|
|
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)
|
|
if (!islock_conn)
|
|
{
|
|
{
|
|
conn_obj->back_edit_conn(std::move(edit_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)
|
|
catch (const std::exception &e)
|
|
{
|
|
{
|
|
@@ -9726,10 +9743,10 @@ M_MODEL& or_leRandomnumber(T val)
|
|
catch (...)
|
|
catch (...)
|
|
{
|
|
{
|
|
}
|
|
}
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
- long long save(bool isrealnew = false)
|
|
|
|
|
|
+ std::tuple<unsigned int, unsigned long long> save(bool isrealnew = false)
|
|
{
|
|
{
|
|
effect_num = 0;
|
|
effect_num = 0;
|
|
if (B_BASE::getPK() > 0 && isrealnew == false)
|
|
if (B_BASE::getPK() > 0 && isrealnew == false)
|
|
@@ -9748,7 +9765,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
sqlstring.append(" where ");
|
|
sqlstring.append(" where ");
|
|
if (wheresql.empty())
|
|
if (wheresql.empty())
|
|
{
|
|
{
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -9769,16 +9786,16 @@ M_MODEL& or_leRandomnumber(T val)
|
|
if (iscommit)
|
|
if (iscommit)
|
|
{
|
|
{
|
|
iscommit = false;
|
|
iscommit = false;
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
if (iserror)
|
|
if (iserror)
|
|
{
|
|
{
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
if (conn_empty())
|
|
if (conn_empty())
|
|
{
|
|
{
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
//auto conn = conn_obj->get_edit_conn();
|
|
//auto conn = conn_obj->get_edit_conn();
|
|
if (islock_conn)
|
|
if (islock_conn)
|
|
@@ -9802,7 +9819,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
unsigned int offset = 0;
|
|
unsigned int offset = 0;
|
|
@@ -9811,7 +9828,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
pack_info_t temp_pack_data;
|
|
pack_info_t temp_pack_data;
|
|
temp_pack_data.seq_id = 1;
|
|
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));
|
|
conn_obj->back_edit_conn(std::move(edit_conn));
|
|
}
|
|
}
|
|
- return effect_num;
|
|
|
|
|
|
+ //return effect_num;
|
|
|
|
+ return std::make_tuple(effect_num, 0);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
sqlstring = B_BASE::_makeinsertsql();
|
|
sqlstring = B_BASE::_makeinsertsql();
|
|
if (conn_empty())
|
|
if (conn_empty())
|
|
{
|
|
{
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
//auto conn = conn_obj->get_edit_conn();
|
|
//auto conn = conn_obj->get_edit_conn();
|
|
if (islock_conn)
|
|
if (islock_conn)
|
|
@@ -9869,7 +9887,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
unsigned int offset = 0;
|
|
unsigned int offset = 0;
|
|
@@ -9878,7 +9896,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- return 0;
|
|
|
|
|
|
+ return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
pack_info_t temp_pack_data;
|
|
pack_info_t temp_pack_data;
|
|
temp_pack_data.seq_id = 1;
|
|
temp_pack_data.seq_id = 1;
|
|
@@ -9902,17 +9920,19 @@ M_MODEL& or_leRandomnumber(T val)
|
|
unsigned int d_offset = 1;
|
|
unsigned int d_offset = 1;
|
|
effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset);
|
|
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);
|
|
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)
|
|
if (!islock_conn)
|
|
{
|
|
{
|
|
conn_obj->back_edit_conn(std::move(edit_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<long long> async_save(bool isrealnew = false)
|
|
|
|
|
|
+ asio::awaitable<std::tuple<unsigned int, unsigned long long>> async_save(bool isrealnew = false)
|
|
{
|
|
{
|
|
effect_num = 0;
|
|
effect_num = 0;
|
|
if (B_BASE::getPK() > 0 && isrealnew == false)
|
|
if (B_BASE::getPK() > 0 && isrealnew == false)
|
|
@@ -9931,7 +9951,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
sqlstring.append(" where ");
|
|
sqlstring.append(" where ");
|
|
if (wheresql.empty())
|
|
if (wheresql.empty())
|
|
{
|
|
{
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -9952,19 +9972,19 @@ M_MODEL& or_leRandomnumber(T val)
|
|
if (iscommit)
|
|
if (iscommit)
|
|
{
|
|
{
|
|
iscommit = false;
|
|
iscommit = false;
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
if (iserror)
|
|
if (iserror)
|
|
{
|
|
{
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
try
|
|
try
|
|
{
|
|
{
|
|
if (conn_empty())
|
|
if (conn_empty())
|
|
{
|
|
{
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
if (islock_conn)
|
|
if (islock_conn)
|
|
@@ -9988,7 +10008,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
unsigned int offset = 0;
|
|
unsigned int offset = 0;
|
|
@@ -9996,7 +10016,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
if (n == 0)
|
|
if (n == 0)
|
|
{
|
|
{
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
pack_info_t temp_pack_data;
|
|
pack_info_t temp_pack_data;
|
|
temp_pack_data.seq_id = 1;
|
|
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));
|
|
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)
|
|
catch (const std::exception &e)
|
|
{
|
|
{
|
|
error_msg = std::string(e.what());
|
|
error_msg = std::string(e.what());
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
catch (const std::string &e)
|
|
catch (const std::string &e)
|
|
{
|
|
{
|
|
@@ -10037,9 +10058,9 @@ M_MODEL& or_leRandomnumber(T val)
|
|
}
|
|
}
|
|
catch (...)
|
|
catch (...)
|
|
{
|
|
{
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -10048,7 +10069,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
if (conn_empty())
|
|
if (conn_empty())
|
|
{
|
|
{
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
if (islock_conn)
|
|
if (islock_conn)
|
|
{
|
|
{
|
|
@@ -10071,7 +10092,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
{
|
|
{
|
|
error_msg = edit_conn->error_msg;
|
|
error_msg = edit_conn->error_msg;
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
unsigned int offset = 0;
|
|
unsigned int offset = 0;
|
|
@@ -10079,7 +10100,7 @@ M_MODEL& or_leRandomnumber(T val)
|
|
if (n == 0)
|
|
if (n == 0)
|
|
{
|
|
{
|
|
edit_conn.reset();
|
|
edit_conn.reset();
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
pack_info_t temp_pack_data;
|
|
pack_info_t temp_pack_data;
|
|
temp_pack_data.seq_id = 1;
|
|
temp_pack_data.seq_id = 1;
|
|
@@ -10103,12 +10124,14 @@ M_MODEL& or_leRandomnumber(T val)
|
|
unsigned int d_offset = 1;
|
|
unsigned int d_offset = 1;
|
|
effect_num = edit_conn->pack_real_num((unsigned char *)&temp_pack_data.data[0], d_offset);
|
|
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);
|
|
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)
|
|
if (!islock_conn)
|
|
{
|
|
{
|
|
conn_obj->back_edit_conn(std::move(edit_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)
|
|
catch (const std::exception &e)
|
|
{
|
|
{
|
|
@@ -10121,9 +10144,9 @@ M_MODEL& or_leRandomnumber(T val)
|
|
catch (...)
|
|
catch (...)
|
|
{
|
|
{
|
|
}
|
|
}
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
- co_return 0;
|
|
|
|
|
|
+ co_return std::make_tuple(0, 0);
|
|
}
|
|
}
|
|
|
|
|
|
std::tuple<std::vector<std::string>, std::map<std::string, unsigned int>, std::vector<std::vector<std::string>>>
|
|
std::tuple<std::vector<std::string>, std::map<std::string, unsigned int>, std::vector<std::vector<std::string>>>
|
|
@@ -10573,16 +10596,181 @@ M_MODEL& or_leRandomnumber(T val)
|
|
}
|
|
}
|
|
M_MODEL &get() { return *mod; }
|
|
M_MODEL &get() { return *mod; }
|
|
std::string get_query() { return sqlstring; }
|
|
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;
|
|
iscommit = true;
|
|
|
|
+
|
|
|
|
+
|
|
return *mod;
|
|
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;
|
|
iscommit = false;
|
|
|
|
+ islock_conn = false;
|
|
return *mod;
|
|
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<bool> 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<bool> 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<bool> 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()
|
|
unsigned int effect()
|
|
{
|
|
{
|