
    ,h*                       S SK Jr  S SKrSSKJr  SSKJr  SSKJr  SSKJ	r	  SSKJ
r
  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  \R2                  " 5       r " S S\R6                  5      r " S S\5      r " S S\5      r " S S\5      r " S S\\5      r  " S S\\5      r! " S S \5      r" " S! S"\
5      r#g)#    )annotationsN   )ARRAY)_DECIMAL_TYPES)_FLOAT_TYPES)
_INT_TYPES)	PGDialect)PGExecutionContext)HSTORE)_SpaceVector)
INT2VECTOR)	OIDVECTOR   )exc)types)util)
processorsc                       \ rS rSrS rS rSrg)_PsycopgNumeric   c                    g N )selfdialects     f/var/www/auris/envauris/lib/python3.13/site-packages/sqlalchemy/dialects/postgresql/_psycopg_common.pybind_processor_PsycopgNumeric.bind_processor   s        c                   U R                   (       ag  U[        ;   a/  [        R                  " [        R
                  U R                  5      $ U[        ;   d
  U[        ;   a  g [        R                  " SU-  5      eU[        ;   a  g U[        ;   d
  U[        ;   a  [        R                  $ [        R                  " SU-  5      e)NzUnknown PG numeric type: %d)	asdecimalr   r   to_decimal_processor_factorydecimalDecimal_effective_decimal_return_scaler   r   r   InvalidRequestErrorto_float)r   r   coltypes      r   result_processor _PsycopgNumeric.result_processor"   s    >>,&!>>OOT%I%I  N*g.C--1G;  ,&N*g.C!***--1G; r   r   N)__name__
__module____qualname____firstlineno__r   r)   __static_attributes__r   r   r   r   r      s    r   r   c                      \ rS rSrSrSrg)_PsycopgFloat;   floatr   N)r+   r,   r-   r.   __visit_name__r/   r   r   r   r1   r1   ;   s    Nr   r1   c                  4   ^  \ rS rSrU 4S jrU 4S jrSrU =r$ )_PsycopgHStore?   c                F   > UR                   (       a  g [        TU ]	  U5      $ r   )_has_native_hstoresuperr   )r   r   	__class__s     r   r   _PsycopgHStore.bind_processor@   s    %%7)'22r   c                F   > UR                   (       a  g [        TU ]	  X5      $ r   )r9   r:   r)   )r   r   r(   r;   s      r   r)   _PsycopgHStore.result_processorF   s    %%7+G==r   r   )r+   r,   r-   r.   r   r)   r/   __classcell__)r;   s   @r   r6   r6   ?   s    3> >r   r6   c                      \ rS rSrSrSrg)_PsycopgARRAYM   Tr   N)r+   r,   r-   r.   render_bind_castr/   r   r   r   rA   rA   M   s    r   rA   c                      \ rS rSrSrg)_PsycopgINT2VECTORQ   r   Nr+   r,   r-   r.   r/   r   r   r   rE   rE   Q       r   rE   c                      \ rS rSrSrg)_PsycopgOIDVECTORU   r   NrG   r   r   r   rJ   rJ   U   rH   r   rJ   c                      \ rS rSrS rSrg)"_PGExecutionContext_common_psycopgY   c                    S[        [        U 5      5      SS  < S[        [        5       5      SS  < 3nU R                  R	                  U5      $ )Nc_   _)hexid_server_side_id_dbapi_connectioncursor)r   idents     r   create_server_side_cursor<_PGExecutionContext_common_psycopg.create_server_side_cursorZ   sC     !D]12.O4E0Fqr0JK%%,,U33r   r   N)r+   r,   r-   r.   rY   r/   r   r   r   rM   rM   Y   s    4r   rM   c                      \ rS rSrSrSrSrSr\R                  " \
R                  \R                  \\R                  \\\\R&                  \\\\\05      r  SS jrS rS rS rS	 rS
 rS rSr g)_PGDialect_common_psycopgd   TpyformatNc                f    [         R                  " U 40 UD6  U(       d  SU l        X l        Xl        g )NF)r	   __init__r9   use_native_hstoreclient_encoding)r   rb   ra   kwargss       r   r`   "_PGDialect_common_psycopg.__init__x   s.     	4*6* &+D#!2.r   c                |   UR                  SSS9nU R                  U5      u  p4U(       d  UR                  (       a}  U(       d  0 nSU;   a  [        US   5      US'   UR	                  UR                  5        U(       a7  SR                  U5      US'   SR                  S U 5       5      nU(       a  XRS'   / U4$ S/U4$ )	Nuserdbname)usernamedatabaseport,hostc              3  H   #    U  H  o(       a  [        U5      OS v   M     g7f) N)str).0ps     r   	<genexpr>@_PGDialect_common_psycopg.create_connect_args.<locals>.<genexpr>   s     &OJqs1v':Js    "rn   )translate_connect_args_split_multihost_from_urlqueryintupdatejoin)r   urlopts
multihosts
multiportscomma_portss         r   create_connect_args-_PGDialect_common_psycopg.create_connect_args   s    ))6H)M!%!?!?!D
399~"4<0VKK		""xx
3V!hh&OJ&OO#.L: D$<r   c                    g)N)
AUTOCOMMITzREAD COMMITTEDzREAD UNCOMMITTEDzREPEATABLE READSERIALIZABLEr   )r   dbapi_connections     r   get_isolation_level_values4_PGDialect_common_psycopg.get_isolation_level_values   s    
r   c                    X!l         g r   
deferrabler   
connectionvalues      r   set_deferrable(_PGDialect_common_psycopg.set_deferrable        %r   c                    UR                   $ r   r   )r   r   s     r   get_deferrable(_PGDialect_common_psycopg.get_deferrable   s    $$$r   c                    X!l         g r   )
autocommitr   s      r   _do_autocommit(_PGDialect_common_psycopg._do_autocommit   r   r   c                V   UR                   nU(       d  SUl         UR                  5       n UR                  U R                  5        UR	                  5         U(       d  UR
                  (       d  X!l         g! UR	                  5         U(       d  UR
                  (       d  X!l         f f f = fNT)r   rW   execute_dialect_specific_select_onecloseclosed)r   r   before_autocommitrW   s       r   do_ping!_PGDialect_common_psycopg.do_ping   s    ,77 *.'!((*	@NN4<<=LLN$-=-D-D.?+	 LLN$-=-D-D.?+ .E$s   A6 62B()r9   rb   ra   r   )!r+   r,   r-   r.   supports_statement_cachesupports_server_side_cursorsdefault_paramstyler9   r   update_copyr	   colspecssqltypesNumericr   Floatr1   r   r6   r   rA   r   rE   r   rJ   r`   r   r   r   r   r   r   r/   r   r   r   r\   r\   d   s    ##' #oNNMNNNM*(	

H 
/ .
&%&r   r\   )$
__future__r   r#   arrayr   PGARRAYbaser   r   r   r	   r
   hstorer   
pg_catalogr   r   r   rn   r   r   r   r   enginer   counterrU   r   r   r1   r6   rA   rE   rJ   rM   r\   r   r   r   <module>r      s    #  #      $  $ " !  !   ,,.h&& :O >V >G 	z 		i 	4); 4V	 Vr   