o
    6	fo                     @   s   U d Z ddlmZmZmZmZmZmZ ddlmZm	Z	 ddl
mZ ddlmZmZ ddlmZ e	r;dd	lmZmZmZ eeeef Zeed
< G dd deZG dd deZG dd deZG dd deZG dd deZdS )zP
Protocol objects to represent objects exposed by different pq implementations.
    )AnyCallableListOptionalSequenceTuple)UnionTYPE_CHECKING)	TypeAlias   )FormatTrace   )Protocol)PGnotifyConninfoOptionPGresAttDescBufferc                   @   s2  e Zd ZU eedgdf  ed< eedgdf  ed< ededd fdd	Zededd fd
dZ	de
fddZdddZeded fddZdddZdddZde
fddZedede
fddZedefddZedefddZedefdd Zedefd!d"Zedefd#d$Zedefd%d&Zedefd'd(Zedefd)d*Zede
fd+d,Zede
fd-d.Zd/edee fd0d1Zedefd2d3Zede
fd4d5Z ede
fd6d7Z!ede
fd8d9Z"ede#fd:d;Z$ede#fd<d=Z%ede#fd>d?Z&d@eddfdAdBZ'd@eddfdCdDZ(dde)j*fd@edEee+ee,   dFee+e
  dGee+e
  dHe
ddfdIdJZ-dde)j*fd@edEee+ee,   dFee+e
  dGee+e
  dHe
ddfdKdLZ.	dd/ed@edFee+e
  ddfdMdNZ/de)j*fd/edEee+ee,   dGee+e
  dHe
ddf
dOdPZ0	dd/ed@edFee+e
  ddfdQdRZ1		Sdd/edEee+e,  dGee+e
  dHe
ddf
dTdUZ2d/eddfdVdWZ3d/eddfdXdYZ4d/eddfdZd[Z5d/eddfd\d]Z6ded fd^d_Z7dd`daZ8de
fdbdcZ9ede
fdddeZ:e:j;dfe
ddfdgdeZ:de
fdhdiZ<ddjdkZ=ddmdnZ>ded fdodpZ?dqe,de
fdrdsZ@ddtee de
fdudvZAdwe
deBe
eCf fdxdyZDdze
ddfd{d|ZEd}eFddfd~dZGdddZH	ddededee defddZIde
ddfddZJede
fddZKdddZLdddZMdddZNdddZOdS )PGconnPGresultNnotice_handlerr   notify_handlerconninforeturnc                 C      d S N clsr   r   r   G/home/ertert/spirit/venv/lib/python3.10/site-packages/psycopg/pq/abc.pyconnect      zPGconn.connectc                 C   r   r   r   r   r   r   r   connect_start   r!   zPGconn.connect_startc                 C   r   r   r   selfr   r   r   connect_poll       zPGconn.connect_pollc                 C   r   r   r   r#   r   r   r   finish!   r&   zPGconn.finishr   c                 C   r   r   r   r#   r   r   r   info#   r!   zPGconn.infoc                 C   r   r   r   r#   r   r   r   reset&   r&   zPGconn.resetc                 C   r   r   r   r#   r   r   r   reset_start(   r&   zPGconn.reset_startc                 C   r   r   r   r#   r   r   r   
reset_poll*   r&   zPGconn.reset_pollc                 C   r   r   r   )r$   r   r   r   r   ping,   r!   zPGconn.pingc                 C   r   r   r   r#   r   r   r   db/   r!   z	PGconn.dbc                 C   r   r   r   r#   r   r   r   user2   r!   zPGconn.userc                 C   r   r   r   r#   r   r   r   password5   r!   zPGconn.passwordc                 C   r   r   r   r#   r   r   r   host8   r!   zPGconn.hostc                 C   r   r   r   r#   r   r   r   hostaddr;   r!   zPGconn.hostaddrc                 C   r   r   r   r#   r   r   r   port>   r!   zPGconn.portc                 C   r   r   r   r#   r   r   r   ttyA   r!   z
PGconn.ttyc                 C   r   r   r   r#   r   r   r   optionsD   r!   zPGconn.optionsc                 C   r   r   r   r#   r   r   r   statusG   r!   zPGconn.statusc                 C   r   r   r   r#   r   r   r   transaction_statusJ   r!   zPGconn.transaction_statusnamec                 C   r   r   r   r$   r7   r   r   r   parameter_statusM   r&   zPGconn.parameter_statusc                 C   r   r   r   r#   r   r   r   error_messageO   r!   zPGconn.error_messagec                 C   r   r   r   r#   r   r   r   server_versionR   r!   zPGconn.server_versionc                 C   r   r   r   r#   r   r   r   socketU   r!   zPGconn.socketc                 C   r   r   r   r#   r   r   r   backend_pidX   r!   zPGconn.backend_pidc                 C   r   r   r   r#   r   r   r   needs_password[   r!   zPGconn.needs_passwordc                 C   r   r   r   r#   r   r   r   used_password^   r!   zPGconn.used_passwordc                 C   r   r   r   r#   r   r   r   
ssl_in_usea   r!   zPGconn.ssl_in_usecommandc                 C   r   r   r   r$   rA   r   r   r   exec_d   r&   zPGconn.exec_c                 C   r   r   r   rB   r   r   r   
send_queryf   r&   zPGconn.send_queryparam_valuesparam_typesparam_formatsresult_formatc                 C   r   r   r   r$   rA   rE   rF   rG   rH   r   r   r   exec_paramsh      zPGconn.exec_paramsc                 C   r   r   r   rI   r   r   r   send_query_paramsq   rK   zPGconn.send_query_paramsc                 C   r   r   r   r$   r7   rA   rF   r   r   r   send_preparez      zPGconn.send_preparec                 C   r   r   r   r$   r7   rE   rG   rH   r   r   r   send_query_prepared      zPGconn.send_query_preparedc                 C   r   r   r   rM   r   r   r   prepare   rO   zPGconn.preparer   c                 C   r   r   r   rP   r   r   r   exec_prepared   rR   zPGconn.exec_preparedc                 C   r   r   r   r8   r   r   r   describe_prepared   r&   zPGconn.describe_preparedc                 C   r   r   r   r8   r   r   r   send_describe_prepared   r&   zPGconn.send_describe_preparedc                 C   r   r   r   r8   r   r   r   describe_portal   r&   zPGconn.describe_portalc                 C   r   r   r   r8   r   r   r   send_describe_portal   r&   zPGconn.send_describe_portalc                 C   r   r   r   r#   r   r   r   
get_result   r&   zPGconn.get_resultc                 C   r   r   r   r#   r   r   r   consume_input   r&   zPGconn.consume_inputc                 C   r   r   r   r#   r   r   r   is_busy   r&   zPGconn.is_busyc                 C   r   r   r   r#   r   r   r   nonblocking   r!   zPGconn.nonblockingargc                 C   r   r   r   )r$   r]   r   r   r   r\      r!   c                 C   r   r   r   r#   r   r   r   flush   r&   zPGconn.flushc                 C   r   r   r   r#   r   r   r   set_single_row_mode   r&   zPGconn.set_single_row_modePGcancelc                 C   r   r   r   r#   r   r   r   
get_cancel   r&   zPGconn.get_cancelc                 C   r   r   r   r#   r   r   r   notifies   r&   zPGconn.notifiesbufferc                 C   r   r   r   )r$   rc   r   r   r   put_copy_data   r&   zPGconn.put_copy_dataerrorc                 C   r   r   r   )r$   re   r   r   r   put_copy_end   r&   zPGconn.put_copy_endasync_c                 C   r   r   r   )r$   rg   r   r   r   get_copy_data   r&   zPGconn.get_copy_datafilenoc                 C   r   r   r   )r$   ri   r   r   r   trace   r&   zPGconn.traceflagsc                 C   r   r   r   )r$   rk   r   r   r   set_trace_flags   r&   zPGconn.set_trace_flagsc                 C   r   r   r   r#   r   r   r   untrace   r&   zPGconn.untracepasswdr.   	algorithmc                 C   r   r   r   )r$   rn   r.   ro   r   r   r   encrypt_password   s   zPGconn.encrypt_passwordexec_statusc                 C   r   r   r   )r$   rq   r   r   r   make_empty_result   r&   zPGconn.make_empty_resultc                 C   r   r   r   r#   r   r   r   pipeline_status   r!   zPGconn.pipeline_statusc                 C   r   r   r   r#   r   r   r   enter_pipeline_mode   r&   zPGconn.enter_pipeline_modec                 C   r   r   r   r#   r   r   r   exit_pipeline_mode   r&   zPGconn.exit_pipeline_modec                 C   r   r   r   r#   r   r   r   pipeline_sync   r&   zPGconn.pipeline_syncc                 C   r   r   r   r#   r   r   r   send_flush_request   r&   zPGconn.send_flush_requestr   Nr   )Nr   )r   r`   )P__name__
__module____qualname__r   r   __annotations__classmethodbytesr    r"   intr%   r'   propertyr   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r9   r:   r;   r<   r=   boolr>   r?   r@   rC   rD   r   TEXTr   r   rJ   rL   rN   rQ   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   setterr^   r_   ra   rb   rd   rf   r   
memoryviewrh   rj   r   rl   rm   rp   rr   rs   rt   ru   rv   rw   r   r   r   r   r      sR  
 

























r   c                   @   s  e Zd Zd3ddZedefddZedefddZd	ede	e fd
dZ
edefddZedefddZdede	e fddZdedefddZdedefddZdedefddZdedefddZdedefddZdedefddZedefdd Zd!edede	e fd"d#Zedefd$d%Zd&edefd'd(Zede	e fd)d*Zede	e fd+d,Zedefd-d.Zd/ed0 ddfd1d2ZdS )4r   r   Nc                 C   r   r   r   r#   r   r   r   clear   r&   zPGresult.clearc                 C   r   r   r   r#   r   r   r   r5      r!   zPGresult.statusc                 C   r   r   r   r#   r   r   r   r:      r!   zPGresult.error_message	fieldcodec                 C   r   r   r   )r$   r   r   r   r   error_field   r&   zPGresult.error_fieldc                 C   r   r   r   r#   r   r   r   ntuples   r!   zPGresult.ntuplesc                 C   r   r   r   r#   r   r   r   nfields   r!   zPGresult.nfieldscolumn_numberc                 C   r   r   r   r$   r   r   r   r   fname   r&   zPGresult.fnamec                 C   r   r   r   r   r   r   r   ftable   r&   zPGresult.ftablec                 C   r   r   r   r   r   r   r   	ftablecol   r&   zPGresult.ftablecolc                 C   r   r   r   r   r   r   r   fformat   r&   zPGresult.fformatc                 C   r   r   r   r   r   r   r   ftype   r&   zPGresult.ftypec                 C   r   r   r   r   r   r   r   fmod   r&   zPGresult.fmodc                 C   r   r   r   r   r   r   r   fsize   r&   zPGresult.fsizec                 C   r   r   r   r#   r   r   r   binary_tuples   r!   zPGresult.binary_tuples
row_numberc                 C   r   r   r   )r$   r   r   r   r   r   	get_value   r&   zPGresult.get_valuec                 C   r   r   r   r#   r   r   r   nparams   r!   zPGresult.nparamsparam_numberc                 C   r   r   r   )r$   r   r   r   r   
param_type   r&   zPGresult.param_typec                 C   r   r   r   r#   r   r   r   command_status   r!   zPGresult.command_statusc                 C   r   r   r   r#   r   r   r   command_tuples   r!   zPGresult.command_tuplesc                 C   r   r   r   r#   r   r   r   	oid_value  r!   zPGresult.oid_valuedescriptionsr   c                 C   r   r   r   )r$   r   r   r   r   set_attributes  r&   zPGresult.set_attributesrx   )ry   rz   r{   r   r   r   r5   r~   r:   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s>    
r   c                   @   s    e Zd ZdddZdddZdS )r`   r   Nc                 C   r   r   r   r#   r   r   r   free  r&   zPGcancel.freec                 C   r   r   r   r#   r   r   r   cancel
  r&   zPGcancel.cancelrx   )ry   rz   r{   r   r   r   r   r   r   r`     s    
r`   c                   @   sZ   e Zd Zeded fddZededed fddZedee	 ded fd	d
Z
dS )Conninfor   r   c                 C   r   r   r   )r   r   r   r   get_defaults  r!   zConninfo.get_defaultsr   c                 C   r   r   r   r   r   r   r   parse  r!   zConninfo.parseoptsc                 C   r   r   r   )r   r   r   r   r   _options_from_array  r!   zConninfo._options_from_arrayN)ry   rz   r{   r}   r   r   r~   r   r   r   r   r   r   r   r   r     s     r   c                   @   sz   e Zd Zddee fddZdedefddZdedefd	d
Z	dedefddZ
dedefddZdedefddZdS )EscapingNconnc                 C   r   r   r   )r$   r   r   r   r   __init__  r&   zEscaping.__init__datar   c                 C   r   r   r   r$   r   r   r   r   escape_literal  r&   zEscaping.escape_literalc                 C   r   r   r   r   r   r   r   escape_identifier  r&   zEscaping.escape_identifierc                 C   r   r   r   r   r   r   r   escape_string  r&   zEscaping.escape_stringc                 C   r   r   r   r   r   r   r   escape_bytea!  r&   zEscaping.escape_byteac                 C   r   r   r   r   r   r   r   unescape_bytea#  r&   zEscaping.unescape_bytear   )ry   rz   r{   r   r   r   r   r~   r   r   r   r   r   r   r   r   r   r     s    r   N)__doc__typingr   r   r   r   r   r   r   r	   typing_extensionsr
   _enumsr   r   _compatr   miscr   r   r   r~   	bytearrayr   r   r|   r   r   r`   r   r   r   r   r   r   <module>   s      >5