]> git.openstreetmap.org Git - nominatim.git/commitdiff
update typing for latest changes in SQLAlchemy
authorSarah Hoffmann <lonvia@denofr.de>
Fri, 29 Dec 2023 19:55:33 +0000 (20:55 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Fri, 29 Dec 2023 19:55:33 +0000 (20:55 +0100)
nominatim/api/results.py
nominatim/api/search/db_searches.py
nominatim/db/sqlalchemy_functions.py

index 829008fb3ec316a09a753b39cb720404b1c8d98b..9b67c51aa580ef38befd5e9efb80ed7b7885b825 100644 (file)
@@ -590,7 +590,7 @@ async def complete_address_details(conn: SearchConnection, results: List[BaseRes
         return
 
     ltab = sa.func.JsonArrayEach(sa.type_coerce(lookup_ids, sa.JSON))\
-             .table_valued(sa.column('value', type_=sa.JSON)) # type: ignore[no-untyped-call]
+             .table_valued(sa.column('value', type_=sa.JSON))
 
     t = conn.t.placex
     taddr = conn.t.addressline
@@ -653,7 +653,7 @@ async def complete_address_details(conn: SearchConnection, results: List[BaseRes
     parent_lookup_ids = list(filter(lambda e: e['pid'] != e['lid'], lookup_ids))
     if parent_lookup_ids:
         ltab = sa.func.JsonArrayEach(sa.type_coerce(parent_lookup_ids, sa.JSON))\
-                 .table_valued(sa.column('value', type_=sa.JSON)) # type: ignore[no-untyped-call]
+                 .table_valued(sa.column('value', type_=sa.JSON))
         sql = sa.select(ltab.c.value['pid'].as_integer().label('src_place_id'),
                         t.c.place_id, t.c.osm_type, t.c.osm_id, t.c.name,
                         t.c.class_, t.c.type, t.c.extratags,
index ee98100c637fbe3365b99c85951e07bf92c4055f..cc352134cffd313ab5dd846357021359c0fc8105 100644 (file)
@@ -7,7 +7,7 @@
 """
 Implementation of the acutal database accesses for forward search.
 """
-from typing import List, Tuple, AsyncIterator, Dict, Any, Callable
+from typing import List, Tuple, AsyncIterator, Dict, Any, Callable, cast
 import abc
 
 import sqlalchemy as sa
@@ -190,7 +190,7 @@ def _int_list_to_subquery(inp: List[int]) -> 'sa.Subquery':
         as rows in the column 'nr'.
     """
     vtab = sa.func.JsonArrayEach(sa.type_coerce(inp, sa.JSON))\
-               .table_valued(sa.column('value', type_=sa.JSON)) # type: ignore[no-untyped-call]
+               .table_valued(sa.column('value', type_=sa.JSON))
     return sa.select(sa.cast(sa.cast(vtab.c.value, sa.Text), sa.Integer).label('nr')).subquery()
 
 
@@ -656,7 +656,7 @@ class PlaceSearch(AbstractSearch):
                       .where(tpc.c.postcode.in_(pcs))\
                       .scalar_subquery()
             penalty += sa.case((t.c.postcode.in_(pcs), 0.0),
-                               else_=sa.func.coalesce(pc_near, 2.0))
+                               else_=sa.func.coalesce(pc_near, cast(SaColumn, 2.0)))
 
         if details.viewbox is not None:
             if details.bounded_viewbox:
index e2437dd2e34c4ad4b5080558f8b4dee28ceb4cb1..f576d32f06a175191823e2375dfb29a57630966b 100644 (file)
@@ -55,7 +55,7 @@ class IntersectsReverseDistance(sa.sql.functions.GenericFunction[Any]):
     inherit_cache = True
 
     def __init__(self, table: sa.Table, geom: SaColumn) -> None:
-        super().__init__(table.c.geometry, # type: ignore[no-untyped-call]
+        super().__init__(table.c.geometry,
                          table.c.rank_search, geom)
         self.tablename = table.name
 
@@ -122,7 +122,7 @@ class IsAddressPoint(sa.sql.functions.GenericFunction[Any]):
     inherit_cache = True
 
     def __init__(self, table: sa.Table) -> None:
-        super().__init__(table.c.rank_address, # type: ignore[no-untyped-call]
+        super().__init__(table.c.rank_address,
                          table.c.housenumber, table.c.name)