diff --git a/src/output-gazetteer.cpp b/src/output-gazetteer.cpp index 51222b608..d92db5e05 100644 --- a/src/output-gazetteer.cpp +++ b/src/output-gazetteer.cpp @@ -31,21 +31,16 @@ void output_gazetteer_t::delete_unused_classes(char osm_type, osmid_t osm_id) } } -void output_gazetteer_t::connect() -{ - m_conn.reset(new pg_conn_t(m_options.database_options.conninfo())); -} - int output_gazetteer_t::start() { int srid = m_options.projection->target_srs(); - connect(); - /* (Re)create the table unless we are appending */ if (!m_options.append) { + pg_conn_t conn{m_options.database_options.conninfo()}; + /* Drop any existing table */ - m_conn->exec("DROP TABLE IF EXISTS place CASCADE"); + conn.exec("DROP TABLE IF EXISTS place CASCADE"); /* Create the new table */ @@ -64,14 +59,14 @@ int output_gazetteer_t::start() sql += " TABLESPACE " + m_options.tblsmain_data.get(); } - m_conn->exec(sql); + conn.exec(sql); std::string index_sql = "CREATE INDEX place_id_idx ON place USING BTREE (osm_type, osm_id)"; if (m_options.tblsmain_index) { index_sql += " TABLESPACE " + m_options.tblsmain_index.get(); } - m_conn->exec(index_sql); + conn.exec(index_sql); } return 0; diff --git a/src/output-gazetteer.hpp b/src/output-gazetteer.hpp index cdc44530b..21518785d 100644 --- a/src/output-gazetteer.hpp +++ b/src/output-gazetteer.hpp @@ -11,7 +11,6 @@ #include "osmium-builder.hpp" #include "osmtypes.hpp" #include "output.hpp" -#include "pgsql.hpp" #include "util.hpp" class output_gazetteer_t : public output_t @@ -22,9 +21,7 @@ class output_gazetteer_t : public output_t : output_t(cloned_mid, other->m_options), m_copy(copy_thread), m_builder(other->m_options.projection, true), osmium_buffer(PLACE_BUFFER_SIZE, osmium::memory::Buffer::auto_grow::yes) - { - connect(); - } + {} public: output_gazetteer_t(std::shared_ptr const &mid, @@ -110,7 +107,6 @@ class output_gazetteer_t : public output_t int process_node(osmium::Node const &node); int process_way(osmium::Way *way); int process_relation(osmium::Relation const &rel); - void connect(); void delete_unused_full(char osm_type, osmid_t osm_id) { @@ -120,7 +116,6 @@ class output_gazetteer_t : public output_t } db_copy_mgr_t m_copy; - std::unique_ptr m_conn; gazetteer_style_t m_style; geom::osmium_builder_t m_builder;