Skip to content

Commit 9874e2c

Browse files
committed
Add parameters to pg_conn_t::exec_prepared_internal() function
These parameters will allow us to read/write data in binary format later.
1 parent 17002c0 commit 9874e2c

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

src/pgsql.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,18 +132,23 @@ static std::string concat_params(int num_params,
132132
return joiner();
133133
}
134134

135-
pg_result_t
136-
pg_conn_t::exec_prepared_internal(char const *stmt, int num_params,
137-
char const *const *param_values) const
135+
pg_result_t pg_conn_t::exec_prepared_internal(char const *stmt, int num_params,
136+
char const *const *param_values,
137+
int *param_lengths,
138+
int *param_formats,
139+
int result_format) const
138140
{
139141
assert(m_conn);
140142

141143
if (get_logger().log_sql()) {
142144
log_sql("EXECUTE {}({})", stmt,
143145
concat_params(num_params, param_values));
144146
}
147+
145148
pg_result_t res{PQexecPrepared(m_conn.get(), stmt, num_params, param_values,
146-
nullptr, nullptr, 0)};
149+
param_lengths, param_formats,
150+
result_format)};
151+
147152
auto const status = res.status();
148153
if (status != PGRES_COMMAND_OK && status != PGRES_TUPLES_OK) {
149154
log_error("SQL command failed: EXECUTE {}({})", stmt,

src/pgsql.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ class pg_conn_t
233233
std::forward<TArgs>(params))...};
234234

235235
return exec_prepared_internal(stmt, sizeof...(params),
236-
param_ptrs.data());
236+
param_ptrs.data(), nullptr, nullptr, 0);
237237
}
238238

239239
/**
@@ -254,7 +254,9 @@ class pg_conn_t
254254

255255
private:
256256
pg_result_t exec_prepared_internal(char const *stmt, int num_params,
257-
char const *const *param_values) const;
257+
char const *const *param_values,
258+
int *param_lengths, int *param_formats,
259+
int result_format) const;
258260

259261
struct pg_conn_deleter_t
260262
{

0 commit comments

Comments
 (0)