X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/58c471c627a8893413f9734ff36c3fdc00827e6e..5dfa76a610972eea3930ecff1c41fb795ea2e7e4:/test/bdd/steps/nominatim_environment.py diff --git a/test/bdd/steps/nominatim_environment.py b/test/bdd/steps/nominatim_environment.py index 7741d667..2547bbe2 100644 --- a/test/bdd/steps/nominatim_environment.py +++ b/test/bdd/steps/nominatim_environment.py @@ -179,6 +179,7 @@ class NominatimEnvironment: cur.execute('CREATE DATABASE {} TEMPLATE = {}'.format(self.test_db, self.template_db)) conn.close() context.db = self.connect_database(self.test_db) + context.db.autocommit = True psycopg2.extras.register_hstore(context.db, globally=False) def teardown_db(self, context): @@ -215,3 +216,25 @@ class NominatimEnvironment: cwd = self.build_dir run_script(cmd, cwd=cwd, env=self.test_env) + + def copy_from_place(self, db): + """ Copy data from place to the placex and location_property_osmline + tables invoking the appropriate triggers. + """ + self.run_setup_script('create-functions', 'create-partition-functions') + + with db.cursor() as cur: + cur.execute("""INSERT INTO placex (osm_type, osm_id, class, type, + name, admin_level, address, + extratags, geometry) + SELECT osm_type, osm_id, class, type, + name, admin_level, address, + extratags, geometry + FROM place + WHERE not (class='place' and type='houses' and osm_type='W')""") + cur.execute("""INSERT INTO location_property_osmline (osm_id, address, linegeo) + SELECT osm_id, address, geometry + FROM place + WHERE class='place' and type='houses' + and osm_type='W' + and ST_GeometryType(geometry) = 'ST_LineString'""")