From: Sarah Hoffmann Date: Sun, 14 Apr 2019 09:25:52 +0000 (+0200) Subject: Merge pull request #1348 from mtmail/checkmodulepresence-to-raise-exception X-Git-Tag: v3.3.0~14 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/33ff96fd8323040f4551839e55c061b048329f66?hp=84149f26dfc97a5a78914f8d355468da2ea88e7d Merge pull request #1348 from mtmail/checkmodulepresence-to-raise-exception checkModulePresence now raises exception instead of its callers --- diff --git a/lib/AddressDetails.php b/lib/AddressDetails.php index f5293586..2d40c84f 100644 --- a/lib/AddressDetails.php +++ b/lib/AddressDetails.php @@ -31,7 +31,7 @@ class AddressDetails private static function isAddress($aLine) { - return $aLine['isaddress'] == 't' || $aLine['type'] == 'country_code'; + return $aLine['isaddress'] || $aLine['type'] == 'country_code'; } public function getAddressDetails($bAll = false) @@ -49,7 +49,7 @@ class AddressDetails $sPrevResult = ''; foreach ($this->aAddressLines as $aLine) { - if ($aLine['isaddress'] == 't' && $sPrevResult != $aLine['localname']) { + if ($aLine['isaddress'] && $sPrevResult != $aLine['localname']) { $sPrevResult = $aLine['localname']; $aParts[] = $sPrevResult; } diff --git a/lib/template/details-html.php b/lib/template/details-html.php index 01583e5f..9ef59563 100644 --- a/lib/template/details-html.php +++ b/lib/template/details-html.php @@ -61,7 +61,7 @@ function _one_row($aAddressLine){ - $bNotUsed = (isset($aAddressLine['isaddress']) && $aAddressLine['isaddress'] == 'f'); + $bNotUsed = !$aAddressLine['isaddress']; echo ''."\n"; echo ' '.(trim($aAddressLine['localname'])?$aAddressLine['localname']:'No Name')."\n"; @@ -119,7 +119,7 @@ if ($aPointDetails['calculated_importance']) { kv('Importance' , $aPointDetails['calculated_importance'].($aPointDetails['importance']?'':' (estimated)') ); } - kv('Coverage' , ($aPointDetails['isarea']=='t'?'Polygon':'Point') ); + kv('Coverage' , ($aPointDetails['isarea']?'Polygon':'Point') ); kv('Centre Point' , $aPointDetails['lat'].','.$aPointDetails['lon'] ); kv('OSM' , osmLink($aPointDetails) ); if ($aPointDetails['wikipedia']) diff --git a/lib/template/details-json.php b/lib/template/details-json.php index 06554aba..4afb1b0b 100644 --- a/lib/template/details-json.php +++ b/lib/template/details-json.php @@ -33,7 +33,7 @@ if ($aPointDetails['icon']) { $aPlaceDetails['rank_address'] = (int) $aPointDetails['rank_address']; $aPlaceDetails['rank_search'] = (int) $aPointDetails['rank_search']; -$aPlaceDetails['isarea'] = ($aPointDetails['isarea'] == 't'); +$aPlaceDetails['isarea'] = $aPointDetails['isarea']; $aPlaceDetails['centroid'] = array( 'type' => 'Point', 'coordinates' => array( (float) $aPointDetails['lon'], (float) $aPointDetails['lat'] ) diff --git a/sql/functions.sql b/sql/functions.sql index 73790353..8ecb8c2c 100644 --- a/sql/functions.sql +++ b/sql/functions.sql @@ -2318,6 +2318,7 @@ DECLARE searchhousename HSTORE; searchrankaddress INTEGER; searchpostcode TEXT; + postcode_isaddress BOOL; searchclass TEXT; searchtype TEXT; countryname HSTORE; @@ -2325,6 +2326,8 @@ BEGIN -- The place ein question might not have a direct entry in place_addressline. -- Look for the parent of such places then and save if in for_place_id. + postcode_isaddress := true; + -- first query osmline (interpolation lines) IF in_housenumber >= 0 THEN SELECT parent_place_id, country_code, in_housenumber::text, 30, postcode, @@ -2441,7 +2444,10 @@ BEGIN searchcountrycode := location.country_code; END IF; IF location.type in ('postcode', 'postal_code') THEN - location.isaddress := FALSE; + postcode_isaddress := false; + IF location.osm_type != 'R' THEN + location.isaddress := FALSE; + END IF; END IF; countrylocation := ROW(location.place_id, location.osm_type, location.osm_id, location.name, location.class, location.type, @@ -2485,7 +2491,7 @@ BEGIN IF searchpostcode IS NOT NULL THEN location := ROW(null, null, null, hstore('ref', searchpostcode), 'place', - 'postcode', null, true, true, 5, 0)::addressline; + 'postcode', null, false, postcode_isaddress, 5, 0)::addressline; RETURN NEXT location; END IF; diff --git a/utils/update.php b/utils/update.php index a18c1721..c3620b06 100644 --- a/utils/update.php +++ b/utils/update.php @@ -352,7 +352,7 @@ if ($aResult['import-osmosis'] || $aResult['import-osmosis-all']) { $sBatchEnd = $aLastState['lastimportdate']; $iEndSequence = $aLastState['sequence_id']; - if ($aLastState['indexed'] == 't') { + if ($aLastState['indexed']) { // Sleep if the update interval has not yet been reached. $fNextUpdate = $aLastState['unix_ts'] + CONST_Replication_Update_Interval; if ($fNextUpdate > $fStartTime) { diff --git a/website/hierarchy.php b/website/hierarchy.php index b31b85d1..87e8a0af 100644 --- a/website/hierarchy.php +++ b/website/hierarchy.php @@ -121,7 +121,7 @@ if (!empty($aParentOfLines)) { echo '
'; echo ''.(trim($aAddressLine['localname'])?$aAddressLine['localname']:'No Name').''; echo ' ('; - echo ''.($aAddressLine['isarea']=='t'?'Polygon':'Point').''; + echo ''.($aAddressLine['isarea']?'Polygon':'Point').''; if ($sOSMType) echo ', '.$sOSMType.' '.osmLink($aAddressLine).''; echo ', GOTO'; echo ', '.$aAddressLine['area'];