14
14
import sys
15
15
import time
16
16
import traceback
17
+ import typing
17
18
import warnings
18
19
19
20
from . import compat
25
26
from . import protocol
26
27
from . import serverversion
27
28
from . import transaction
29
+ from . import types
28
30
from . import utils
29
31
30
32
@@ -179,11 +181,11 @@ def remove_log_listener(self, callback):
179
181
"""
180
182
self ._log_listeners .discard (callback )
181
183
182
- def get_server_pid (self ):
184
+ def get_server_pid (self ) -> int :
183
185
"""Return the PID of the Postgres server the connection is bound to."""
184
186
return self ._protocol .get_server_pid ()
185
187
186
- def get_server_version (self ):
188
+ def get_server_version (self ) -> types . ServerVersion :
187
189
"""Return the version of the connected PostgreSQL server.
188
190
189
191
The returned value is a named tuple similar to that in
@@ -199,15 +201,15 @@ def get_server_version(self):
199
201
"""
200
202
return self ._server_version
201
203
202
- def get_settings (self ):
204
+ def get_settings (self ) -> protocol . ConnectionSettings :
203
205
"""Return connection settings.
204
206
205
207
:return: :class:`~asyncpg.ConnectionSettings`.
206
208
"""
207
209
return self ._protocol .get_settings ()
208
210
209
211
def transaction (self , * , isolation = 'read_committed' , readonly = False ,
210
- deferrable = False ):
212
+ deferrable = False ) -> transaction . Transaction :
211
213
"""Create a :class:`~transaction.Transaction` object.
212
214
213
215
Refer to `PostgreSQL documentation`_ on the meaning of transaction
@@ -230,7 +232,7 @@ def transaction(self, *, isolation='read_committed', readonly=False,
230
232
self ._check_open ()
231
233
return transaction .Transaction (self , isolation , readonly , deferrable )
232
234
233
- def is_in_transaction (self ):
235
+ def is_in_transaction (self ) -> bool :
234
236
"""Return True if Connection is currently inside a transaction.
235
237
236
238
:return bool: True if inside transaction, False otherwise.
@@ -275,7 +277,7 @@ async def execute(self, query: str, *args, timeout: float=None) -> str:
275
277
_ , status , _ = await self ._execute (query , args , 0 , timeout , True )
276
278
return status .decode ()
277
279
278
- async def executemany (self , command : str , args , * , timeout : float = None ):
280
+ async def executemany (self , command : str , args , * , timeout : float = None ) -> None :
279
281
"""Execute an SQL *command* for each sequence of arguments in *args*.
280
282
281
283
Example:
@@ -378,7 +380,7 @@ async def _introspect_types(self, typeoids, timeout):
378
380
return await self .__execute (
379
381
self ._intro_query , (list (typeoids ),), 0 , timeout )
380
382
381
- def cursor (self , query , * args , prefetch = None , timeout = None ):
383
+ def cursor (self , query , * args , prefetch = None , timeout = None ) -> cursor . CursorFactory :
382
384
"""Return a *cursor factory* for the specified query.
383
385
384
386
:param args: Query arguments.
@@ -392,7 +394,7 @@ def cursor(self, query, *args, prefetch=None, timeout=None):
392
394
return cursor .CursorFactory (self , query , None , args ,
393
395
prefetch , timeout )
394
396
395
- async def prepare (self , query , * , timeout = None ):
397
+ async def prepare (self , query , * , timeout = None ) -> prepared_stmt . PreparedStatement :
396
398
"""Create a *prepared statement* for the specified query.
397
399
398
400
:param str query: Text of the query to create a prepared statement for.
@@ -408,7 +410,7 @@ async def _prepare(self, query, *, timeout=None, use_cache: bool=False):
408
410
use_cache = use_cache )
409
411
return prepared_stmt .PreparedStatement (self , query , stmt )
410
412
411
- async def fetch (self , query , * args , timeout = None ) -> list :
413
+ async def fetch (self , query , * args , timeout = None ) -> typing . List [ protocol . Record ] :
412
414
"""Run a query and return the results as a list of :class:`Record`.
413
415
414
416
:param str query: Query text.
@@ -420,7 +422,7 @@ async def fetch(self, query, *args, timeout=None) -> list:
420
422
self ._check_open ()
421
423
return await self ._execute (query , args , 0 , timeout )
422
424
423
- async def fetchval (self , query , * args , column = 0 , timeout = None ):
425
+ async def fetchval (self , query , * args , column = 0 , timeout = None ) -> typing . Any :
424
426
"""Run a query and return a value in the first row.
425
427
426
428
:param str query: Query text.
@@ -441,7 +443,7 @@ async def fetchval(self, query, *args, column=0, timeout=None):
441
443
return None
442
444
return data [0 ][column ]
443
445
444
- async def fetchrow (self , query , * args , timeout = None ):
446
+ async def fetchrow (self , query , * args , timeout = None ) -> typing . Optional [ protocol . Record ] :
445
447
"""Run a query and return the first row.
446
448
447
449
:param str query: Query text
@@ -461,7 +463,7 @@ async def copy_from_table(self, table_name, *, output,
461
463
columns = None , schema_name = None , timeout = None ,
462
464
format = None , oids = None , delimiter = None ,
463
465
null = None , header = None , quote = None ,
464
- escape = None , force_quote = None , encoding = None ):
466
+ escape = None , force_quote = None , encoding = None ) -> str :
465
467
"""Copy table contents to a file or file-like object.
466
468
467
469
:param str table_name:
@@ -533,7 +535,7 @@ async def copy_from_query(self, query, *args, output,
533
535
timeout = None , format = None , oids = None ,
534
536
delimiter = None , null = None , header = None ,
535
537
quote = None , escape = None , force_quote = None ,
536
- encoding = None ):
538
+ encoding = None ) -> str :
537
539
"""Copy the results of a query to a file or file-like object.
538
540
539
541
:param str query:
@@ -597,7 +599,7 @@ async def copy_to_table(self, table_name, *, source,
597
599
delimiter = None , null = None , header = None ,
598
600
quote = None , escape = None , force_quote = None ,
599
601
force_not_null = None , force_null = None ,
600
- encoding = None ):
602
+ encoding = None ) -> str :
601
603
"""Copy data to the specified table.
602
604
603
605
:param str table_name:
@@ -668,7 +670,7 @@ async def copy_to_table(self, table_name, *, source,
668
670
669
671
async def copy_records_to_table (self , table_name , * , records ,
670
672
columns = None , schema_name = None ,
671
- timeout = None ):
673
+ timeout = None ) -> str :
672
674
"""Copy a list of records to the specified table using binary COPY.
673
675
674
676
:param str table_name:
@@ -1060,7 +1062,7 @@ async def set_builtin_type_codec(self, typename, *,
1060
1062
# Statement cache is no longer valid due to codec changes.
1061
1063
self ._drop_local_statement_cache ()
1062
1064
1063
- def is_closed (self ):
1065
+ def is_closed (self ) -> bool :
1064
1066
"""Return ``True`` if the connection is closed, ``False`` otherwise.
1065
1067
1066
1068
:return bool: ``True`` if the connection is closed, ``False``
@@ -1503,7 +1505,7 @@ async def connect(dsn=None, *,
1503
1505
command_timeout = None ,
1504
1506
ssl = None ,
1505
1507
connection_class = Connection ,
1506
- server_settings = None ):
1508
+ server_settings = None ) -> Connection :
1507
1509
r"""A coroutine to establish a connection to a PostgreSQL server.
1508
1510
1509
1511
The connection parameters may be specified either as a connection
0 commit comments