Ë
    ýÿæiÖ  ã                   ó>   — d dl mZ d dlmZ ddlmZ  G d„ de«      Zy)é    )ÚRequirements)Úutilé   )Ú
exclusionsc                   ó  — e Zd Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Z	ed„ «       Z
ed„ «       Zed	„ «       Zed
„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Z ed„ «       Z!ed„ «       Z"ed „ «       Z#ed!„ «       Z$y")#ÚSuiteRequirementsc                 ó*   — t        j                  «       S )zXTarget database must support external schemas, and have one
        named 'test_schema'.©r   Úopen©Úselfs    úq/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/alembic/testing/requirements.pyÚschemaszSuiteRequirements.schemas   ó   € ô
 �‰Ó Ð ó    c                 ó*   — t        j                  «       S )z;target database should support 'AUTOCOMMIT' isolation level©r   Úclosedr   s    r   Úautocommit_isolationz&SuiteRequirements.autocommit_isolation   s   € ô × Ñ Ó"Ð"r   c                 ó*   — t        j                  «       S )zneeded for sqlalchemy compatr   r   s    r   Úmaterialized_viewsz$SuiteRequirements.materialized_views   s   € ô × Ñ Ó"Ð"r   c                 ó2   — d„ }t        j                  |«      S )Nc                 óž   — ddl m}  || j                  «      }	 |j                  d«       y# t        $ r Y yt
        $ r Y yt        $ r Y yw xY w)Nr   )ÚinspectÚxTF)Ú
sqlalchemyr   ÚdbÚget_unique_constraintsÚNotImplementedErrorÚ	TypeErrorÚ	Exception)Úconfigr   Úinsps      r   Ú doesnt_have_check_uq_constraintszXSuiteRequirements.unique_constraint_reflection.<locals>.doesnt_have_check_uq_constraints   sX   € Ý*á˜6Ÿ9™9Ó%ˆDðØ×+Ñ+¨CÔ0ð øô 'ò ÙÜò ÙÜò ØØðús   š, ¬	A·AÁAÁA©r   Úskip_if)r   r$   s     r   Úunique_constraint_reflectionz.SuiteRequirements.unique_constraint_reflection   s   € ò	ô ×!Ñ!Ð"BÓCÐCr   c                 ó2   — t        j                  d„ gd«      S )z'Target database must support SEQUENCEs.c                 óB   — | j                   j                  j                  S ©N)r   ÚdialectÚsupports_sequences©r"   s    r   Ú<lambda>z-SuiteRequirements.sequences.<locals>.<lambda>1   s   € ˜FŸI™I×-Ñ-×@Ò@r   zno sequence support©r   Úonly_ifr   s    r   Ú	sequenceszSuiteRequirements.sequences,   s    € ô ×!Ñ!Ù@ÐAØ!ó
ð 	
r   c                 ó*   — t        j                  «       S r*   r
   r   s    r   Úforeign_key_matchz#SuiteRequirements.foreign_key_match5   ó   € ä�‰Ó Ð r   c                 ó*   — t        j                  «       S r*   r
   r   s    r   Ú!foreign_key_constraint_reflectionz3SuiteRequirements.foreign_key_constraint_reflection9   r4   r   c                 ó*   — t        j                  «       S )zMTarget database must support check constraints
        and also enforce them.r
   r   s    r   Úcheck_constraints_w_enforcementz1SuiteRequirements.check_constraints_w_enforcement=   r   r   c                 ó*   — t        j                  «       S r*   r   r   s    r   Úreflects_pk_namesz#SuiteRequirements.reflects_pk_namesD   ó   € ä× Ñ Ó"Ð"r   c                 ó*   — t        j                  «       S r*   r   r   s    r   Úreflects_fk_optionsz%SuiteRequirements.reflects_fk_optionsH   r;   r   c                 ó0   — t        j                  d„ d«      S )Nc                 ó"   — t         j                  S r*   ©r   Úsqla_2r-   s    r   r.   z1SuiteRequirements.sqlalchemy_1x.<locals>.<lambda>O   s   € œ4Ÿ;š;r   zSQLAlchemy 1.x testr%   r   s    r   Úsqlalchemy_1xzSuiteRequirements.sqlalchemy_1xL   s   € ä×!Ñ!Ù&Ø!ó
ð 	
r   c                 ó0   — t        j                  d„ d«      S )Nc                 ó$   — t         j                   S r*   r@   r-   s    r   r.   z0SuiteRequirements.sqlalchemy_2.<locals>.<lambda>V   s
   € œtŸ{™{™?r   zSQLAlchemy 2.x testr%   r   s    r   Úsqlalchemy_2zSuiteRequirements.sqlalchemy_2S   s   € ä×!Ñ!Ù*Ø!ó
ð 	
r   c                 ó2   — d„ }t        j                  |«      S )Nc                 ó,   — 	 dd l }y# t        $ r Y yw xY w)Nr   TF)ÚgreenletÚImportError)r"   rH   s     r   Úgoz%SuiteRequirements.asyncio.<locals>.go\   s#   € ðÛð øô ò Ùðús   ‚ ‡	’r/   ©r   rJ   s     r   ÚasynciozSuiteRequirements.asyncioZ   s   € ò	ô ×!Ñ! "Ó%Ð%r   c                 ó.   — t        j                  d„ «      S )Nc                 óB   — | j                   j                  j                  S r*   )r   r+   Úsupports_commentsr-   s    r   r.   z,SuiteRequirements.comments.<locals>.<lambda>i   s   € ˜6Ÿ9™9×,Ñ,×>Ò>r   r/   r   s    r   ÚcommentszSuiteRequirements.commentsf   s   € ä×!Ñ!Ù>ó
ð 	
r   c                 ó*   — t        j                  «       S r*   r
   r   s    r   Úalter_columnzSuiteRequirements.alter_columnl   r4   r   c                 ó*   — t        j                  «       S r*   r   r   s    r   Úcomputed_columnsz"SuiteRequirements.computed_columnsp   r;   r   c                 ó^   — d„ }t        j                  d«      t        j                  |«      z   S )Nc                 óB   — t        | j                  j                  d«      S )NÚ"supports_virtual_generated_columns)Úhasattrr   r+   r-   s    r   rJ   z@SuiteRequirements.computed_columns_warn_no_persisted.<locals>.gov   s   € ÜØ—	‘	×!Ñ!Ð#Góð r   zpostgresql<18r/   rK   s     r   Ú"computed_columns_warn_no_persistedz4SuiteRequirements.computed_columns_warn_no_persistedt   s*   € ò	ô
 ×!Ñ! /Ó2´Z×5GÑ5GÈÓ5KÑKÐKr   c                 ó*   — t        j                  «       S r*   r   r   s    r   Úautoincrement_on_composite_pkz/SuiteRequirements.autoincrement_on_composite_pk}   r;   r   c                 ó*   — t        j                  «       S r*   r   r   s    r   Úfk_ondelete_is_reflectedz*SuiteRequirements.fk_ondelete_is_reflected�   r;   r   c                 ó*   — t        j                  «       S r*   r   r   s    r   Úfk_onupdate_is_reflectedz*SuiteRequirements.fk_onupdate_is_reflected…   r;   r   c                 ó*   — t        j                  «       S r*   r
   r   s    r   Úfk_onupdatezSuiteRequirements.fk_onupdate‰   r4   r   c                 ó*   — t        j                  «       S r*   r
   r   s    r   Úfk_ondelete_restrictz&SuiteRequirements.fk_ondelete_restrict�   r4   r   c                 ó*   — t        j                  «       S r*   r
   r   s    r   Úfk_onupdate_restrictz&SuiteRequirements.fk_onupdate_restrict‘   r4   r   c                 ó*   — t        j                  «       S r*   r
   r   s    r   Úfk_ondelete_noactionz&SuiteRequirements.fk_ondelete_noaction•   r4   r   c                 ó*   — t        j                  «       S r*   r   r   s    r   Úfk_initiallyzSuiteRequirements.fk_initially™   r;   r   c                 ó*   — t        j                  «       S r*   r   r   s    r   Úfk_deferrablezSuiteRequirements.fk_deferrable�   r;   r   c                 ó*   — t        j                  «       S r*   r   r   s    r   Úfk_deferrable_is_reflectedz,SuiteRequirements.fk_deferrable_is_reflected¡   r;   r   c                 ó   — | j                   S r*   )Úforeign_key_name_reflectionr   s    r   Úfk_nameszSuiteRequirements.fk_names¥   s   € à×/Ñ/Ð/r   c                 ó*   — t        j                  «       S r*   r
   r   s    r   ro   z-SuiteRequirements.foreign_key_name_reflection©   r4   r   c                 ó*   — t        j                  «       S r*   r
   r   s    r   Úinteger_subtype_comparisonsz-SuiteRequirements.integer_subtype_comparisons­   r4   r   c                 ó.   — t        j                  d„ «      S )Nc                 óB   — | j                   j                  j                  S r*   )r   r+   Úrequires_name_normalizer-   s    r   r.   z5SuiteRequirements.no_name_normalize.<locals>.<lambda>´   s   € ˜6Ÿ9™9×,Ñ,×DÒDr   r%   r   s    r   Úno_name_normalizez#SuiteRequirements.no_name_normalize±   s   € ä×!Ñ!ÙDó
ð 	
r   c                 ó*   — t        j                  «       S r*   r   r   s    r   Úidentity_columnsz"SuiteRequirements.identity_columns·   r;   r   c                 ó*   — t        j                  «       S r*   r   r   s    r   Úidentity_columns_alterz(SuiteRequirements.identity_columns_alter»   r;   r   N)%Ú__name__Ú
__module__Ú__qualname__Úpropertyr   r   r   r'   r1   r3   r6   r8   r:   r=   rB   rE   rL   rP   rR   rT   rY   r[   r]   r_   ra   rc   re   rg   ri   rk   rm   rp   ro   rs   rw   ry   r{   © r   r   r   r      s˜  „ Øñ!ó ð!ð ñ#ó ð#ð
 ñ#ó ð#ð ñDó ðDð" ñ
ó ð
ð ñ!ó ð!ð ñ!ó ð!ð ñ!ó ð!ð ñ#ó ð#ð ñ#ó ð#ð ñ
ó ð
ð ñ
ó ð
ð ñ	&ó ð	&ð ñ
ó ð
ð
 ñ!ó ð!ð ñ#ó ð#ð ñLó ðLð ñ#ó ð#ð ñ#ó ð#ð ñ#ó ð#ð ñ!ó ð!ð ñ!ó ð!ð ñ!ó ð!ð ñ!ó ð!ð ñ#ó ð#ð ñ#ó ð#ð ñ#ó ð#ð ñ0ó ð0ð ñ!ó ð!ð ñ!ó ð!ð ñ
ó ð
ð
 ñ#ó ð#ð ñ#ó ñ#r   r   N)Úsqlalchemy.testing.requirementsr   Úalembicr   Útestingr   r   r€   r   r   Ú<module>r„      s   ðÝ 8å Ý  ôv#˜õ v#r   