Skip to content

Commit ce0524d

Browse files
committed
Refactor: Use std::string not std::string_view in prepare()
Because std::string guarantees that there is a \0 at the end which we need for the C interface of the PostgreSQL library. Gets rid of clang-tidy warnings.
1 parent ee34d25 commit ce0524d

File tree

6 files changed

+12
-11
lines changed

6 files changed

+12
-11
lines changed

src/gen/gen-base.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,14 @@ pg_result_t gen_base_t::dbexec(params_t const &tmp_params,
9999
return connection().exec(sql_template.render());
100100
}
101101

102-
void gen_base_t::dbprepare(std::string_view stmt, std::string const &templ)
102+
void gen_base_t::dbprepare(std::string const &stmt, std::string const &templ)
103103
{
104104
template_t sql_template{templ};
105105
sql_template.set_params(get_params());
106106
connection().prepare(stmt, fmt::runtime(sql_template.render()));
107107
}
108108

109-
void gen_base_t::dbprepare(std::string_view stmt, params_t const &tmp_params,
109+
void gen_base_t::dbprepare(std::string const &stmt, params_t const &tmp_params,
110110
std::string const &templ)
111111
{
112112
template_t sql_template{templ};

src/gen/gen-base.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,9 @@ class gen_base_t
101101

102102
pg_result_t dbexec(params_t const &tmp_params, std::string const &templ);
103103

104-
void dbprepare(std::string_view stmt, std::string const &templ);
104+
void dbprepare(std::string const &stmt, std::string const &templ);
105105

106-
void dbprepare(std::string_view stmt, params_t const &tmp_params,
106+
void dbprepare(std::string const &stmt, params_t const &tmp_params,
107107
std::string const &templ);
108108

109109
void raster_table_preprocess(std::string const &table);

src/middle-pgsql.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ void middle_pgsql_t::dbexec(std::string_view templ) const
9393
m_db_connection.exec(render_template(templ));
9494
}
9595

96-
void middle_query_pgsql_t::prepare(std::string_view stmt,
96+
void middle_query_pgsql_t::prepare(std::string const &stmt,
9797
std::string const &sql_cmd) const
9898
{
9999
m_db_connection.prepare(stmt, fmt::runtime(sql_cmd));

src/middle-pgsql.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class middle_query_pgsql_t : public middle_query_t
7171
bool relation_get(osmid_t id,
7272
osmium::memory::Buffer *buffer) const override;
7373

74-
void prepare(std::string_view stmt, std::string const &sql_cmd) const;
74+
void prepare(std::string const &stmt, std::string const &sql_cmd) const;
7575

7676
private:
7777
osmium::Location get_node_location_flatnodes(osmid_t id) const;

src/pgsql.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,15 +194,15 @@ void pg_conn_t::copy_end(std::string_view context) const
194194
}
195195
}
196196

197-
void pg_conn_t::prepare_internal(std::string_view stmt,
198-
std::string_view sql) const
197+
void pg_conn_t::prepare_internal(std::string const &stmt,
198+
std::string const &sql) const
199199
{
200200
if (get_logger().log_sql()) {
201201
log_sql("(C{}) PREPARE {} AS {}", m_connection_id, stmt, sql);
202202
}
203203

204204
pg_result_t const res{
205-
PQprepare(m_conn.get(), stmt.data(), sql.data(), 0, nullptr)};
205+
PQprepare(m_conn.get(), stmt.c_str(), sql.c_str(), 0, nullptr)};
206206
if (res.status() != PGRES_COMMAND_OK) {
207207
throw fmt_error("Prepare failed for '{}': {}.", sql, error_msg());
208208
}

src/pgsql.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ class pg_conn_t
195195
* status code PGRES_COMMAND_OK).
196196
*/
197197
template <typename... TArgs>
198-
void prepare(std::string_view stmt, fmt::format_string<TArgs...> sql,
198+
void prepare(std::string const &stmt, fmt::format_string<TArgs...> sql,
199199
TArgs... params) const
200200
{
201201
std::string const query =
@@ -252,7 +252,8 @@ class pg_conn_t
252252
void close();
253253

254254
private:
255-
void prepare_internal(std::string_view stmt, std::string_view sql) const;
255+
void prepare_internal(std::string const &stmt,
256+
std::string const &sql) const;
256257

257258
pg_result_t exec_prepared_internal(char const *stmt, int num_params,
258259
char const *const *param_values,

0 commit comments

Comments
 (0)