@@ -75,19 +75,20 @@ def iterate(self, *params, **kwargs):
7575 return _PreparedIterableCursor (self , params , kwargs )
7676
7777 async def _do_execute (self , multiparams , params , one = False ,
78- return_model = True ):
78+ return_model = True , status = False ):
7979 ctx = self .context .connection .execute (
8080 self .clause , * multiparams , ** params ).context
8181 if ctx .executemany :
8282 raise ValueError ('PreparedStatement does not support multiple '
8383 'parameters.' )
84- assert ctx .statement == self .context .statement , 'Please report a bug'
84+ assert ctx .statement == self .context .statement , (
85+ 'Prepared statement generated different SQL with parameters' )
8586 params = []
8687 for val in ctx .parameters [0 ]:
87- if asyncio .iscoroutine (val ):
88- val = await val
8988 params .append (val )
90- rows = await self ._execute (params , one )
89+ msg , rows = await self ._execute (params , one )
90+ if status :
91+ return msg
9192 item = self .context .process_rows (rows , return_model = return_model )
9293 if one :
9394 if item :
@@ -110,6 +111,9 @@ async def scalar(self, *multiparams, **params):
110111 else :
111112 return None
112113
114+ async def status (self , * multiparams , ** params ):
115+ return await self ._do_execute (multiparams , params , status = True )
116+
113117 def _get_iterator (self , * params , ** kwargs ):
114118 raise NotImplementedError
115119
0 commit comments