
    EhT                     >    S SK Jr  S SKJr  SSKJr   " S S\5      rg)    )Requirements)util   )
exclusionsc                      \ rS rSr\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r	\S 5       r
\S 5       r\S	 5       r\S
 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r \S 5       r!\S 5       r"\S  5       r#S!r$g")#SuiteRequirements   c                 ,    [         R                  " 5       $ )zPTarget database must support external schemas, and have one
named 'test_schema'.r   openselfs    _/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/alembic/testing/requirements.pyschemasSuiteRequirements.schemas       
       c                 ,    [         R                  " 5       $ )z;target database should support 'AUTOCOMMIT' isolation levelr   closedr   s    r   autocommit_isolation&SuiteRequirements.autocommit_isolation   s       ""r   c                 ,    [         R                  " 5       $ )zneeded for sqlalchemy compatr   r   s    r   materialized_views$SuiteRequirements.materialized_views   s       ""r   c                 4    S n[         R                  " U5      $ )Nc                     SSK Jn  U" U R                  5      n UR                  S5        g! [         a     g[
         a     g[         a     gf = f)Nr   )inspectxTF)
sqlalchemyr   dbget_unique_constraintsNotImplementedError	TypeError	Exception)configr   insps      r    doesnt_have_check_uq_constraintsXSuiteRequirements.unique_constraint_reflection.<locals>.doesnt_have_check_uq_constraints   sX    *699%D++C0  '   s   , 
A	A	AAr   skip_if)r   r(   s     r   unique_constraint_reflection.SuiteRequirements.unique_constraint_reflection   s    	 !!"BCCr   c                 4    [         R                  " S /S5      $ )z'Target database must support SEQUENCEs.c                 B    U R                   R                  R                  $ N)r!   dialectsupports_sequencesr&   s    r   <lambda>-SuiteRequirements.sequences.<locals>.<lambda>1   s    FII--@@r   zno sequence supportr   only_ifr   s    r   	sequencesSuiteRequirements.sequences,   s      !!@A!
 	
r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   foreign_key_match#SuiteRequirements.foreign_key_match5         r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   !foreign_key_constraint_reflection3SuiteRequirements.foreign_key_constraint_reflection9   r=   r   c                 ,    [         R                  " 5       $ )zETarget database must support check constraints
and also enforce them.r   r   s    r   check_constraints_w_enforcement1SuiteRequirements.check_constraints_w_enforcement=   r   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   reflects_pk_names#SuiteRequirements.reflects_pk_namesD         ""r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   reflects_fk_options%SuiteRequirements.reflects_fk_optionsH   rG   r   c                 2    [         R                  " S S5      $ )Nc                 "    [         R                  $ r0   r   sqla_2r3   s    r   r4   1SuiteRequirements.sqlalchemy_1x.<locals>.<lambda>O   s    4;;r   zSQLAlchemy 1.x testr*   r   s    r   sqlalchemy_1xSuiteRequirements.sqlalchemy_1xL   s    !!&!
 	
r   c                 2    [         R                  " S S5      $ )Nc                 ,    [         R                  (       + $ r0   rM   r3   s    r   r4   0SuiteRequirements.sqlalchemy_2.<locals>.<lambda>V   s
    t{{?r   zSQLAlchemy 2.x testr*   r   s    r   sqlalchemy_2SuiteRequirements.sqlalchemy_2S   s    !!*!
 	
r   c                 4    S n[         R                  " U5      $ )Nc                 .     SS K ng! [         a     gf = f)Nr   TF)greenletImportError)r&   rY   s     r   go%SuiteRequirements.asyncio.<locals>.go\   s#       s    
r6   )r   r[   s     r   asyncioSuiteRequirements.asyncioZ   s    	 !!"%%r   c                 0    [         R                  " S 5      $ )Nc                 B    U R                   R                  R                  $ r0   )r!   r1   supports_commentsr3   s    r   r4   ,SuiteRequirements.comments.<locals>.<lambda>i   s    699,,>>r   r6   r   s    r   commentsSuiteRequirements.commentsf   s    !!>
 	
r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   alter_columnSuiteRequirements.alter_columnl   r=   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   computed_columns"SuiteRequirements.computed_columnsp   rG   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   autoincrement_on_composite_pk/SuiteRequirements.autoincrement_on_composite_pkt   rG   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   fk_ondelete_is_reflected*SuiteRequirements.fk_ondelete_is_reflectedx   rG   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   fk_onupdate_is_reflected*SuiteRequirements.fk_onupdate_is_reflected|   rG   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   fk_onupdateSuiteRequirements.fk_onupdate   r=   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   fk_ondelete_restrict&SuiteRequirements.fk_ondelete_restrict   r=   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   fk_onupdate_restrict&SuiteRequirements.fk_onupdate_restrict   r=   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   fk_ondelete_noaction&SuiteRequirements.fk_ondelete_noaction   r=   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   fk_initiallySuiteRequirements.fk_initially   rG   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   fk_deferrableSuiteRequirements.fk_deferrable   rG   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   fk_deferrable_is_reflected,SuiteRequirements.fk_deferrable_is_reflected   rG   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   fk_namesSuiteRequirements.fk_names   r=   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   integer_subtype_comparisons-SuiteRequirements.integer_subtype_comparisons   r=   r   c                 0    [         R                  " S 5      $ )Nc                 B    U R                   R                  R                  $ r0   )r!   r1   requires_name_normalizer3   s    r   r4   5SuiteRequirements.no_name_normalize.<locals>.<lambda>   s    699,,DDr   r*   r   s    r   no_name_normalize#SuiteRequirements.no_name_normalize   s    !!D
 	
r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   identity_columns"SuiteRequirements.identity_columns   rG   r   c                 ,    [         R                  " 5       $ r0   r   r   s    r   identity_columns_alter(SuiteRequirements.identity_columns_alter   rG   r    N)%__name__
__module____qualname____firstlineno__propertyr   r   r   r,   r8   r;   r?   rB   rE   rI   rP   rU   r]   rc   rf   ri   rl   ro   rr   ru   rx   r{   r~   r   r   r   r   r   r   r   r   __static_attributes__r   r   r   r   r      sn   ! ! # #
 # # D D" 
 
 ! ! ! ! ! ! # # # # 
 
 
 
 	& 	& 
 

 ! ! # # # # # # # # ! ! ! ! ! ! ! ! # # # # # # ! ! ! ! 
 

 # # # #r   r   N)sqlalchemy.testing.requirementsr   alembicr   testingr   r   r   r   r   <module>r      s    8   i# i#r   