mysql/core_cities_merge.sql
authorEdward <edward@roojs.com>
Thu, 26 Jun 2014 12:11:14 +0000 (20:11 +0800)
committerEdward <edward@roojs.com>
Thu, 26 Jun 2014 12:11:14 +0000 (20:11 +0800)
mysql/core_cities_merge.sql

index f74c620..b4100fc 100644 (file)
@@ -469,6 +469,8 @@ CREATE FUNCTION core_city_blocks()  RETURNS INT DETERMINISTIC
         DECLARE v_is_satellite_provider INT DEFAULT 0;
 
         DECLARE v_city_id INT DEFAULT 0;
+        DECLARE v_country_iso_code TEXT DEFAULT '';
+        DECLARE v_subdivision_name TEXT DEFAULT '';
         DECLARE v_city_name TEXT DEFAULT '';
 
         DECLARE csr CURSOR FOR 
@@ -491,9 +493,15 @@ CREATE FUNCTION core_city_blocks()  RETURNS INT DETERMINISTIC
             
             SET v_count = v_count + 1;
             
-            SET v_country_id = 0;
+            SET v_city_id = 0;
+            SET v_city_name = '';
 
-            SELECT country_iso_code INTO v_country_iso_code FROM country_locations WHERE geoname_id = v_geoname_id;
+            SELECT country_iso_code,subdivision_iso_name,city_name INTO v_city_name FROM city_locations WHERE geoname_id = v_geoname_id;
+
+            IF (v_city_name != '') THEN
+                SELECT id INTO v_city_id FROM core_geoip_city WHERE name = v_city_name
+
+            END IF;
 
             IF v_country_iso_code != '' THEN
                 SELECT id INTO v_country_id FROM core_geoip_country WHERE code = v_country_iso_code;