File tree Expand file tree Collapse file tree 2 files changed +20
-8
lines changed
Expand file tree Collapse file tree 2 files changed +20
-8
lines changed Original file line number Diff line number Diff line change @@ -176,6 +176,14 @@ void middle_pgsql_t::table_desc::build_index(
176176 }
177177}
178178
179+ void middle_pgsql_t::table_desc::create_table (
180+ pg_conn_t const &db_connection) const
181+ {
182+ if (!m_create_table.empty ()) {
183+ db_connection.exec (m_create_table);
184+ }
185+ }
186+
179187void middle_pgsql_t::table_desc::init_max_id (pg_conn_t const &db_connection)
180188{
181189 auto const qual_name = qualified_name (schema (), name ());
@@ -1315,9 +1323,7 @@ static void table_setup(pg_conn_t const &db_connection,
13151323 log_debug (" Setting up table '{}'" , table.name ());
13161324 auto const qual_name = qualified_name (table.schema (), table.name ());
13171325 db_connection.exec (" DROP TABLE IF EXISTS {} CASCADE" , qual_name);
1318- if (!table.m_create_table .empty ()) {
1319- db_connection.exec (table.m_create_table );
1320- }
1326+ table.create_table (db_connection);
13211327}
13221328
13231329void middle_pgsql_t::start ()
@@ -1730,7 +1736,7 @@ middle_pgsql_t::get_query_instance()
17301736
17311737 // We use a connection per table to enable the use of COPY
17321738 for (auto &table : m_tables) {
1733- for (auto const &query : table.m_prepare_queries ) {
1739+ for (auto const &query : table.prepare_queries () ) {
17341740 mid->exec_sql (query);
17351741 }
17361742 }
Original file line number Diff line number Diff line change @@ -153,22 +153,28 @@ struct middle_pgsql_t : public middle_t
153153 // /< Open a new database connection and build index on this table.
154154 void build_index (connection_params_t const &connection_params) const ;
155155
156- std::string m_create_table;
157- std::vector<std::string> m_prepare_queries;
158- std::vector<std::string> m_create_fw_dep_indexes;
159-
160156 void task_set (std::future<std::chrono::microseconds> &&future)
161157 {
162158 m_task_result.set (std::move (future));
163159 }
164160
165161 std::chrono::microseconds task_wait () { return m_task_result.wait (); }
166162
163+ void create_table (pg_conn_t const &db_connection) const ;
164+
167165 void init_max_id (pg_conn_t const &db_connection);
168166
169167 osmid_t max_id () const noexcept { return m_max_id; }
170168
169+ std::vector<std::string> const &prepare_queries () const noexcept
170+ {
171+ return m_prepare_queries;
172+ }
173+
171174 private:
175+ std::string m_create_table;
176+ std::vector<std::string> m_create_fw_dep_indexes;
177+ std::vector<std::string> m_prepare_queries;
172178 std::shared_ptr<db_target_descr_t > m_copy_target;
173179 task_result_t m_task_result;
174180
You can’t perform that action at this time.
0 commit comments