@@ -232,30 +232,34 @@ async def __aexit__(
232232 async def fetch_all (
233233 self , query : typing .Union [ClauseElement , str ], values : dict = None
234234 ) -> typing .List [typing .Mapping ]:
235+ built_query = self ._build_query (query , values )
235236 async with self ._query_lock :
236- return await self ._connection .fetch_all (self . _build_query ( query , values ) )
237+ return await self ._connection .fetch_all (built_query )
237238
238239 async def fetch_one (
239240 self , query : typing .Union [ClauseElement , str ], values : dict = None
240241 ) -> typing .Optional [typing .Mapping ]:
242+ built_query = self ._build_query (query , values )
241243 async with self ._query_lock :
242- return await self ._connection .fetch_one (self . _build_query ( query , values ) )
244+ return await self ._connection .fetch_one (built_query )
243245
244246 async def fetch_val (
245247 self ,
246248 query : typing .Union [ClauseElement , str ],
247249 values : dict = None ,
248250 column : typing .Any = 0 ,
249251 ) -> typing .Any :
252+ built_query = self ._build_query (query , values )
250253 async with self ._query_lock :
251- row = await self ._connection .fetch_one (self . _build_query ( query , values ) )
254+ row = await self ._connection .fetch_one (built_query )
252255 return None if row is None else row [column ]
253256
254257 async def execute (
255258 self , query : typing .Union [ClauseElement , str ], values : dict = None
256259 ) -> typing .Any :
260+ built_query = self ._build_query (query , values )
257261 async with self ._query_lock :
258- return await self ._connection .execute (self . _build_query ( query , values ) )
262+ return await self ._connection .execute (built_query )
259263
260264 async def execute_many (
261265 self , query : typing .Union [ClauseElement , str ], values : list
@@ -267,11 +271,10 @@ async def execute_many(
267271 async def iterate (
268272 self , query : typing .Union [ClauseElement , str ], values : dict = None
269273 ) -> typing .AsyncGenerator [typing .Any , None ]:
274+ built_query = self ._build_query (query , values )
270275 async with self .transaction ():
271276 async with self ._query_lock :
272- async for record in self ._connection .iterate (
273- self ._build_query (query , values )
274- ):
277+ async for record in self ._connection .iterate (built_query ):
275278 yield record
276279
277280 def transaction (self , * , force_rollback : bool = False ) -> "Transaction" :
@@ -466,8 +469,8 @@ def replace(self, **kwargs: typing.Any) -> "DatabaseURL":
466469 kwargs ["scheme" ] = f"{ dialect } +{ driver } " if driver else dialect
467470
468471 if not kwargs .get ("netloc" , self .netloc ):
469- # Using an empty string that evaluates as True means we end
470- # up with URLs like `sqlite:///database` instead of `sqlite:/database`
472+ # Using an empty string that evaluates as True means we end up
473+ # with URLs like `sqlite:///database` instead of `sqlite:/database`
471474 kwargs ["netloc" ] = _EmptyNetloc ()
472475
473476 components = self .components ._replace (** kwargs )
0 commit comments