
    Ki                        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/r0 rSS jrS rS rS r " S S5      r " S S5      r " S S5      rS rS rg)    )annotationsN   )config)
exclusions   )event)schema)types)mapped_column)OrderedDictTableColumnc                     [        U5       Vs0 s H+  o"R                  S5      (       d  M  X!R                  U5      _M-     nnUR                  [        5        [
        R                  " U 0 UD6$ s  snf )z8A schema.Table wrapper/hook for dialect-specific tweaks.test_)list
startswithpopupdatetable_optionsr	   r   )argskwk_s       [/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/sqlalchemy/testing/schema.pyr   r      sW      $BxAx!<<+@FF1IxAAIIm<<$$$	 	Bs
   A-A-c                 "    [        [        X5      $ )z>An orm.mapped_column wrapper/hook for dialect-specific tweaks.)_schema_column_orm_mapped_columnr   r   s     r   r   r   %   s     ,d77    c                 6    [        [        R                  X5      $ )z9A schema.Column wrapper/hook for dialect-specific tweaks.)r   r	   r   r   s     r   r   r   +   s     &--22r   c                   [        U5       Vs0 s H+  o3R                  S5      (       d  M  X2R                  U5      _M-     nn[        R                  R
                  R                  [        5      (       d3  U Vs/ s H&  n[        U[        R                  5      (       a  M$  UPM(     nnU " U0 UD6nU [        R                  L a  UnOUR                  nUR                  SS5      (       a  UR                  SS5      (       at  UR                  c  UR                  c  SUl        SUR                   S'   ["        R$                  " [        R&                  S5      (       a  S n[(        R*                  " USUSS	9  U$ s  snf s  snf )
Nr   test_needs_autoincrementFprimary_keyToraclec           	         U R                  [        R                  " [        [        R
                  R                  UR                  S-   U R                  -   S-   5      SS95        g )Nr   _seqT)optional)_init_itemsr	   Sequence_truncate_namer   dbdialectname)ctbls     r   add_seq_schema_column.<locals>.add_seqK   sL    OO&"II--sxx#~/F/O "&	r   after_parent_attach)	propagate)r   r   r   r   requirementsforeign_key_ddlenabled_for_config
isinstancer	   
ForeignKeyr   columngetdefaultserver_defaultautoincrementinfor   against_currentr   listen)	factoryr   r   r   	test_optsarg	constructcolr0   s	            r   r   r   1   s7   '+BxIx!<<3HFF1IxII..AA&II#Nt:c6;L;L+MtN$$I&--}}/77BFFu= = ;;3#5#5#= $C 04+, foox88 LL3WMI J Os   E5E58#E:E:c                  *    \ rS rSrSrS rS rS rSrg)eq_type_affinityY   az  Helper to compare types inside of datastructures based on affinity.

E.g.::

    eq_(
        inspect(connection).get_columns("foo"),
        [
            {
                "name": "id",
                "type": testing.eq_type_affinity(sqltypes.INTEGER),
                "nullable": False,
                "default": None,
                "autoincrement": False,
            },
            {
                "name": "data",
                "type": testing.eq_type_affinity(sqltypes.NullType),
                "nullable": True,
                "default": None,
                "autoincrement": False,
            },
        ],
    )

c                :    [         R                  " U5      U l        g N)sqltypesto_instancetargetselfrN   s     r   __init__eq_type_affinity.__init__t   s    **62r   c                F    U R                   R                  UR                  L $ rK   rN   _type_affinityrP   others     r   __eq__eq_type_affinity.__eq__w   s    {{))U-A-AAAr   c                F    U R                   R                  UR                  L$ rK   rT   rV   s     r   __ne__eq_type_affinity.__ne__z   s    {{))1E1EEEr   rN   N	__name__
__module____qualname____firstlineno____doc__rQ   rX   r[   __static_attributes__ r   r   rH   rH   Y   s    43BFr   rH   c                  *    \ rS rSrSrS rS rS rSrg)eq_compile_type~   z,similar to eq_type_affinity but uses compilec                    Xl         g rK   r]   rO   s     r   rQ   eq_compile_type.__init__       r   c                <    U R                   UR                  5       :H  $ rK   rN   compilerV   s     r   rX   eq_compile_type.__eq__       {{emmo--r   c                <    U R                   UR                  5       :g  $ rK   rm   rV   s     r   r[   eq_compile_type.__ne__   rp   r   r]   Nr^   re   r   r   rg   rg   ~   s    6..r   rg   c                  *    \ rS rSrSrS rS rS rSrg)eq_clause_element   z3Helper to compare SQL structures based on compare()c                    Xl         g rK   r]   rO   s     r   rQ   eq_clause_element.__init__   rk   r   c                8    U R                   R                  U5      $ rK   rN   comparerV   s     r   rX   eq_clause_element.__eq__   s    {{""5))r   c                B    U R                   R                  U5      (       + $ rK   ry   rV   s     r   r[   eq_clause_element.__ne__   s    ;;&&u---r   r]   Nr^   re   r   r   rt   rt      s    =*.r   rt   c                    [        U5      U R                  :  a:  US[        U R                  S-
  S5       S-   [        [	        U5      S-  5      SS  -   $ U$ )Nr      r   @   r   )lenmax_identifier_lengthmaxhexhash)r,   r-   s     r   r*   r*      s`    
4y7000S66:A>?$t*r/"12&'	
 r   c                  ^ [        5       nSU4S jjn0 m[        U4S j5       n[        U [        4XUS.5      n [        R
                  " S5      R                  R                  SS5      nWb  XTl
        U$ ! [        [        4 a     Nf = f)Nc                   > Xl         X l        X R                  U'   U TU'   [        U R                  X5        U(       a%  X R                  U'   [        U R                  X05        g g rK   )r-   value__members__setattr	__class__)rP   r-   r   aliasvalue_to_members       r   rQ   pep435_enum.<locals>.__init__   sW    	
!%!%+&*U#DNNE0 r   c                   > TU   $ rK   re   )clsr   r   s     r   r:   pep435_enum.<locals>.get   s    u%%r   )r   rQ   r:   r   r_   __main__rK   )r   classmethodtypeobjectsys	_getframe	f_globalsr:   AttributeError
ValueErrorr`   )r-   r   rQ   r:   someenummoduler   s         @r   pep435_enumr      s    -K1 O& & 		##FHq!++//
JG $O J' s   0A6 6B	B	)returnzschema.Table)
__future__r   r    r   r   r   r	   r
   rL   ormr   r   utilr   __all__r   r   r   r   rH   rg   rt   r*   r   re   r   r   <module>r      sq    # 
       5 H
%83%P"F "FJ
. 
.
. 
.#r   