Skip to content

Commit 8af53ad

Browse files
committed
Added db_copyQuery
1 parent ae61431 commit 8af53ad

2 files changed

Lines changed: 18 additions & 2 deletions

File tree

src/query.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,17 @@ game_value Query::cmd_prepareQuery(uintptr_t, game_value_parameter right) {
2121
return query;
2222
}
2323

24+
game_value Query::cmd_copyQuery(uintptr_t, game_value_parameter right) {
25+
auto inp = right.get_as<GameDataDBQuery>();
26+
27+
auto query = new GameDataDBQuery();
28+
29+
query->queryString = inp->queryString;
30+
query->boundValues = inp->boundValues;
31+
32+
return query;
33+
}
34+
2435
game_value Query::cmd_bindValue(uintptr_t, game_value_parameter left, game_value_parameter right) {
2536
auto query = left.get_as<GameDataDBQuery>();
2637

@@ -50,11 +61,14 @@ void Query::initCommands() {
5061

5162

5263
handle_cmd_prepareQuery = client::host::register_sqf_command("db_prepareQuery", "TODO", Query::cmd_prepareQuery, dbType.first, game_data_type::STRING);
64+
handle_cmd_copyQuery = client::host::register_sqf_command("db_copyQuery", "TODO", Query::cmd_copyQuery, dbType.first, dbType.first);
65+
66+
5367

5468
//#TODO only accept string,scalar,bool
55-
5669
handle_cmd_bindValue = client::host::register_sqf_command("db_bindValue", "TODO", Query::cmd_bindValue, game_data_type::NOTHING, dbType.first, game_data_type::ANY);
5770
handle_cmd_bindValueArray = client::host::register_sqf_command("db_bindValueArray", "TODO", Query::cmd_bindValueArray, game_data_type::NOTHING, dbType.first, game_data_type::ARRAY);
71+
5872
//handle_cmd_bindNamedValue = client::host::register_sqf_command("db_bindNamedValue", "TODO", Query::cmd_bindNamedValue, game_data_type::NOTHING, dbType.first, game_data_type::ANY);
5973
//handle_cmd_bindNamedValueArray = client::host::register_sqf_command("db_bindNamedValueArray", "TODO", Query::cmd_bindNamedValueArray, game_data_type::NOTHING, dbType.first, game_data_type::ARRAY);
6074

src/query.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ using namespace intercept::types;
66
class Query {
77
public:
88

9-
static game_value cmd_prepareQuery(uintptr_t, game_value_parameter right);
9+
static game_value cmd_prepareQuery(uintptr_t, game_value_parameter right);
10+
static game_value cmd_copyQuery(uintptr_t, game_value_parameter right);
1011
static game_value cmd_bindValue(uintptr_t, game_value_parameter left, game_value_parameter right);
1112
static game_value cmd_bindValueArray(uintptr_t, game_value_parameter left, game_value_parameter right);
1213
static game_value cmd_bindNamedValue(uintptr_t, game_value_parameter left, game_value_parameter right);
@@ -20,6 +21,7 @@ class Query {
2021
static inline game_data_type GameDataDBQuery_typeE;
2122

2223
static inline types::registered_sqf_function handle_cmd_prepareQuery;
24+
static inline types::registered_sqf_function handle_cmd_copyQuery;
2325
static inline types::registered_sqf_function handle_cmd_bindValue;
2426
static inline types::registered_sqf_function handle_cmd_bindValueArray;
2527
static inline types::registered_sqf_function handle_cmd_bindNamedValue;

0 commit comments

Comments
 (0)