import logging
from textwrap import dedent
-from psycopg2.extras import execute_values
+from psycopg2 import sql as pysql
from nominatim.db.utils import execute_file
from nominatim.db.sql_preprocessor import SQLPreprocessor
LOG = logging.getLogger()
-def recompute_word_counts(dsn, sql_dir):
- """ Compute the frequency of full-word search terms.
- """
- execute_file(dsn, sql_dir / 'words_from_search_name.sql')
-
-
def _add_address_level_rows_from_entry(rows, entry):
""" Converts a single entry from the JSON format for address rank
descriptions into a flat format suitable for inserting into a
_add_address_level_rows_from_entry(rows, entry)
with conn.cursor() as cur:
- cur.execute('DROP TABLE IF EXISTS {}'.format(table))
+ cur.drop_table(table)
cur.execute("""CREATE TABLE {} (country_code varchar(2),
class TEXT,
rank_search SMALLINT,
rank_address SMALLINT)""".format(table))
- execute_values(cur, "INSERT INTO {} VALUES %s".format(table), rows)
+ cur.execute_values(pysql.SQL("INSERT INTO {} VALUES %s")
+ .format(pysql.Identifier(table)), rows)
cur.execute('CREATE UNIQUE INDEX ON {} (country_code, class, type)'.format(table))