Exemplo n.º 1
0
def _create_temporary_user_for_dump():
    query = """
        CREATE ROLE brian LOGIN PASSWORD 'brian';
        GRANT ALL PRIVILEGES ON DATABASE {database} to brian;
    """.format(database=settings.get("DB_NAME"))

    exec_sql(query, user="******")
Exemplo n.º 2
0
def _alter_wikipedia_dump_owner():
    query = """
        ALTER TABLE wikipedia_article OWNER TO {username};
        ALTER TABLE wikipedia_redirect OWNER TO {username};
    """.format(username=settings.get("DB_USER"))

    exec_sql(query, user="******")
Exemplo n.º 3
0
def session(engine):
    session = Session(engine)

    yield session

    session.close()

    exec_sql("SELECT truncate_tables('osm_test')")
Exemplo n.º 4
0
def session(engine):
    session = Session(engine)

    yield session

    session.close()

    exec_sql("SELECT truncate_tables('osm_test')")
Exemplo n.º 5
0
def create_database():
    create_user_query = "CREATE USER {} WITH PASSWORD '{}';".format(
        settings.get("DB_USER"), settings.get("DB_PASSWORD"))
    create_database_query = "CREATE DATABASE {} WITH TEMPLATE template_postgis OWNER {};".format(
        settings.get("DB_NAME"), settings.get("DB_USER"))

    exec_sql(create_user_query, user="******", database="postgres")
    exec_sql(create_database_query, user="******", database="postgres")
Exemplo n.º 6
0
def create_database():
    create_user_query = "CREATE USER {} WITH PASSWORD '{}';".format(settings.get("DB_USER"),
                                                                    settings.get("DB_PASSWORD"))
    create_database_query = "CREATE DATABASE {} WITH TEMPLATE template_postgis OWNER {};".format(
            settings.get("DB_NAME"),
            settings.get("DB_USER")
            )

    exec_sql(create_user_query, user="******", database="postgres")
    exec_sql(create_database_query, user="******", database="postgres")
Exemplo n.º 7
0
def _recreate_database():
    print("drop database")
    drop_database_query = "DROP DATABASE IF EXISTS {};".format(
        settings.get("DB_NAME"))
    drop_user_query = "DROP USER IF EXISTS {};".format(settings.get("DB_USER"))
    exec_sql(drop_database_query, user="******", database="postgres")
    exec_sql(drop_user_query, user="******", database="postgres")

    print("create database")
    init_database()
Exemplo n.º 8
0
def _create_temporary_user_for_dump():
    query = """
        DO $$
        BEGIN
            IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'brian') THEN
                CREATE ROLE brian LOGIN PASSWORD 'brian';
            END IF;
        END
        $$;
        GRANT ALL PRIVILEGES ON DATABASE {database} to brian;
    """.format(database=settings.get("DB_NAME"))

    exec_sql(query, user="******")
Exemplo n.º 9
0
def _init_and_clear_database():
    # creates database if necessary
    init_database()

    exec_sql("DROP OWNED BY osm_test")

    # prepare schema for tests
    current_directory = os.path.dirname(os.path.realpath(__file__))
    exec_sql_from_file('helpers/schema.sql.dump', cwd=current_directory)
    exec_sql_from_file('helpers/functions.sql', cwd=current_directory)
    export_osmnames.create_functions()

    # necessary for export tests
    if not os.path.exists('/tmp/osmnames/export/'):
        os.makedirs('/tmp/osmnames/export/')
Exemplo n.º 10
0
def _init_and_clear_database():
    # creates database if necessary
    init_database()

    exec_sql("DROP OWNED BY osm_test")

    # prepare schema for tests
    current_directory = os.path.dirname(os.path.realpath(__file__))
    exec_sql_from_file('helpers/schema.sql.dump', cwd=current_directory)
    exec_sql_from_file('helpers/functions.sql', cwd=current_directory)
    export_osmnames.create_functions()

    # necessary for export tests
    if not os.path.exists('/tmp/osmnames/export/'):
        os.makedirs('/tmp/osmnames/export/')
Exemplo n.º 11
0
def create_basic_scaffolding():
    query = """
        CREATE TABLE wikipedia_article (
            language text NOT NULL,
            title text NOT NULL,
            importance double precision
        );

        CREATE TABLE wikipedia_redirect (
            language text,
            from_title text NOT NULL,
            to_title text NOT NULL
        );
    """

    exec_sql(query)
Exemplo n.º 12
0
def prepare_wikipedia_redirects():
    exec_sql("DROP INDEX idx_wikipedia_redirect_from_title")
    exec_sql("""
        UPDATE wikipedia_redirect
            SET from_title = concat_ws(':', language, from_title),
                to_title = concat_ws(':', language, to_title);
    """)
    exec_sql("CREATE INDEX ON wikipedia_redirect(from_title)")
Exemplo n.º 13
0
def create_extensions():
    exec_sql("CREATE EXTENSION IF NOT EXISTS hstore;",
             user="******",
             database="template_postgis")
    exec_sql("CREATE EXTENSION IF NOT EXISTS unaccent;",
             user="******",
             database="template_postgis")
    exec_sql("CREATE EXTENSION IF NOT EXISTS pg_trgm;",
             user="******",
             database="template_postgis")
Exemplo n.º 14
0
def disable_notices():
    exec_sql("SET client_min_messages TO WARNING;")
Exemplo n.º 15
0
def create_wikipedia_index():
    exec_sql("CREATE INDEX idx_wikipedia_article_title ON wikipedia_article (title);")
Exemplo n.º 16
0
def _alter_wikipedia_dump_owner():
    query = """
        ALTER TABLE wikipedia_article OWNER TO {username};
    """.format(username=settings.get("DB_USER"))

    exec_sql(query, user="******")
Exemplo n.º 17
0
def drop_parent_polygons():
    exec_sql("DROP TABLE parent_polygons CASCADE")
Exemplo n.º 18
0
def drop_unused_indexes():
    for index in ["osm_linestring_osm_id_idx", "osm_housenumber_osm_id_idx"]:
        exec_sql("DROP INDEX IF EXISTS {}".format(index))
Exemplo n.º 19
0
def sanatize_for_import():
    exec_sql("""DROP TABLE IF EXISTS osm_linestring,
                                     osm_point,
                                     osm_polygon,
                                     osm_housenumber CASCADE""")
Exemplo n.º 20
0
def create_geometry_indexes():
    exec_sql("""
      CREATE INDEX osm_linestring_geometry_center ON osm_linestring USING gist(geometry_center);
      CREATE INDEX osm_housenumber_geometry_center ON osm_housenumber USING gist(geometry_center);
      CREATE INDEX osm_polygon_geometry ON osm_polygon USING gist(geometry);
    """)
Exemplo n.º 21
0
def disable_notices():
    exec_sql("SET client_min_messages TO WARNING;")
Exemplo n.º 22
0
def drop_geometry_center_indexes():
    exec_sql("""
        DROP INDEX osm_linestring_geometry_center;
        DROP INDEX osm_housenumber_geometry_center;
        DROP INDEX osm_polygon_geometry;
    """)
Exemplo n.º 23
0
def set_tables_unlogged():
    for table in ["osm_linestring", "osm_point", "osm_polygon", "osm_housenumber"]:
        exec_sql("ALTER TABLE {} SET UNLOGGED;".format(table))
Exemplo n.º 24
0
def drop_unused_indexes():
    for index in ["osm_linestring_osm_id_idx", "osm_housenumber_osm_id_idx"]:
        exec_sql("DROP INDEX IF EXISTS {}".format(index))
Exemplo n.º 25
0
def set_tables_unlogged():
    for table in ["osm_linestring", "osm_point", "osm_polygon", "osm_housenumber"]:
        exec_sql("ALTER TABLE {} SET UNLOGGED;".format(table))
Exemplo n.º 26
0
def create_indexes():
    exec_sql("CREATE INDEX osm_housenumber_street_id ON osm_housenumber(street_id);")
Exemplo n.º 27
0
def create_indexes():
    exec_sql(
        "CREATE INDEX osm_housenumber_street_id ON osm_housenumber(street_id);"
    )
Exemplo n.º 28
0
def drop_geometry_center_indexes():
    exec_sql("""
        DROP INDEX osm_linestring_geometry_center;
        DROP INDEX osm_polygon_geometry_center;
        DROP INDEX osm_housenumber_geometry_center;
    """)
Exemplo n.º 29
0
def sanatize_for_import():
    exec_sql("""DROP TABLE IF EXISTS osm_linestring,
                                     osm_point,
                                     osm_polygon,
                                     osm_housenumber CASCADE""")
Exemplo n.º 30
0
def create_extensions():
    exec_sql("CREATE EXTENSION IF NOT EXISTS hstore;", user="******", database="template_postgis")
    exec_sql("CREATE EXTENSION IF NOT EXISTS unaccent;", user="******", database="template_postgis")
    exec_sql("CREATE EXTENSION IF NOT EXISTS pg_trgm;", user="******", database="template_postgis")