ó
    øÞ jð  ã                  óÜ   • 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       ÚS/var/www/html/gaurav/venv/lib/python3.13/site-packages/sqlalchemy/testing/schema.pyr   r      sW   € ô  $ BœxÓA™x˜!¯<©<¸×+@‹ˆ�F‰F�1‹IŠ™x€AÐAà‡I�IŒmÔä�<Š<˜Ð$ Ñ$Ð$ùò	 	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      (       d2  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   € Ø—‘Ü—O’OÜ&Ü"ŸI™I×-Ñ-¨s¯x©x¸#©~ÀÇÁÑ/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  € Ü'+¨B¤xÓI¡x !·<±<À×3H“�—F‘F˜1“I’¡x€IÐIä×Ñ×.Ñ.×AÑAÄ&×IÑIÙ#ÓN™t˜¬:°c¼6×;LÑ;L×+M—™tˆÐNá˜Ð$ Ñ$€Ià”&—-‘-ÒØ‰à×Ñˆà‡}�}Ð/°×7Ñ7¸B¿F¹FØ�u÷=ñ =ð �;‰;Ñ 3×#5Ñ#5Ñ#=Ø $ˆCÔð 04ˆ�‰Ð+Ñ,ô ×ÒœfŸo™o¨x×8Ñ8òô �LŠL˜Ð3°WÈÒMØÐùòI Jùò Os   ŽE3ªE3Á7"E8ÂE8c                  ó*   • \ rS rSrSrS rS rS rSrg)Úeq_type_affinityéY   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   € Ø�{‰{×)Ñ)°×1EÑ1EÐ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__„   ó   € Ø�{‰{˜eŸm™m›oÑ-Ð-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`   € Ü
ˆ4ƒy�7×0Ñ0Ó0à�”S˜×6Ñ6¸Ñ:¸AÓ>Ð?Øñä”$�t“*˜r‘/Ó" 1 2Ð&ñ'ð	
ð ˆ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Ñ#Ü�D—N‘N EÕ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   