"""
with conn.cursor() as cur:
- cur.execute("""select
- getorcreate_country(make_standard_name('uk')
- , 'gb')""")
- cur.execute("""select getorcreate_country(make_standard_name('united states'), 'us')""")
- cur.execute("""select count(*) from
- (select getorcreate_country(make_standard_name(country_code),
- country_code) from country_name where country_code is not null) as x""")
- cur.execute("""select count(*) from
- (select getorcreate_country(make_standard_name(name->'name'),
- country_code) from country_name where name ? 'name') as x""")
- sql_statement = """select count(*) from (select getorcreate_country(make_standard_name(v)
- , country_code) from (select country_code, skeys(name)
- as k, svals(name) as v from country_name) x where k """
+ cur.execute("""SELECT getorcreate_country(make_standard_name('uk'), 'gb')""")
+ cur.execute("""SELECT getorcreate_country(make_standard_name('united states'), 'us')""")
+ cur.execute("""SELECT COUNT(*) FROM
+ (SELECT getorcreate_country(make_standard_name(country_code),
+ country_code) FROM country_name WHERE country_code is not null) AS x""")
+ cur.execute("""SELECT COUNT(*) FROM
+ (SELECT getorcreate_country(make_standard_name(name->'name'), country_code)
+ FROM country_name WHERE name ? 'name') AS x""")
+ sql_statement = """SELECT COUNT(*) FROM (SELECT getorcreate_country(make_standard_name(v),
+ country_code) FROM (SELECT country_code, skeys(name)
+ AS k, svals(name) AS v FROM country_name) x WHERE k"""
languages = config.LANGUAGES
if languages:
- sql_statement += 'in '
- delim = '('
+ sql_statement = "{} IN (".format(sql_statement)
+ delim = ''
for language in languages.split(','):
- sql_statement += delim + "'name:" + language + "'"
- delim = ','
-
- sql_statement += ')'
+ sql_statement = "{}{}'name:{}'".format(sql_statement,delim,language)
+ delim = ', '
+ sql_statement = '{})'.format(sql_statement)
else:
- sql_statement += "like 'name:%'"
- sql_statement += ') v'
+ sql_statement = "{} LIKE 'name:%'".format(sql_statement)
+ sql_statement = "{}) v".format(sql_statement)
cur.execute(sql_statement)
conn.commit()
temp_db_cursor.execute("""CREATE FUNCTION make_standard_name (name TEXT)
RETURNS TEXT AS $$ SELECT 'a'::TEXT $$ LANGUAGE SQL
""")
+ temp_db_cursor.execute('CREATE TABLE country_name (country_code varchar(2), name hstore)')
+ temp_db_cursor.execute('CREATE TABLE word (code varchar(2))')
+ temp_db_cursor.execute("""INSERT INTO country_name VALUES ('us',
+ '"name"=>"us","name:af"=>"us"')""")
temp_db_cursor.execute("""CREATE OR REPLACE FUNCTION getorcreate_country(lookup_word TEXT,
- lookup_country_code varchar(2))
+ lookup_country_code varchar(2))
RETURNS INTEGER
AS $$
BEGIN
- INSERT INTO country_name VALUES (5, lookup_word);
+ INSERT INTO word VALUES (lookup_country_code);
RETURN 5;
END;
$$
LANGUAGE plpgsql;
""")
- temp_db_cursor.execute('CREATE TABLE country_name (id int, country_code varchar(2), name hstore)')
database_import.create_country_names(temp_db_conn, def_config)
- assert temp_db_cursor.table_rows('country_name') == 4
+ if languages:
+ assert temp_db_cursor.table_rows('word') == 4
+ else:
+ assert temp_db_cursor.table_rows('word') == 5