U
    ڲg4                  !   @  sj   U d Z ddlmZ ddlmZmZmZ ddlmZm	Z	m
Z
mZmZ ddlmZ ddlmZmZ ddlmZmZmZmZ dd	lmZmZ erdd
lmZmZ dZded< i Zded< eG dd dZ ddddd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&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+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 d0d1 d1Z0ddd2d3d4Z1d5d6d7d8d9Z2d1d;d5dd<d=d>Z3dd?d2d@dAZ4d5d6d7dBdCZ5d5d6d7dDdEZ6e(e,e+e+e'e)e*e*e+e(e(e*e*e(e+e(e(e(e+e+e(e+e+e(e(e(e(e(e(e(e+e*dF Z7G dGdH dHe&dIdJdKZ8G dLdM dMe&dNdOdKZ9G dPdQ dQe&dRdSdKZ:G dTdU dUe(dVdWdKZ;G dXdY dYe(dZd[dKZ<G d\d] d]e(d^d_dKZ=G d`da dae(dbdcdKZ>G ddde dee(dfdgdKZ?G dhdi die(djdkdKZ@G dldm dme(dndodKZAG dpdq dqe&drdsdKZBG dtdu due,dvdwdKZCG dxdy dye&dzd{dKZDG d|d} d}e&d~ddKZEG dd de&dddKZFG dd de&dddKZGG dd de&dddKZHG dd de&dddKZIG dd de&dddKZJG dd de&dddKZKG dd de+dddKZLG dd de+dddKZMG dd de'dddKZNG dd de'dddKZOG dd de'dddKZPG dd de'dddKZQG dd de'dddKZRG dd de'dddKZSG dd de'dddKZTG dd de'dddKZUG dd de'dddKZVG ddń de'dddKZWG ddɄ de'dddKZXG dd̈́ de'dddKZYG ddф de'dddKZZG ddՄ de'dddKZ[G ddل de'dddKZ\G dd݄ de'dddKZ]G dd de'dddKZ^G dd de'dddKZ_G dd de'dddKZ`G dd de'dddKZaG dd de'dddKZbG dd de'dddKZcG dd de'dddKZdG dd de'dddKZeG d d de'dddKZfG dd de'dddKZgG dd	 d	e'd
ddKZhG dd de'dddKZiG dd de'dddKZjG dd de'dddKZkG dd de'dddKZlG dd de'dddKZmG d d! d!e'd"d#dKZnG d$d% d%e'd&d'dKZoG d(d) d)e'd*d+dKZpG d,d- d-e'd.d/dKZqG d0d1 d1e'd2d3dKZrG d4d5 d5e'd6d7dKZsG d8d9 d9e'd:d;dKZtG d<d= d=e'd>d?dKZuG d@dA dAe'dBdCdKZvG dDdE dEe'dFdGdKZwG dHdI dIe'dJdKdKZxG dLdM dMe'dNdOdKZyG dPdQ dQe'dRdSdKZzG dTdU dUe'dVdWdKZ{G dXdY dYe'dZd[dKZ|G d\d] d]e'd^d_dKZ}G d`da dae'dbdcdKZ~G ddde dee'dfdgdKZG dhdi die'djdkdKZG dldm dme'dndodKZG dpdq dqe'drdsdKZG dtdu due'dvdwdKZG dxdy dye'dzd{dKZG d|d} d}e'd~ddKZG dd de'dddKZG dd de'dddKZG dd de'dddKZG dd de'dddKZG dd de'dddKZG dd de'dddKZG dd de'dddKZG dd de'dddKZG dd de'dddKZG dd de'dddKZG dd de'dddKZG dd de'dddKZG dd de)dddKZG dd de)dddKZG dd de)dddKZG dd de)dddKZG dd de)dddKZG dĐdń de)dƐddKZG dȐdɄ de)dʐddKZG d̐d̈́ de*dΐddKZG dАdф de*dҐddKZG dԐdՄ de*d֐ddKZG dؐdل de*dڐddKZG dܐd݄ de*dސddKZG dd de*dddKZG dd de*dddKZG dd de*dddKZG dd de*dddKZG dd de*dddKZG dd de*dddKZG dd de*dddKZG dd de*dddKZG d d de+dddKZG dd de(dddKZG dd	 d	e(d
ddKZG dd de(dddKZG dd de*dddKZG dd de*dddKZG dd de*dddKZG dd de(dddKZG d d! d!e(d"d#dKZG d$d% d%e(d&d'dKZG d(d) d)e(d*d+dKZG d,d- d-e(d.d/dKZG d0d1 d1e+d2d3dKZG d4d5 d5e(d6d7dKZG d8d9 d9e(d:d;dKZG d<d= d=e(d>d#dKZG d?d@ d@e(dAd'dKZG dBdC dCe(dDd+dKZG dEdF dFe(dGdHdKZG dIdJ dJe(dKdLdKZG dMdN dNe(dOddKZG dPdQ dQe(dRdSdKZG dTdU dUe(dVdWdKZG dXdY dYe(dZd[dKZG d\d] d]e(d^d_dKZG d`da dae(dbdcdKZG ddde dee+dfdgdKZG dhdi die+djdkdKZG dldm dme(dndodKZG dpdq dqe(drdsdKZG dtdu due(dvdwdKZG dxdy dye(dzd{dKZG d|d} d}e(d~ddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dĐdń de+dƐddKZG dȐdɄ de+dʐddKZG d̐d̈́ de+dΐddKZG dАdф de+dҐddKZG dԐdՄ de+d֐ddKZG dؐdل de+dڐddKZG dܐd݄ de+dސddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG d d de+dddKZG dd de+dddKZG dd	 d	e+d
ddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG dd de+dddKZG d d! d!e+d"d#dKZG d$d% d%e+d&d'dKZG d(d) d)e+d*d+dKZG d,d- d-e+d.d/dKZG d0d1 d1e+d2d3dKZG d4d5 d5e(d6d7dKZG d8d9 d9e(d:d;dKZG d<d= d=e(d>d?dKZG d@dA dAe(dBdCdKZG dDdE dEe(dFdGdKZG dHdI dIe(dJdKdKZG dLdM dMe(dNdOdKZG dPdQ dQe(dRdSdKZG dTdU dUe(dVdWdKZG dXdY dYe(dZd[dKZG d\d] d]e(d^d_dKZG d`da dae(dbdcdKZG ddde dee(dfdgdKZ G dhdi die(djdkdKZG dldm dme(dndodKZG dpdq dqe(drdsdKZG dtdu due(dvdwdKZG dxdy dye(dzd{dKZG d|d} d}e(d~ddKZG dd de(dddKZG dd de(dddKZG dd de(dddKZ	G dd de(dddKZ
G dd de(dddKZG dd de(dddKZG dd de&dddKZG dd de(dddKZG dd de(dddKZG dd de(dddKZG dd de(dddKZG dd de(dddKZG dd de(dddKZG dd de(dddKZG dd de(dddKZG dd de(dddKZG dd de(dddKZG dĐdń de(dƐddKZG dȐdɄ de(dʐddKZG d̐d̈́ de(dΐddKZG dАdф de(dҐddKZG dԐdՄ de(d֐ddKZG dؐdل de(dڐddKZG dܐd݄ de(dސddKZG dd de(dddKZG dd de(dddKZ G dd de(dddKZ!G dd de(dddKZ"G dd de(dddKZ#G dd de(dddKZ$G dd de(dddKZ%G dd de(dddKZ&G d d de(dddKZ'G dd de(dddKZ(G dd	 d	e(d
ddKZ)G dd de(dddKZ*G dd de+dddKZ+G dd de+dddKZ,G dd de+dddKZ-G dd de+dddKZ.G d d! d!e+d"d#dKZ/G d$d% d%e*d&d'dKZ0G d(d) d)e*d*d+dKZ1G d,d- d-e*d.d/dKZ2e$e3efZ4d0S (2  a]  
psycopg exceptions

DBAPI-defined Exceptions are defined in the following hierarchy::

    Exceptions
    |__Warning
    |__Error
       |__InterfaceError
       |__DatabaseError
          |__DataError
          |__OperationalError
          |__IntegrityError
          |__InternalError
          |__ProgrammingError
          |__NotSupportedError
    )annotations)	dataclassfieldfields)AnyCallableNoReturnSequenceTYPE_CHECKING)CancelledError   )PGconnPGresult)
ConnStatusDiagnosticFieldPipelineStatusTransactionStatus)	TypeAlias	TypeGuard)PGnotifyConninfoOptionz)PGresult | dict[int, bytes | None] | Noner   	ErrorInfozdict[str, type[Error]]	_sqlcodesc                   @  s:  e Zd ZU dZeedZded< dZded< dZ	ded< dZ
ded	< dZded
< dZded< dZded< dZded< dZded< ejjZded< ejjZded< ejjZded< dZded< dZded< dZded< dZded< dZded< dZded< dZ ded< dZ!ded< d Z"d!ed"< d Z#d#ed$< e$d%d&d'd(Z%e&d)d%d*d+d,Z'e&d)d%d*d-d.Z(d%d&d/d0Z)d1d&d2d3Z*d%d&d4d5Z+dddd7d8d9Z,d%d&d:d;Z-d%d&d<d=Z.e&d)d%d*d>d?Z/d)d%d*d@dAZ0e1d%d&dBdCZ2d)d%d*dDdEZ3d)d1d*dFdGZ4d)d%d*dHdIZ5d)d%d*dJdKZ6d)d%d*dLdMZ7d)d%d*dNdOZ8d)d%d*dPdQZ9d)d%d*dRdSZ:d)d%d*dTdUZ;d)d%d*dVdWZ<d)d%d*dXdYZ=d)d%d*dZd[Z>d)d%d*d\d]Z?d)d%d*d^d_Z@d)d%d*d`daZAd)d%d*dbdcZBd%d&dddeZCd%d&dfdgZDd%d&dhdiZEd%d&djdkZFd%d&dldmZGdd%dndodpZHd%d&dqdrZId%d&dsdtZJd%d&dudvZKd)d%d*dwdxZLd)d%d*dydzZMd)d%d*d{d|ZNd)d%d*d}d~ZOd)d%d*ddZPd%d&ddZQd)d%d*ddZRd)d%d*ddZSd)d%d*ddZTd%d&ddZUd%d&ddZVd%d&ddZWd%d&ddZXd S )FinishedPGconnzFinished libpq connection.

    Attributes are set from a real `~psycopg.pq.PGconn` but any operations will
    raise an `~psycopg.OperationalError`.
    )default_factoryzlist[ConninfoOption]info    bytesdbuserpasswordhosthostaddrportttyoptionsintstatustransaction_statuspipeline_statuserror_messageutf-8str	_encodingr   server_versionbackend_pidFboolneeds_passwordused_password
ssl_in_usenonblockingNz!Callable[[PGresult], None] | Nonenotice_handlerz!Callable[[PGnotify], None] | Nonenotify_handlerr   returnc                   C  s   t dd S Nzthe connection is closed)OperationalError r;   r;   2/tmp/pip-unpacked-wheel-b_ea6rx_/psycopg/errors.py_raiseK   s    zFinishedPGconn._raiser   )argsr8   c                 G  s   t |  dd S Nz is unusable	TypeErrorclsr>   r;   r;   r<   connectO   s    zFinishedPGconn.connectc                 G  s   t |  dd S r?   r@   rB   r;   r;   r<   connect_startS   s    zFinishedPGconn.connect_startc                 C  s   |    d S Nr=   selfr;   r;   r<   connect_pollW   s    zFinishedPGconn.connect_pollNonec                 C  s   d S rF   r;   rH   r;   r;   r<   finishZ   s    zFinishedPGconn.finishc                 C  s   |    d S rF   rG   rH   r;   r;   r<   reset]   s    zFinishedPGconn.reset )encodingr8   c                 C  s   dS r9   r;   )rI   rO   r;   r;   r<   get_error_message`   s    z FinishedPGconn.get_error_messagec                 C  s   |    d S rF   rG   rH   r;   r;   r<   reset_startc   s    zFinishedPGconn.reset_startc                 C  s   |    d S rF   rG   rH   r;   r;   r<   
reset_pollf   s    zFinishedPGconn.reset_pollc                 G  s   t |  dd S r?   r@   rB   r;   r;   r<   pingi   s    zFinishedPGconn.pingc                 G  s   |    d S rF   rG   rI   r>   r;   r;   r<   parameter_statusm   s    zFinishedPGconn.parameter_statusc                 C  s   |    d S rF   rG   rH   r;   r;   r<   socketp   s    zFinishedPGconn.socketc                 G  s   |    d S rF   rG   rT   r;   r;   r<   exec_t   s    zFinishedPGconn.exec_c                 G  s   |    d S rF   rG   rT   r;   r;   r<   
send_queryw   s    zFinishedPGconn.send_queryc                 G  s   |    d S rF   rG   rT   r;   r;   r<   exec_paramsz   s    zFinishedPGconn.exec_paramsc                 G  s   |    d S rF   rG   rT   r;   r;   r<   send_query_params}   s    z FinishedPGconn.send_query_paramsc                 G  s   |    d S rF   rG   rT   r;   r;   r<   send_prepare   s    zFinishedPGconn.send_preparec                 G  s   |    d S rF   rG   rT   r;   r;   r<   send_query_prepared   s    z"FinishedPGconn.send_query_preparedc                 G  s   |    d S rF   rG   rT   r;   r;   r<   prepare   s    zFinishedPGconn.preparec                 G  s   |    d S rF   rG   rT   r;   r;   r<   exec_prepared   s    zFinishedPGconn.exec_preparedc                 G  s   |    d S rF   rG   rT   r;   r;   r<   describe_prepared   s    z FinishedPGconn.describe_preparedc                 G  s   |    d S rF   rG   rT   r;   r;   r<   send_describe_prepared   s    z%FinishedPGconn.send_describe_preparedc                 G  s   |    d S rF   rG   rT   r;   r;   r<   describe_portal   s    zFinishedPGconn.describe_portalc                 G  s   |    d S rF   rG   rT   r;   r;   r<   send_describe_portal   s    z#FinishedPGconn.send_describe_portalc                 G  s   |    d S rF   rG   rT   r;   r;   r<   close_prepared   s    zFinishedPGconn.close_preparedc                 G  s   |    d S rF   rG   rT   r;   r;   r<   send_close_prepared   s    z"FinishedPGconn.send_close_preparedc                 G  s   |    d S rF   rG   rT   r;   r;   r<   close_portal   s    zFinishedPGconn.close_portalc                 G  s   |    d S rF   rG   rT   r;   r;   r<   send_close_portal   s    z FinishedPGconn.send_close_portalc                 C  s   |    d S rF   rG   rH   r;   r;   r<   
get_result   s    zFinishedPGconn.get_resultc                 C  s   |    d S rF   rG   rH   r;   r;   r<   consume_input   s    zFinishedPGconn.consume_inputc                 C  s   |    d S rF   rG   rH   r;   r;   r<   is_busy   s    zFinishedPGconn.is_busyc                 C  s   |    d S rF   rG   rH   r;   r;   r<   flush   s    zFinishedPGconn.flushc                 C  s   |    d S rF   rG   rH   r;   r;   r<   set_single_row_mode   s    z"FinishedPGconn.set_single_row_mode)sizer8   c                 C  s   |    d S rF   rG   )rI   rl   r;   r;   r<   set_chunked_rows_mode   s    z$FinishedPGconn.set_chunked_rows_modec                 C  s   |    d S rF   rG   rH   r;   r;   r<   cancel_conn   s    zFinishedPGconn.cancel_connc                 C  s   |    d S rF   rG   rH   r;   r;   r<   
get_cancel   s    zFinishedPGconn.get_cancelc                 C  s   |    d S rF   rG   rH   r;   r;   r<   notifies   s    zFinishedPGconn.notifiesc                 G  s   |    d S rF   rG   rT   r;   r;   r<   put_copy_data   s    zFinishedPGconn.put_copy_datac                 G  s   |    d S rF   rG   rT   r;   r;   r<   put_copy_end   s    zFinishedPGconn.put_copy_endc                 G  s   |    d S rF   rG   rT   r;   r;   r<   get_copy_data   s    zFinishedPGconn.get_copy_datac                 G  s   |    d S rF   rG   rT   r;   r;   r<   trace   s    zFinishedPGconn.tracec                 G  s   |    d S rF   rG   rT   r;   r;   r<   set_trace_flags   s    zFinishedPGconn.set_trace_flagsc                 C  s   |    d S rF   rG   rH   r;   r;   r<   untrace   s    zFinishedPGconn.untracec                 G  s   |    d S rF   rG   rT   r;   r;   r<   encrypt_password   s    zFinishedPGconn.encrypt_passwordc                 G  s   |    d S rF   rG   rT   r;   r;   r<   change_password   s    zFinishedPGconn.change_passwordc                 G  s   |    d S rF   rG   rT   r;   r;   r<   make_empty_result   s    z FinishedPGconn.make_empty_resultc                 C  s   |    d S rF   rG   rH   r;   r;   r<   enter_pipeline_mode   s    z"FinishedPGconn.enter_pipeline_modec                 C  s   |    d S rF   rG   rH   r;   r;   r<   exit_pipeline_mode   s    z!FinishedPGconn.exit_pipeline_modec                 C  s   |    d S rF   rG   rH   r;   r;   r<   pipeline_sync   s    zFinishedPGconn.pipeline_syncc                 C  s   |    d S rF   rG   rH   r;   r;   r<   send_flush_request   s    z!FinishedPGconn.send_flush_request)rN   )Y__name__
__module____qualname____doc__r   listr   __annotations__r   r   r    r!   r"   r#   r$   r%   r   BADvaluer'   r   UNKNOWNr(   r   ZOFFr)   r*   r-   r.   r/   r1   r2   r3   r4   r5   r6   staticmethodr=   classmethodrD   rE   rJ   rL   rM   rP   rQ   rR   rS   rU   propertyrV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r;   r;   r;   r<   r   '   s   
r   r   )pgconnr8   c              	   C  sP   i }t tD ]0}zt| |j||j< W q tk
r:   Y qX q|   tf |S rF   )r   r   getattrname	ExceptionrL   )r   r>   fr;   r;   r<   finish_pgconn   s    r   c                   @  s   e Zd ZdZdZdS )Warningzy
    Exception raised for important warnings.

    Defined for DBAPI compatibility, but never raised by ``psycopg``.
    psycopgNr~   r   r   r   r;   r;   r;   r<   r      s   r   c                      s   e Zd ZU dZdZdZded< dddddd	d
dd fddZeddddZeddddZ	eddddZ
dd fddZ  ZS )Errora  
    Base exception for all the errors psycopg will raise.

    Exception that is the base class of all other error exceptions. You can
    use this to catch all errors with one single `!except` statement.

    This exception is guaranteed to be picklable.
    r   N
str | Nonesqlstater+   )r   rO   r   zSequence[Any]r   r,   zPGconn | None)r>   r   rO   r   c                  s6   t  j|  || _|| _|| _| js2|r2| jj| _d S rF   )super__init___infor-   _pgconnr   diag)rI   r   rO   r   r>   	__class__r;   r<   r   
  s    
zError.__init__r7   c                 C  s   | j r| j S dS )z|The connection object, if the error was raised from a connection attempt.

        :rtype: psycopg.pq.PGconn | None
        N)r   rH   r;   r;   r<   r     s    zError.pgconnzPGresult | Nonec                 C  s   t | jr| jS dS )zyThe result object, if the exception was raised after a failed query.

        :rtype: psycopg.pq.PGresult | None
        N)_is_pgresultr   rH   r;   r;   r<   pgresult"  s    zError.pgresult
Diagnosticc                 C  s   t | j| jdS )z[
        A `Diagnostic` object to inspect details of the errors from the database.
        )rO   )r   r   r-   rH   r;   r;   r<   r   *  s    z
Error.diagstr | tuple[Any, ...]c                   sB   t   }t|tr>t|dkr>t| j|d d< d |d d< |S )N      r   r   r   
__reduce__
isinstancetuplelen_info_to_dictr   rI   resr   r;   r<   r   1  s
    
zError.__reduce__)r~   r   r   r   r   r   r   r   r   r   r   r   __classcell__r;   r;   r   r<   r      s   
	r   c                   @  s   e Zd ZdZdZdS )InterfaceErrorzU
    An error related to the database interface rather than the database itself.
    r   Nr   r;   r;   r;   r<   r   ;  s   r   c                   @  s&   e Zd ZdZdZddddddZdS )	DatabaseErrorzG
    Exception raised for errors that are related to the database.
    r   Nr   coder   c                 C  s"   |r| t |< || _|r| t |< d S rF   )r   r   )rC   r   r   r;   r;   r<   __init_subclass__J  s
    zDatabaseError.__init_subclass__)NN)r~   r   r   r   r   r;   r;   r;   r<   r   C  s   r   c                   @  s   e Zd ZdZdZdS )	DataErrorz
    An error caused by problems with the processed data.

    Examples may be division by zero, numeric value out of range, etc.
    r   Nr   r;   r;   r;   r<   r   R  s   r   c                   @  s   e Zd ZdZdZdS )r:   a8  
    An error related to the database's operation.

    These errors are not necessarily under the control of the programmer, e.g.
    an unexpected disconnect occurs, the data source name is not found, a
    transaction could not be processed, a memory allocation error occurred
    during processing, etc.
    r   Nr   r;   r;   r;   r<   r:   \  s   	r:   c                   @  s   e Zd ZdZdZdS )IntegrityErrorz
    An error caused when the relational integrity of the database is affected.

    An example may be a foreign key check failed.
    r   Nr   r;   r;   r;   r<   r   i  s   r   c                   @  s   e Zd ZdZdZdS )InternalErrorz
    An error generated when the database encounters an internal error,

    Examples could be the cursor is not valid anymore, the transaction is out
    of sync, etc.
    r   Nr   r;   r;   r;   r<   r   s  s   r   c                   @  s   e Zd ZdZdZdS )ProgrammingErrorz
    Exception raised for programming errors

    Examples may be table not found or already exists, syntax error in the SQL
    statement, wrong number of parameters specified, etc.
    r   Nr   r;   r;   r;   r<   r   ~  s   r   c                   @  s   e Zd ZdZdZdS )NotSupportedErrorzS
    A method or database API was used which is not supported by the database.
    r   Nr   r;   r;   r;   r<   r     s   r   c                   @  s   e Zd ZdZdS )ConnectionTimeoutz
    Exception raised on timeout of the `~psycopg.Connection.connect()` method.

    The error is raised if the ``connect_timeout`` is specified and a
    connection is not obtained in useful time.

    Subclass of `~psycopg.OperationalError`.
    Nr   r;   r;   r;   r<   r     s   r   c                   @  s   e Zd ZdZdS )CancellationTimeoutz
    Exception raised on timeout of connection's
    `~psycopg.Connection.cancel_safe()` method.

    Subclass of `~psycopg.OperationalError`.
    Nr   r;   r;   r;   r<   r     s   r   c                   @  s   e Zd ZdZdS )PipelineAbortedz
    Raised when a operation fails because the current pipeline is in aborted state.

    Subclass of `~psycopg.OperationalError`.
    Nr   r;   r;   r;   r<   r     s   r   c                      s  e Zd ZdZd5dddddZedd	d
dZedd	ddZedd	ddZedd	ddZ	edd	ddZ
edd	ddZedd	ddZedd	ddZedd	ddZedd	ddZedd	ddZedd	d d!Zedd	d"d#Zedd	d$d%Zedd	d&d'Zedd	d(d)Zedd	d*d+Zedd	d,d-Zd.dd/d0d1Zd2d	 fd3d4Z  ZS )6r   z%Details from a database error report.r+   r   r,   r   rO   c                 C  s   || _ || _d S rF   )r   r-   )rI   r   rO   r;   r;   r<   r     s    zDiagnostic.__init__r   r7   c                 C  s   |  tjS rF   )_error_messager   ZSEVERITYrH   r;   r;   r<   severity  s    zDiagnostic.severityc                 C  s   |  tjS rF   )r   r   ZSEVERITY_NONLOCALIZEDrH   r;   r;   r<   severity_nonlocalized  s    z Diagnostic.severity_nonlocalizedc                 C  s   |  tjS rF   )r   r   SQLSTATErH   r;   r;   r<   r     s    zDiagnostic.sqlstatec                 C  s   |  tjS rF   )r   r   ZMESSAGE_PRIMARYrH   r;   r;   r<   message_primary  s    zDiagnostic.message_primaryc                 C  s   |  tjS rF   )r   r   ZMESSAGE_DETAILrH   r;   r;   r<   message_detail  s    zDiagnostic.message_detailc                 C  s   |  tjS rF   )r   r   ZMESSAGE_HINTrH   r;   r;   r<   message_hint  s    zDiagnostic.message_hintc                 C  s   |  tjS rF   )r   r   ZSTATEMENT_POSITIONrH   r;   r;   r<   statement_position  s    zDiagnostic.statement_positionc                 C  s   |  tjS rF   )r   r   ZINTERNAL_POSITIONrH   r;   r;   r<   internal_position  s    zDiagnostic.internal_positionc                 C  s   |  tjS rF   )r   r   ZINTERNAL_QUERYrH   r;   r;   r<   internal_query  s    zDiagnostic.internal_queryc                 C  s   |  tjS rF   )r   r   CONTEXTrH   r;   r;   r<   context  s    zDiagnostic.contextc                 C  s   |  tjS rF   )r   r   ZSCHEMA_NAMErH   r;   r;   r<   schema_name  s    zDiagnostic.schema_namec                 C  s   |  tjS rF   )r   r   Z
TABLE_NAMErH   r;   r;   r<   
table_name  s    zDiagnostic.table_namec                 C  s   |  tjS rF   )r   r   ZCOLUMN_NAMErH   r;   r;   r<   column_name  s    zDiagnostic.column_namec                 C  s   |  tjS rF   )r   r   ZDATATYPE_NAMErH   r;   r;   r<   datatype_name  s    zDiagnostic.datatype_namec                 C  s   |  tjS rF   )r   r   ZCONSTRAINT_NAMErH   r;   r;   r<   constraint_name  s    zDiagnostic.constraint_namec                 C  s   |  tjS rF   )r   r   ZSOURCE_FILErH   r;   r;   r<   source_file  s    zDiagnostic.source_filec                 C  s   |  tjS rF   )r   r   ZSOURCE_LINErH   r;   r;   r<   source_line  s    zDiagnostic.source_linec                 C  s   |  tjS rF   )r   r   ZSOURCE_FUNCTIONrH   r;   r;   r<   source_function  s    zDiagnostic.source_functionr   )r   r8   c                 C  sF   | j rBt| j tr | j |}n| j |}|d k	rB|| jdS d S )Nreplace)r   r   dictgeterror_fielddecoder-   )rI   r   valr;   r;   r<   r     s    zDiagnostic._error_messager   c                   s6   t   }t|tr2t|dkr2t| j|d d< |S )Nr   r   r   r   r   r   r;   r<   r     s    
zDiagnostic.__reduce__)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   r   r;   r;   r   r<   r     sP   r   )r   r8   c                   s"   t  r fddtD S  S dS )zH
    Convert a PGresult to a dictionary to make the info picklable.
    c                   s   i | ]}|  |qS r;   )r   ).0vr   r;   r<   
<dictcomp>  s      z!_info_to_dict.<locals>.<dictcomp>N)r   r   r   r;   r   r<   r     s    r   r,   ztype[Error])r   r8   c                 C  s   t |   S )zLookup an error code or `constant name`__ and return its exception class.

    Raise `!KeyError` if the code is not found.

    .. __: https://www.postgresql.org/docs/current/errcodes-appendix.html
            #ERRCODES-TABLE
    )r   upperr   r;   r;   r<   lookup  s    r   r+   r   )resultrO   r8   c                 C  s4   |  tjpd}t|dd}|| || |dS )Nr   r+   r   r   )r   r   r   _class_for_stater   rP   )r   rO   staterC   r;   r;   r<   error_from_result&  s    r   zTypeGuard[PGresult]c                 C  s
   t | dS )z3Return True if an ErrorInfo is a PGresult instance.r   )hasattrr   r;   r;   r<   r   ,  s    r   c                 C  s,   z
t | W S  tk
r&   t|  Y S X d S rF   )r   KeyErrorget_base_exceptionr   r;   r;   r<   r   2  s    
r   c                 C  s(   t | d d p&t | d d p&tS )Nr   r   )_base_exc_mapr   r   r   r;   r;   r<   r   9  s
    r   ) Z08Z0AZ20Z21Z22Z23Z24Z25Z26Z27Z28Z2BZ2DZ2FZ34Z38Z39Z3BZ3DZ3FZ40Z42Z44Z53Z54Z55Z57Z58FHPXc                   @  s   e Zd ZdS )NoDataNr~   r   r   r;   r;   r;   r<   r   m  s   r   Z02000ZNO_DATAr   c                   @  s   e Zd ZdS )%NoAdditionalDynamicResultSetsReturnedNr   r;   r;   r;   r<   r   q  s   r   Z02001Z*NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNEDc                   @  s   e Zd ZdS )SqlStatementNotYetCompleteNr   r;   r;   r;   r<   r   x  s   r   Z03000ZSQL_STATEMENT_NOT_YET_COMPLETEc                   @  s   e Zd ZdS )ConnectionExceptionNr   r;   r;   r;   r<   r     s   r   Z08000ZCONNECTION_EXCEPTIONc                   @  s   e Zd ZdS )'SqlclientUnableToEstablishSqlconnectionNr   r;   r;   r;   r<   r     s   r   Z08001Z+SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTIONc                   @  s   e Zd ZdS )ConnectionDoesNotExistNr   r;   r;   r;   r<   r     s   r   Z08003ZCONNECTION_DOES_NOT_EXISTc                   @  s   e Zd ZdS )-SqlserverRejectedEstablishmentOfSqlconnectionNr   r;   r;   r;   r<   r     s   r   Z08004Z1SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTIONc                   @  s   e Zd ZdS )ConnectionFailureNr   r;   r;   r;   r<   r     s   r   Z08006ZCONNECTION_FAILUREc                   @  s   e Zd ZdS )TransactionResolutionUnknownNr   r;   r;   r;   r<   r     s   r   Z08007ZTRANSACTION_RESOLUTION_UNKNOWNc                   @  s   e Zd ZdS )ProtocolViolationNr   r;   r;   r;   r<   r     s   r   Z08P01ZPROTOCOL_VIOLATIONc                   @  s   e Zd ZdS )TriggeredActionExceptionNr   r;   r;   r;   r<   r     s   r   Z09000ZTRIGGERED_ACTION_EXCEPTIONc                   @  s   e Zd ZdS )FeatureNotSupportedNr   r;   r;   r;   r<   r     s   r   Z0A000ZFEATURE_NOT_SUPPORTEDc                   @  s   e Zd ZdS )InvalidTransactionInitiationNr   r;   r;   r;   r<   r     s   r   Z0B000ZINVALID_TRANSACTION_INITIATIONc                   @  s   e Zd ZdS )LocatorExceptionNr   r;   r;   r;   r<   r     s   r   Z0F000ZLOCATOR_EXCEPTIONc                   @  s   e Zd ZdS )InvalidLocatorSpecificationNr   r;   r;   r;   r<   r     s   r   Z0F001ZINVALID_LOCATOR_SPECIFICATIONc                   @  s   e Zd ZdS )InvalidGrantorNr   r;   r;   r;   r<   r     s   r   Z0L000ZINVALID_GRANTORc                   @  s   e Zd ZdS )InvalidGrantOperationNr   r;   r;   r;   r<   r     s   r   Z0LP01ZINVALID_GRANT_OPERATIONc                   @  s   e Zd ZdS )InvalidRoleSpecificationNr   r;   r;   r;   r<   r     s   r   Z0P000ZINVALID_ROLE_SPECIFICATIONc                   @  s   e Zd ZdS )DiagnosticsExceptionNr   r;   r;   r;   r<   r     s   r   Z0Z000ZDIAGNOSTICS_EXCEPTIONc                   @  s   e Zd ZdS ).StackedDiagnosticsAccessedWithoutActiveHandlerNr   r;   r;   r;   r<   r     s   r   Z0Z002Z3STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLERc                   @  s   e Zd ZdS )CaseNotFoundNr   r;   r;   r;   r<   r     s   r   Z20000ZCASE_NOT_FOUNDc                   @  s   e Zd ZdS )CardinalityViolationNr   r;   r;   r;   r<   r     s   r   Z21000ZCARDINALITY_VIOLATIONc                   @  s   e Zd ZdS )DataExceptionNr   r;   r;   r;   r<   r     s   r   Z22000ZDATA_EXCEPTIONc                   @  s   e Zd ZdS )StringDataRightTruncationNr   r;   r;   r;   r<   r     s   r   Z22001ZSTRING_DATA_RIGHT_TRUNCATIONc                   @  s   e Zd ZdS )NullValueNoIndicatorParameterNr   r;   r;   r;   r<   r     s   r   Z22002Z!NULL_VALUE_NO_INDICATOR_PARAMETERc                   @  s   e Zd ZdS )NumericValueOutOfRangeNr   r;   r;   r;   r<   r    s   r  Z22003ZNUMERIC_VALUE_OUT_OF_RANGEc                   @  s   e Zd ZdS )NullValueNotAllowedNr   r;   r;   r;   r<   r    s   r  Z22004ZNULL_VALUE_NOT_ALLOWEDc                   @  s   e Zd ZdS )ErrorInAssignmentNr   r;   r;   r;   r<   r    s   r  Z22005ZERROR_IN_ASSIGNMENTc                   @  s   e Zd ZdS )InvalidDatetimeFormatNr   r;   r;   r;   r<   r    s   r  Z22007ZINVALID_DATETIME_FORMATc                   @  s   e Zd ZdS )DatetimeFieldOverflowNr   r;   r;   r;   r<   r    s   r  Z22008ZDATETIME_FIELD_OVERFLOWc                   @  s   e Zd ZdS ) InvalidTimeZoneDisplacementValueNr   r;   r;   r;   r<   r  	  s   r  Z22009Z$INVALID_TIME_ZONE_DISPLACEMENT_VALUEc                   @  s   e Zd ZdS )EscapeCharacterConflictNr   r;   r;   r;   r<   r    s   r  Z2200BZESCAPE_CHARACTER_CONFLICTc                   @  s   e Zd ZdS )InvalidUseOfEscapeCharacterNr   r;   r;   r;   r<   r    s   r  Z2200CZINVALID_USE_OF_ESCAPE_CHARACTERc                   @  s   e Zd ZdS )InvalidEscapeOctetNr   r;   r;   r;   r<   r	    s   r	  Z2200DZINVALID_ESCAPE_OCTETc                   @  s   e Zd ZdS )ZeroLengthCharacterStringNr   r;   r;   r;   r<   r
    s   r
  Z2200FZZERO_LENGTH_CHARACTER_STRINGc                   @  s   e Zd ZdS )MostSpecificTypeMismatchNr   r;   r;   r;   r<   r    s   r  Z2200GZMOST_SPECIFIC_TYPE_MISMATCHc                   @  s   e Zd ZdS )SequenceGeneratorLimitExceededNr   r;   r;   r;   r<   r  !  s   r  Z2200HZ!SEQUENCE_GENERATOR_LIMIT_EXCEEDEDc                   @  s   e Zd ZdS )NotAnXmlDocumentNr   r;   r;   r;   r<   r  %  s   r  Z2200LZNOT_AN_XML_DOCUMENTc                   @  s   e Zd ZdS )InvalidXmlDocumentNr   r;   r;   r;   r<   r  )  s   r  Z2200MZINVALID_XML_DOCUMENTc                   @  s   e Zd ZdS )InvalidXmlContentNr   r;   r;   r;   r<   r  -  s   r  Z2200NZINVALID_XML_CONTENTc                   @  s   e Zd ZdS )InvalidXmlCommentNr   r;   r;   r;   r<   r  1  s   r  Z2200SZINVALID_XML_COMMENTc                   @  s   e Zd ZdS )InvalidXmlProcessingInstructionNr   r;   r;   r;   r<   r  5  s   r  Z2200TZ"INVALID_XML_PROCESSING_INSTRUCTIONc                   @  s   e Zd ZdS )InvalidIndicatorParameterValueNr   r;   r;   r;   r<   r  9  s   r  Z22010Z!INVALID_INDICATOR_PARAMETER_VALUEc                   @  s   e Zd ZdS )SubstringErrorNr   r;   r;   r;   r<   r  =  s   r  Z22011ZSUBSTRING_ERRORc                   @  s   e Zd ZdS )DivisionByZeroNr   r;   r;   r;   r<   r  A  s   r  Z22012ZDIVISION_BY_ZEROc                   @  s   e Zd ZdS )InvalidPrecedingOrFollowingSizeNr   r;   r;   r;   r<   r  E  s   r  Z22013Z#INVALID_PRECEDING_OR_FOLLOWING_SIZEc                   @  s   e Zd ZdS )InvalidArgumentForNtileFunctionNr   r;   r;   r;   r<   r  I  s   r  Z22014Z#INVALID_ARGUMENT_FOR_NTILE_FUNCTIONc                   @  s   e Zd ZdS )IntervalFieldOverflowNr   r;   r;   r;   r<   r  M  s   r  Z22015ZINTERVAL_FIELD_OVERFLOWc                   @  s   e Zd ZdS )"InvalidArgumentForNthValueFunctionNr   r;   r;   r;   r<   r  Q  s   r  Z22016Z'INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTIONc                   @  s   e Zd ZdS )InvalidCharacterValueForCastNr   r;   r;   r;   r<   r  U  s   r  Z22018Z INVALID_CHARACTER_VALUE_FOR_CASTc                   @  s   e Zd ZdS )InvalidEscapeCharacterNr   r;   r;   r;   r<   r  Y  s   r  Z22019ZINVALID_ESCAPE_CHARACTERc                   @  s   e Zd ZdS )InvalidRegularExpressionNr   r;   r;   r;   r<   r  ]  s   r  Z2201BZINVALID_REGULAR_EXPRESSIONc                   @  s   e Zd ZdS )InvalidArgumentForLogarithmNr   r;   r;   r;   r<   r  a  s   r  Z2201EZINVALID_ARGUMENT_FOR_LOGARITHMc                   @  s   e Zd ZdS )InvalidArgumentForPowerFunctionNr   r;   r;   r;   r<   r  e  s   r  Z2201FZ#INVALID_ARGUMENT_FOR_POWER_FUNCTIONc                   @  s   e Zd ZdS )%InvalidArgumentForWidthBucketFunctionNr   r;   r;   r;   r<   r  i  s   r  Z2201GZ*INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTIONc                   @  s   e Zd ZdS )InvalidRowCountInLimitClauseNr   r;   r;   r;   r<   r  m  s   r  Z2201WZ!INVALID_ROW_COUNT_IN_LIMIT_CLAUSEc                   @  s   e Zd ZdS )#InvalidRowCountInResultOffsetClauseNr   r;   r;   r;   r<   r   q  s   r   Z2201XZ)INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSEc                   @  s   e Zd ZdS )CharacterNotInRepertoireNr   r;   r;   r;   r<   r!  u  s   r!  Z22021ZCHARACTER_NOT_IN_REPERTOIREc                   @  s   e Zd ZdS )IndicatorOverflowNr   r;   r;   r;   r<   r"  y  s   r"  Z22022ZINDICATOR_OVERFLOWc                   @  s   e Zd ZdS )InvalidParameterValueNr   r;   r;   r;   r<   r#  }  s   r#  Z22023ZINVALID_PARAMETER_VALUEc                   @  s   e Zd ZdS )UnterminatedCStringNr   r;   r;   r;   r<   r$    s   r$  Z22024ZUNTERMINATED_C_STRINGc                   @  s   e Zd ZdS )InvalidEscapeSequenceNr   r;   r;   r;   r<   r%    s   r%  Z22025ZINVALID_ESCAPE_SEQUENCEc                   @  s   e Zd ZdS )StringDataLengthMismatchNr   r;   r;   r;   r<   r&    s   r&  Z22026ZSTRING_DATA_LENGTH_MISMATCHc                   @  s   e Zd ZdS )	TrimErrorNr   r;   r;   r;   r<   r'    s   r'  Z22027Z
TRIM_ERRORc                   @  s   e Zd ZdS )ArraySubscriptErrorNr   r;   r;   r;   r<   r(    s   r(  Z2202EZARRAY_SUBSCRIPT_ERRORc                   @  s   e Zd ZdS )InvalidTablesampleRepeatNr   r;   r;   r;   r<   r)    s   r)  Z2202GZINVALID_TABLESAMPLE_REPEATc                   @  s   e Zd ZdS )InvalidTablesampleArgumentNr   r;   r;   r;   r<   r*    s   r*  Z2202HZINVALID_TABLESAMPLE_ARGUMENTc                   @  s   e Zd ZdS )DuplicateJsonObjectKeyValueNr   r;   r;   r;   r<   r+    s   r+  Z22030ZDUPLICATE_JSON_OBJECT_KEY_VALUEc                   @  s   e Zd ZdS ))InvalidArgumentForSqlJsonDatetimeFunctionNr   r;   r;   r;   r<   r,    s   r,  Z22031Z/INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTIONc                   @  s   e Zd ZdS )InvalidJsonTextNr   r;   r;   r;   r<   r-    s   r-  Z22032ZINVALID_JSON_TEXTc                   @  s   e Zd ZdS )InvalidSqlJsonSubscriptNr   r;   r;   r;   r<   r.    s   r.  Z22033ZINVALID_SQL_JSON_SUBSCRIPTc                   @  s   e Zd ZdS )MoreThanOneSqlJsonItemNr   r;   r;   r;   r<   r/    s   r/  Z22034ZMORE_THAN_ONE_SQL_JSON_ITEMc                   @  s   e Zd ZdS )NoSqlJsonItemNr   r;   r;   r;   r<   r0    s   r0  Z22035ZNO_SQL_JSON_ITEMc                   @  s   e Zd ZdS )NonNumericSqlJsonItemNr   r;   r;   r;   r<   r1    s   r1  Z22036ZNON_NUMERIC_SQL_JSON_ITEMc                   @  s   e Zd ZdS )NonUniqueKeysInAJsonObjectNr   r;   r;   r;   r<   r2    s   r2  Z22037Z NON_UNIQUE_KEYS_IN_A_JSON_OBJECTc                   @  s   e Zd ZdS )SingletonSqlJsonItemRequiredNr   r;   r;   r;   r<   r3    s   r3  Z22038Z SINGLETON_SQL_JSON_ITEM_REQUIREDc                   @  s   e Zd ZdS )SqlJsonArrayNotFoundNr   r;   r;   r;   r<   r4    s   r4  Z22039ZSQL_JSON_ARRAY_NOT_FOUNDc                   @  s   e Zd ZdS )SqlJsonMemberNotFoundNr   r;   r;   r;   r<   r5    s   r5  Z2203AZSQL_JSON_MEMBER_NOT_FOUNDc                   @  s   e Zd ZdS )SqlJsonNumberNotFoundNr   r;   r;   r;   r<   r6    s   r6  Z2203BZSQL_JSON_NUMBER_NOT_FOUNDc                   @  s   e Zd ZdS )SqlJsonObjectNotFoundNr   r;   r;   r;   r<   r7    s   r7  Z2203CZSQL_JSON_OBJECT_NOT_FOUNDc                   @  s   e Zd ZdS )TooManyJsonArrayElementsNr   r;   r;   r;   r<   r8    s   r8  Z2203DZTOO_MANY_JSON_ARRAY_ELEMENTSc                   @  s   e Zd ZdS )TooManyJsonObjectMembersNr   r;   r;   r;   r<   r9    s   r9  Z2203EZTOO_MANY_JSON_OBJECT_MEMBERSc                   @  s   e Zd ZdS )SqlJsonScalarRequiredNr   r;   r;   r;   r<   r:    s   r:  Z2203FZSQL_JSON_SCALAR_REQUIREDc                   @  s   e Zd ZdS )#SqlJsonItemCannotBeCastToTargetTypeNr   r;   r;   r;   r<   r;    s   r;  Z2203GZ+SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPEc                   @  s   e Zd ZdS )FloatingPointExceptionNr   r;   r;   r;   r<   r<    s   r<  Z22P01ZFLOATING_POINT_EXCEPTIONc                   @  s   e Zd ZdS )InvalidTextRepresentationNr   r;   r;   r;   r<   r=    s   r=  Z22P02ZINVALID_TEXT_REPRESENTATIONc                   @  s   e Zd ZdS )InvalidBinaryRepresentationNr   r;   r;   r;   r<   r>    s   r>  Z22P03ZINVALID_BINARY_REPRESENTATIONc                   @  s   e Zd ZdS )BadCopyFileFormatNr   r;   r;   r;   r<   r?    s   r?  Z22P04ZBAD_COPY_FILE_FORMATc                   @  s   e Zd ZdS )UntranslatableCharacterNr   r;   r;   r;   r<   r@    s   r@  Z22P05ZUNTRANSLATABLE_CHARACTERc                   @  s   e Zd ZdS )NonstandardUseOfEscapeCharacterNr   r;   r;   r;   r<   rA    s   rA  Z22P06Z#NONSTANDARD_USE_OF_ESCAPE_CHARACTERc                   @  s   e Zd ZdS )IntegrityConstraintViolationNr   r;   r;   r;   r<   rB    s   rB  Z23000ZINTEGRITY_CONSTRAINT_VIOLATIONc                   @  s   e Zd ZdS )RestrictViolationNr   r;   r;   r;   r<   rC     s   rC  Z23001ZRESTRICT_VIOLATIONc                   @  s   e Zd ZdS )NotNullViolationNr   r;   r;   r;   r<   rD    s   rD  Z23502ZNOT_NULL_VIOLATIONc                   @  s   e Zd ZdS )ForeignKeyViolationNr   r;   r;   r;   r<   rE    s   rE  Z23503ZFOREIGN_KEY_VIOLATIONc                   @  s   e Zd ZdS )UniqueViolationNr   r;   r;   r;   r<   rF    s   rF  Z23505ZUNIQUE_VIOLATIONc                   @  s   e Zd ZdS )CheckViolationNr   r;   r;   r;   r<   rG    s   rG  Z23514ZCHECK_VIOLATIONc                   @  s   e Zd ZdS )ExclusionViolationNr   r;   r;   r;   r<   rH    s   rH  Z23P01ZEXCLUSION_VIOLATIONc                   @  s   e Zd ZdS )InvalidCursorStateNr   r;   r;   r;   r<   rI    s   rI  Z24000ZINVALID_CURSOR_STATEc                   @  s   e Zd ZdS )InvalidTransactionStateNr   r;   r;   r;   r<   rJ  "  s   rJ  Z25000ZINVALID_TRANSACTION_STATEc                   @  s   e Zd ZdS )ActiveSqlTransactionNr   r;   r;   r;   r<   rK  &  s   rK  Z25001ZACTIVE_SQL_TRANSACTIONc                   @  s   e Zd ZdS )BranchTransactionAlreadyActiveNr   r;   r;   r;   r<   rL  *  s   rL  Z25002Z!BRANCH_TRANSACTION_ALREADY_ACTIVEc                   @  s   e Zd ZdS )+InappropriateAccessModeForBranchTransactionNr   r;   r;   r;   r<   rM  .  s   rM  Z25003Z0INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTIONc                   @  s   e Zd ZdS )/InappropriateIsolationLevelForBranchTransactionNr   r;   r;   r;   r<   rN  2  s   rN  Z25004Z4INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTIONc                   @  s   e Zd ZdS )*NoActiveSqlTransactionForBranchTransactionNr   r;   r;   r;   r<   rO  6  s   rO  Z25005Z0NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTIONc                   @  s   e Zd ZdS )ReadOnlySqlTransactionNr   r;   r;   r;   r<   rP  :  s   rP  Z25006ZREAD_ONLY_SQL_TRANSACTIONc                   @  s   e Zd ZdS )(SchemaAndDataStatementMixingNotSupportedNr   r;   r;   r;   r<   rQ  >  s   rQ  Z25007Z.SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTEDc                   @  s   e Zd ZdS )$HeldCursorRequiresSameIsolationLevelNr   r;   r;   r;   r<   rR  B  s   rR  Z25008Z)HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVELc                   @  s   e Zd ZdS )NoActiveSqlTransactionNr   r;   r;   r;   r<   rS  F  s   rS  Z25P01ZNO_ACTIVE_SQL_TRANSACTIONc                   @  s   e Zd ZdS )InFailedSqlTransactionNr   r;   r;   r;   r<   rT  J  s   rT  Z25P02ZIN_FAILED_SQL_TRANSACTIONc                   @  s   e Zd ZdS )IdleInTransactionSessionTimeoutNr   r;   r;   r;   r<   rU  N  s   rU  Z25P03Z#IDLE_IN_TRANSACTION_SESSION_TIMEOUTc                   @  s   e Zd ZdS )InvalidSqlStatementNameNr   r;   r;   r;   r<   rV  U  s   rV  Z26000ZINVALID_SQL_STATEMENT_NAMEc                   @  s   e Zd ZdS )TriggeredDataChangeViolationNr   r;   r;   r;   r<   rW  \  s   rW  Z27000ZTRIGGERED_DATA_CHANGE_VIOLATIONc                   @  s   e Zd ZdS )!InvalidAuthorizationSpecificationNr   r;   r;   r;   r<   rX  c  s   rX  Z28000Z#INVALID_AUTHORIZATION_SPECIFICATIONc                   @  s   e Zd ZdS )InvalidPasswordNr   r;   r;   r;   r<   rY  g  s   rY  Z28P01ZINVALID_PASSWORDc                   @  s   e Zd ZdS )'DependentPrivilegeDescriptorsStillExistNr   r;   r;   r;   r<   rZ  n  s   rZ  Z2B000Z+DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXISTc                   @  s   e Zd ZdS )DependentObjectsStillExistNr   r;   r;   r;   r<   r[  r  s   r[  Z2BP01ZDEPENDENT_OBJECTS_STILL_EXISTc                   @  s   e Zd ZdS )InvalidTransactionTerminationNr   r;   r;   r;   r<   r\  y  s   r\  Z2D000ZINVALID_TRANSACTION_TERMINATIONc                   @  s   e Zd ZdS )SqlRoutineExceptionNr   r;   r;   r;   r<   r]    s   r]  Z2F000ZSQL_ROUTINE_EXCEPTIONc                   @  s   e Zd ZdS )ModifyingSqlDataNotPermittedNr   r;   r;   r;   r<   r^    s   r^  Z2F002Z MODIFYING_SQL_DATA_NOT_PERMITTEDc                   @  s   e Zd ZdS )ProhibitedSqlStatementAttemptedNr   r;   r;   r;   r<   r_    s   r_  Z2F003Z"PROHIBITED_SQL_STATEMENT_ATTEMPTEDc                   @  s   e Zd ZdS )ReadingSqlDataNotPermittedNr   r;   r;   r;   r<   r`    s   r`  Z2F004ZREADING_SQL_DATA_NOT_PERMITTEDc                   @  s   e Zd ZdS )!FunctionExecutedNoReturnStatementNr   r;   r;   r;   r<   ra    s   ra  Z2F005Z%FUNCTION_EXECUTED_NO_RETURN_STATEMENTc                   @  s   e Zd ZdS )InvalidCursorNameNr   r;   r;   r;   r<   rb    s   rb  Z34000ZINVALID_CURSOR_NAMEc                   @  s   e Zd ZdS )ExternalRoutineExceptionNr   r;   r;   r;   r<   rc    s   rc  Z38000ZEXTERNAL_ROUTINE_EXCEPTIONc                   @  s   e Zd ZdS )ContainingSqlNotPermittedNr   r;   r;   r;   r<   rd    s   rd  Z38001ZCONTAINING_SQL_NOT_PERMITTEDc                   @  s   e Zd ZdS )ModifyingSqlDataNotPermittedExtNr   r;   r;   r;   r<   re    s   re  Z38002c                   @  s   e Zd ZdS )"ProhibitedSqlStatementAttemptedExtNr   r;   r;   r;   r<   rf    s   rf  Z38003c                   @  s   e Zd ZdS )ReadingSqlDataNotPermittedExtNr   r;   r;   r;   r<   rg    s   rg  Z38004c                   @  s   e Zd ZdS )"ExternalRoutineInvocationExceptionNr   r;   r;   r;   r<   rh    s   rh  Z39000Z%EXTERNAL_ROUTINE_INVOCATION_EXCEPTIONc                   @  s   e Zd ZdS )InvalidSqlstateReturnedNr   r;   r;   r;   r<   ri    s   ri  Z39001ZINVALID_SQLSTATE_RETURNEDc                   @  s   e Zd ZdS )NullValueNotAllowedExtNr   r;   r;   r;   r<   rj    s   rj  Z39004c                   @  s   e Zd ZdS )TriggerProtocolViolatedNr   r;   r;   r;   r<   rk    s   rk  Z39P01ZTRIGGER_PROTOCOL_VIOLATEDc                   @  s   e Zd ZdS )SrfProtocolViolatedNr   r;   r;   r;   r<   rl    s   rl  Z39P02ZSRF_PROTOCOL_VIOLATEDc                   @  s   e Zd ZdS )EventTriggerProtocolViolatedNr   r;   r;   r;   r<   rm    s   rm  Z39P03ZEVENT_TRIGGER_PROTOCOL_VIOLATEDc                   @  s   e Zd ZdS )SavepointExceptionNr   r;   r;   r;   r<   rn    s   rn  Z3B000ZSAVEPOINT_EXCEPTIONc                   @  s   e Zd ZdS )InvalidSavepointSpecificationNr   r;   r;   r;   r<   ro    s   ro  Z3B001ZINVALID_SAVEPOINT_SPECIFICATIONc                   @  s   e Zd ZdS )InvalidCatalogNameNr   r;   r;   r;   r<   rp    s   rp  Z3D000ZINVALID_CATALOG_NAMEc                   @  s   e Zd ZdS )InvalidSchemaNameNr   r;   r;   r;   r<   rq    s   rq  Z3F000ZINVALID_SCHEMA_NAMEc                   @  s   e Zd ZdS )TransactionRollbackNr   r;   r;   r;   r<   rr    s   rr  Z40000ZTRANSACTION_ROLLBACKc                   @  s   e Zd ZdS )SerializationFailureNr   r;   r;   r;   r<   rs    s   rs  Z40001ZSERIALIZATION_FAILUREc                   @  s   e Zd ZdS )'TransactionIntegrityConstraintViolationNr   r;   r;   r;   r<   rt    s   rt  Z40002Z*TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATIONc                   @  s   e Zd ZdS )StatementCompletionUnknownNr   r;   r;   r;   r<   ru    s   ru  Z40003ZSTATEMENT_COMPLETION_UNKNOWNc                   @  s   e Zd ZdS )DeadlockDetectedNr   r;   r;   r;   r<   rv    s   rv  Z40P01ZDEADLOCK_DETECTEDc                   @  s   e Zd ZdS ) SyntaxErrorOrAccessRuleViolationNr   r;   r;   r;   r<   rw     s   rw  Z42000Z%SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATIONc                   @  s   e Zd ZdS )InsufficientPrivilegeNr   r;   r;   r;   r<   rx    s   rx  Z42501ZINSUFFICIENT_PRIVILEGEc                   @  s   e Zd ZdS )SyntaxErrorNr   r;   r;   r;   r<   ry    s   ry  Z42601ZSYNTAX_ERRORc                   @  s   e Zd ZdS )InvalidNameNr   r;   r;   r;   r<   rz    s   rz  Z42602ZINVALID_NAMEc                   @  s   e Zd ZdS )InvalidColumnDefinitionNr   r;   r;   r;   r<   r{    s   r{  Z42611ZINVALID_COLUMN_DEFINITIONc                   @  s   e Zd ZdS )NameTooLongNr   r;   r;   r;   r<   r|    s   r|  Z42622ZNAME_TOO_LONGc                   @  s   e Zd ZdS )DuplicateColumnNr   r;   r;   r;   r<   r}    s   r}  Z42701ZDUPLICATE_COLUMNc                   @  s   e Zd ZdS )AmbiguousColumnNr   r;   r;   r;   r<   r~    s   r~  Z42702ZAMBIGUOUS_COLUMNc                   @  s   e Zd ZdS )UndefinedColumnNr   r;   r;   r;   r<   r     s   r  Z42703ZUNDEFINED_COLUMNc                   @  s   e Zd ZdS )UndefinedObjectNr   r;   r;   r;   r<   r  $  s   r  Z42704ZUNDEFINED_OBJECTc                   @  s   e Zd ZdS )DuplicateObjectNr   r;   r;   r;   r<   r  (  s   r  Z42710ZDUPLICATE_OBJECTc                   @  s   e Zd ZdS )DuplicateAliasNr   r;   r;   r;   r<   r  ,  s   r  Z42712ZDUPLICATE_ALIASc                   @  s   e Zd ZdS )DuplicateFunctionNr   r;   r;   r;   r<   r  0  s   r  Z42723ZDUPLICATE_FUNCTIONc                   @  s   e Zd ZdS )AmbiguousFunctionNr   r;   r;   r;   r<   r  4  s   r  Z42725ZAMBIGUOUS_FUNCTIONc                   @  s   e Zd ZdS )GroupingErrorNr   r;   r;   r;   r<   r  8  s   r  Z42803ZGROUPING_ERRORc                   @  s   e Zd ZdS )DatatypeMismatchNr   r;   r;   r;   r<   r  <  s   r  Z42804ZDATATYPE_MISMATCHc                   @  s   e Zd ZdS )WrongObjectTypeNr   r;   r;   r;   r<   r  @  s   r  Z42809ZWRONG_OBJECT_TYPEc                   @  s   e Zd ZdS )InvalidForeignKeyNr   r;   r;   r;   r<   r  D  s   r  Z42830ZINVALID_FOREIGN_KEYc                   @  s   e Zd ZdS )CannotCoerceNr   r;   r;   r;   r<   r  H  s   r  Z42846ZCANNOT_COERCEc                   @  s   e Zd ZdS )UndefinedFunctionNr   r;   r;   r;   r<   r  L  s   r  Z42883ZUNDEFINED_FUNCTIONc                   @  s   e Zd ZdS )GeneratedAlwaysNr   r;   r;   r;   r<   r  P  s   r  Z428C9ZGENERATED_ALWAYSc                   @  s   e Zd ZdS )ReservedNameNr   r;   r;   r;   r<   r  T  s   r  Z42939ZRESERVED_NAMEc                   @  s   e Zd ZdS )UndefinedTableNr   r;   r;   r;   r<   r  X  s   r  Z42P01ZUNDEFINED_TABLEc                   @  s   e Zd ZdS )UndefinedParameterNr   r;   r;   r;   r<   r  \  s   r  Z42P02ZUNDEFINED_PARAMETERc                   @  s   e Zd ZdS )DuplicateCursorNr   r;   r;   r;   r<   r  `  s   r  Z42P03ZDUPLICATE_CURSORc                   @  s   e Zd ZdS )DuplicateDatabaseNr   r;   r;   r;   r<   r  d  s   r  Z42P04ZDUPLICATE_DATABASEc                   @  s   e Zd ZdS )DuplicatePreparedStatementNr   r;   r;   r;   r<   r  h  s   r  Z42P05ZDUPLICATE_PREPARED_STATEMENTc                   @  s   e Zd ZdS )DuplicateSchemaNr   r;   r;   r;   r<   r  l  s   r  Z42P06ZDUPLICATE_SCHEMAc                   @  s   e Zd ZdS )DuplicateTableNr   r;   r;   r;   r<   r  p  s   r  Z42P07ZDUPLICATE_TABLEc                   @  s   e Zd ZdS )AmbiguousParameterNr   r;   r;   r;   r<   r  t  s   r  Z42P08ZAMBIGUOUS_PARAMETERc                   @  s   e Zd ZdS )AmbiguousAliasNr   r;   r;   r;   r<   r  x  s   r  Z42P09ZAMBIGUOUS_ALIASc                   @  s   e Zd ZdS )InvalidColumnReferenceNr   r;   r;   r;   r<   r  |  s   r  Z42P10ZINVALID_COLUMN_REFERENCEc                   @  s   e Zd ZdS )InvalidCursorDefinitionNr   r;   r;   r;   r<   r    s   r  Z42P11ZINVALID_CURSOR_DEFINITIONc                   @  s   e Zd ZdS )InvalidDatabaseDefinitionNr   r;   r;   r;   r<   r    s   r  Z42P12ZINVALID_DATABASE_DEFINITIONc                   @  s   e Zd ZdS )InvalidFunctionDefinitionNr   r;   r;   r;   r<   r    s   r  Z42P13ZINVALID_FUNCTION_DEFINITIONc                   @  s   e Zd ZdS )"InvalidPreparedStatementDefinitionNr   r;   r;   r;   r<   r    s   r  Z42P14Z%INVALID_PREPARED_STATEMENT_DEFINITIONc                   @  s   e Zd ZdS )InvalidSchemaDefinitionNr   r;   r;   r;   r<   r    s   r  Z42P15ZINVALID_SCHEMA_DEFINITIONc                   @  s   e Zd ZdS )InvalidTableDefinitionNr   r;   r;   r;   r<   r    s   r  Z42P16ZINVALID_TABLE_DEFINITIONc                   @  s   e Zd ZdS )InvalidObjectDefinitionNr   r;   r;   r;   r<   r    s   r  Z42P17ZINVALID_OBJECT_DEFINITIONc                   @  s   e Zd ZdS )IndeterminateDatatypeNr   r;   r;   r;   r<   r    s   r  Z42P18ZINDETERMINATE_DATATYPEc                   @  s   e Zd ZdS )InvalidRecursionNr   r;   r;   r;   r<   r    s   r  Z42P19ZINVALID_RECURSIONc                   @  s   e Zd ZdS )WindowingErrorNr   r;   r;   r;   r<   r    s   r  Z42P20ZWINDOWING_ERRORc                   @  s   e Zd ZdS )CollationMismatchNr   r;   r;   r;   r<   r    s   r  Z42P21ZCOLLATION_MISMATCHc                   @  s   e Zd ZdS )IndeterminateCollationNr   r;   r;   r;   r<   r    s   r  Z42P22ZINDETERMINATE_COLLATIONc                   @  s   e Zd ZdS )WithCheckOptionViolationNr   r;   r;   r;   r<   r    s   r  Z44000ZWITH_CHECK_OPTION_VIOLATIONc                   @  s   e Zd ZdS )InsufficientResourcesNr   r;   r;   r;   r<   r    s   r  Z53000ZINSUFFICIENT_RESOURCESc                   @  s   e Zd ZdS )DiskFullNr   r;   r;   r;   r<   r    s   r  Z53100Z	DISK_FULLc                   @  s   e Zd ZdS )OutOfMemoryNr   r;   r;   r;   r<   r    s   r  Z53200ZOUT_OF_MEMORYc                   @  s   e Zd ZdS )TooManyConnectionsNr   r;   r;   r;   r<   r    s   r  Z53300ZTOO_MANY_CONNECTIONSc                   @  s   e Zd ZdS )ConfigurationLimitExceededNr   r;   r;   r;   r<   r    s   r  Z53400ZCONFIGURATION_LIMIT_EXCEEDEDc                   @  s   e Zd ZdS )ProgramLimitExceededNr   r;   r;   r;   r<   r    s   r  Z54000ZPROGRAM_LIMIT_EXCEEDEDc                   @  s   e Zd ZdS )StatementTooComplexNr   r;   r;   r;   r<   r    s   r  Z54001ZSTATEMENT_TOO_COMPLEXc                   @  s   e Zd ZdS )TooManyColumnsNr   r;   r;   r;   r<   r    s   r  Z54011ZTOO_MANY_COLUMNSc                   @  s   e Zd ZdS )TooManyArgumentsNr   r;   r;   r;   r<   r    s   r  Z54023ZTOO_MANY_ARGUMENTSc                   @  s   e Zd ZdS )ObjectNotInPrerequisiteStateNr   r;   r;   r;   r<   r    s   r  Z55000Z OBJECT_NOT_IN_PREREQUISITE_STATEc                   @  s   e Zd ZdS )ObjectInUseNr   r;   r;   r;   r<   r    s   r  Z55006ZOBJECT_IN_USEc                   @  s   e Zd ZdS )CantChangeRuntimeParamNr   r;   r;   r;   r<   r    s   r  Z55P02ZCANT_CHANGE_RUNTIME_PARAMc                   @  s   e Zd ZdS )LockNotAvailableNr   r;   r;   r;   r<   r    s   r  Z55P03ZLOCK_NOT_AVAILABLEc                   @  s   e Zd ZdS )UnsafeNewEnumValueUsageNr   r;   r;   r;   r<   r    s   r  Z55P04ZUNSAFE_NEW_ENUM_VALUE_USAGEc                   @  s   e Zd ZdS )OperatorInterventionNr   r;   r;   r;   r<   r    s   r  Z57000ZOPERATOR_INTERVENTIONc                   @  s   e Zd ZdS )QueryCanceledNr   r;   r;   r;   r<   r    s   r  Z57014ZQUERY_CANCELEDc                   @  s   e Zd ZdS )AdminShutdownNr   r;   r;   r;   r<   r    s   r  Z57P01ZADMIN_SHUTDOWNc                   @  s   e Zd ZdS )CrashShutdownNr   r;   r;   r;   r<   r    s   r  Z57P02ZCRASH_SHUTDOWNc                   @  s   e Zd ZdS )CannotConnectNowNr   r;   r;   r;   r<   r    s   r  Z57P03ZCANNOT_CONNECT_NOWc                   @  s   e Zd ZdS )DatabaseDroppedNr   r;   r;   r;   r<   r    s   r  Z57P04ZDATABASE_DROPPEDc                   @  s   e Zd ZdS )IdleSessionTimeoutNr   r;   r;   r;   r<   r    s   r  Z57P05ZIDLE_SESSION_TIMEOUTc                   @  s   e Zd ZdS )SystemErrorNr   r;   r;   r;   r<   r    s   r  Z58000SYSTEM_ERRORc                   @  s   e Zd ZdS )IoErrorNr   r;   r;   r;   r<   r    s   r  Z58030ZIO_ERRORc                   @  s   e Zd ZdS )UndefinedFileNr   r;   r;   r;   r<   r  "  s   r  Z58P01ZUNDEFINED_FILEc                   @  s   e Zd ZdS )DuplicateFileNr   r;   r;   r;   r<   r  &  s   r  Z58P02ZDUPLICATE_FILEc                   @  s   e Zd ZdS )SnapshotTooOldNr   r;   r;   r;   r<   r  -  s   r  Z72000ZSNAPSHOT_TOO_OLDc                   @  s   e Zd ZdS )ConfigFileErrorNr   r;   r;   r;   r<   r  4  s   r  ZF0000ZCONFIG_FILE_ERRORc                   @  s   e Zd ZdS )LockFileExistsNr   r;   r;   r;   r<   r  8  s   r  ZF0001ZLOCK_FILE_EXISTSc                   @  s   e Zd ZdS )FdwErrorNr   r;   r;   r;   r<   r  ?  s   r  ZHV000Z	FDW_ERRORc                   @  s   e Zd ZdS )FdwOutOfMemoryNr   r;   r;   r;   r<   r  C  s   r  ZHV001ZFDW_OUT_OF_MEMORYc                   @  s   e Zd ZdS )FdwDynamicParameterValueNeededNr   r;   r;   r;   r<   r  G  s   r  ZHV002Z"FDW_DYNAMIC_PARAMETER_VALUE_NEEDEDc                   @  s   e Zd ZdS )FdwInvalidDataTypeNr   r;   r;   r;   r<   r  K  s   r  ZHV004ZFDW_INVALID_DATA_TYPEc                   @  s   e Zd ZdS )FdwColumnNameNotFoundNr   r;   r;   r;   r<   r  O  s   r  ZHV005ZFDW_COLUMN_NAME_NOT_FOUNDc                   @  s   e Zd ZdS )FdwInvalidDataTypeDescriptorsNr   r;   r;   r;   r<   r  S  s   r  ZHV006Z!FDW_INVALID_DATA_TYPE_DESCRIPTORSc                   @  s   e Zd ZdS )FdwInvalidColumnNameNr   r;   r;   r;   r<   r  W  s   r  ZHV007ZFDW_INVALID_COLUMN_NAMEc                   @  s   e Zd ZdS )FdwInvalidColumnNumberNr   r;   r;   r;   r<   r  [  s   r  ZHV008ZFDW_INVALID_COLUMN_NUMBERc                   @  s   e Zd ZdS )FdwInvalidUseOfNullPointerNr   r;   r;   r;   r<   r  _  s   r  ZHV009ZFDW_INVALID_USE_OF_NULL_POINTERc                   @  s   e Zd ZdS )FdwInvalidStringFormatNr   r;   r;   r;   r<   r  c  s   r  ZHV00AZFDW_INVALID_STRING_FORMATc                   @  s   e Zd ZdS )FdwInvalidHandleNr   r;   r;   r;   r<   r  g  s   r  ZHV00BZFDW_INVALID_HANDLEc                   @  s   e Zd ZdS )FdwInvalidOptionIndexNr   r;   r;   r;   r<   r  k  s   r  ZHV00CZFDW_INVALID_OPTION_INDEXc                   @  s   e Zd ZdS )FdwInvalidOptionNameNr   r;   r;   r;   r<   r  o  s   r  ZHV00DZFDW_INVALID_OPTION_NAMEc                   @  s   e Zd ZdS )FdwOptionNameNotFoundNr   r;   r;   r;   r<   r  s  s   r  ZHV00JZFDW_OPTION_NAME_NOT_FOUNDc                   @  s   e Zd ZdS )FdwReplyHandleNr   r;   r;   r;   r<   r  w  s   r  ZHV00KZFDW_REPLY_HANDLEc                   @  s   e Zd ZdS )FdwUnableToCreateExecutionNr   r;   r;   r;   r<   r  {  s   r  ZHV00LZFDW_UNABLE_TO_CREATE_EXECUTIONc                   @  s   e Zd ZdS )FdwUnableToCreateReplyNr   r;   r;   r;   r<   r    s   r  ZHV00MZFDW_UNABLE_TO_CREATE_REPLYc                   @  s   e Zd ZdS )FdwUnableToEstablishConnectionNr   r;   r;   r;   r<   r    s   r  ZHV00NZ"FDW_UNABLE_TO_ESTABLISH_CONNECTIONc                   @  s   e Zd ZdS )FdwNoSchemasNr   r;   r;   r;   r<   r    s   r  ZHV00PZFDW_NO_SCHEMASc                   @  s   e Zd ZdS )FdwSchemaNotFoundNr   r;   r;   r;   r<   r    s   r  ZHV00QZFDW_SCHEMA_NOT_FOUNDc                   @  s   e Zd ZdS )FdwTableNotFoundNr   r;   r;   r;   r<   r    s   r  ZHV00RZFDW_TABLE_NOT_FOUNDc                   @  s   e Zd ZdS )FdwFunctionSequenceErrorNr   r;   r;   r;   r<   r    s   r  ZHV010ZFDW_FUNCTION_SEQUENCE_ERRORc                   @  s   e Zd ZdS )FdwTooManyHandlesNr   r;   r;   r;   r<   r    s   r  ZHV014ZFDW_TOO_MANY_HANDLESc                   @  s   e Zd ZdS )$FdwInconsistentDescriptorInformationNr   r;   r;   r;   r<   r    s   r  ZHV021Z'FDW_INCONSISTENT_DESCRIPTOR_INFORMATIONc                   @  s   e Zd ZdS )FdwInvalidAttributeValueNr   r;   r;   r;   r<   r    s   r  ZHV024ZFDW_INVALID_ATTRIBUTE_VALUEc                   @  s   e Zd ZdS )$FdwInvalidStringLengthOrBufferLengthNr   r;   r;   r;   r<   r    s   r  ZHV090Z*FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTHc                   @  s   e Zd ZdS )#FdwInvalidDescriptorFieldIdentifierNr   r;   r;   r;   r<   r    s   r  ZHV091Z'FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIERc                   @  s   e Zd ZdS )PlpgsqlErrorNr   r;   r;   r;   r<   r    s   r  ZP0000ZPLPGSQL_ERRORc                   @  s   e Zd ZdS )RaiseExceptionNr   r;   r;   r;   r<   r    s   r  ZP0001ZRAISE_EXCEPTIONc                   @  s   e Zd ZdS )NoDataFoundNr   r;   r;   r;   r<   r    s   r  ZP0002ZNO_DATA_FOUNDc                   @  s   e Zd ZdS )TooManyRowsNr   r;   r;   r;   r<   r    s   r  ZP0003ZTOO_MANY_ROWSc                   @  s   e Zd ZdS )AssertFailureNr   r;   r;   r;   r<   r    s   r  ZP0004ZASSERT_FAILUREc                   @  s   e Zd ZdS )InternalError_Nr   r;   r;   r;   r<   r    s   r  ZXX000INTERNAL_ERRORc                   @  s   e Zd ZdS )DataCorruptedNr   r;   r;   r;   r<   r    s   r  ZXX001ZDATA_CORRUPTEDc                   @  s   e Zd ZdS )IndexCorruptedNr   r;   r;   r;   r<   r    s   r  ZXX002ZINDEX_CORRUPTEDN)r+   (5  r   
__future__r   Zdataclassesr   r   r   typingr   r   r   r	   r
   Zasyncior   Zpq.abcr   r   Z	pq._enumsr   r   r   r   _compatr   r   Zpq.miscr   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   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  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  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  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  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  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  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  KeyboardInterruptZ_NO_TRACEBACKr;   r;   r;   r<   <module>   sb   @
?

	c	,                                                                                                                                                                                                                                                           