
    -ji1%                       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  \(       a$  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rSr " S S5      r " S S\5      r " S S\5      rg)    )annotations)Any)cast)
Collection)TYPE_CHECKING)conv)Self   )sqla_compat)Table)	Inspector)ReflectedForeignKeyConstraint)ReflectedIndex)ReflectedUniqueConstraint_ReflectionInfo)columnspk_constraintforeign_keysindexesunique_constraintstable_commentcheck_constraintstable_options)r   r   r   r   r   c                      \ rS rSrSrSS jrSS jr        SS jr      SS jr      SS jr	      SS jr
SS	 jrSrg
)_InspectorConv*   	inspectorc                   [         R                  (       a/  [        R                  [        5      n[        R                  X!5        O.[        R                  [        5      n[        R                  X!5        [        [        U5      $ N)	r   sqla_2object__new___SQLA2InspectorConv__init___LegacyInspectorConvr   r	   )clsr   objs      [/home/james-whalen/.local/lib/python3.13/site-packages/alembic/autogenerate/compare/util.pyr$   _InspectorConv.__new__-   sQ    ..!45C((8..!56C ))#9D#    c                    Xl         g r!   r   )selfr   s     r*   r&   _InspectorConv.__init__7   s    "r,   c                    g r!    )r.   schema
tablenamesall_available_tablenamess       r*   pre_cache_tables_InspectorConv.pre_cache_tables:   s     	r,   c                    [        5       er!   NotImplementedErrorr.   tnamer2   s      r*   get_unique_constraints%_InspectorConv.get_unique_constraintsB        "##r,   c                    [        5       er!   r8   r:   s      r*   get_indexes_InspectorConv.get_indexesG   r>   r,   c                    [        5       er!   r8   r:   s      r*   get_foreign_keys_InspectorConv.get_foreign_keysL   r>   r,   c                    [        5       er!   r8   r.   tables     r*   reflect_table_InspectorConv.reflect_tableQ   s    !##r,   N)r   r   returnr	   )r   r   r2   
str | Noner3   	list[str]r4   Collection[str]rJ   Noner;   strr2   rL   rJ   zlist[ReflectedUniqueConstraint]r;   rQ   r2   rL   rJ   zlist[ReflectedIndex]r;   rQ   r2   rL   rJ   z#list[ReflectedForeignKeyConstraint]rG   r   rJ   rO   )__name__
__module____qualname____firstlineno__	__slots__r$   r&   r5   r<   r@   rC   rH   __static_attributes__r1   r,   r*   r   r   *   s    I#  #2	
 
$$",$	($
$$",$	$
$$",$	,$
$r,   r   c                  l    \ rS rSrS rS r      S
S jr      SS jr      SS jrSS jr	Sr
g	)r'   U   c                    U(       d  U$ U H6  nUS   c  M  [        US   [        5      (       a  M%  [        US   5      US'   M8     U$ Nname)
isinstancer   r.   constsconsts      r*   _apply_reflectinfo_conv,_LegacyInspectorConv._apply_reflectinfo_convW   sN    MEV}(ft2 2 !%U6] 3f	 
 r,   c                    U(       d  U$ U HM  nUR                   c  M  [        UR                   [        5      (       a  M3  [        UR                   5      Ul         MO     U$ r!   )r_   r`   r   ra   s      r*   _apply_constraint_conv+_LegacyInspectorConv._apply_constraint_conva   sE    MEzz%jT.J.J!%**-
  r,   c                R    U R                  U R                  R                  XS95      $ N)r2   )rd   r   r@   r:   s      r*   r@    _LegacyInspectorConv.get_indexesi   s,     ++NN&&u&<
 	
r,   c                R    U R                  U R                  R                  XS95      $ rj   )rd   r   r<   r:   s      r*   r<   +_LegacyInspectorConv.get_unique_constraintsp   s,     ++NN11%1G
 	
r,   c                R    U R                  U R                  R                  XS95      $ rj   )rd   r   rC   r:   s      r*   rC   %_LegacyInspectorConv.get_foreign_keysw   s,     ++NN++E+A
 	
r,   c                    U R                   R                  US S9  U R                  UR                  5        U R                  UR                  5        g )N)include_columns)r   rH   rg   constraintsr   rF   s     r*   rH   "_LegacyInspectorConv.reflect_table~   s?    $$UD$A##E$5$56##EMM2r,   r1   NrR   rP   rS   rT   )rU   rV   rW   rX   rd   rg   r@   r<   rC   rH   rZ   r1   r,   r*   r'   r'   U   sh    

",
	


",
	(


",
	,
3r,   r'   c                      \ rS rSr            SS jr  S           SS jjr      SS jr      SS jr      SS jrS r	        SS jr
      SS	 jrSS
 jrSrg)r%      c                   X@R                   R                  ;   a  g U(       a.  U(       a'  [        U5      S:  a  [        U5      [        U5      -  nOS nUb:  US::  d4  U R                   R                  R	                  UR
                  5      (       d  UnOS n U" XS9nXR                   R                  U'   g ! [         a     [        U R                   R                  U'    g f = f)Nd   g      ?)r2   filter_names)r   
info_cachelendialect_overrides_defaultrU   r9   )	r.   r2   r3   r4   info_keyinspector_methodfractionoptimized_filter_nameselementss	            r*   
_pre_cache_SQLA2InspectorConv._pre_cache   s     ~~000 2s:7L:-E)FFHH 3>>))<< ))  &0"%)"	;'H 3;NN%%h/ # 	F2EDNN%%h/	Fs   B4 4'CCc                   [        5       nX0R                  R                  ;   ai  U R                  R                  U   nU[        L a  U(       a  0 $ [        5       eUR	                  X!4U5      n	XLa  U(       a  U	b  U R                  U	5      $ U	$  U" XS9n
U(       a  U R                  U
5      $ U
$ ! [         a    U(       a  0 s $ e f = frj   )r#   r   ry   r9   getrd   )r.   r;   r2   r}   r~   apply_constraint_convoptionalnot_in_cachecache
individualdatas              r*   _return_from_cache&_SQLA2InspectorConv._return_from_cache   s     x~~000NN--h7E++I
 .//F?LAJ-(Z-C77
CC%%	#E9D !//55K # 				s   B. .CCc           	     R    U R                  UUSU R                  R                  SSS9$ )Nalembic_unique_constraintsTFr   r   )r   r   r<   r:   s      r*   r<   *_SQLA2InspectorConv.get_unique_constraints   s8     &&(NN11"& ' 
 	
r,   c           	     R    U R                  UUSU R                  R                  SSS9$ )Nalembic_indexesTFr   )r   r   r@   r:   s      r*   r@   _SQLA2InspectorConv.get_indexes   s8     &&NN&&"& ' 
 	
r,   c                P    U R                  UUSU R                  R                  SS9$ )Nalembic_foreign_keysTr   )r   r   rC   r:   s      r*   rC   $_SQLA2InspectorConv.get_foreign_keys   s5     &&"NN++"& ' 
 	
r,   c                    U(       d  U$ [        U[        5      (       d  UOU/ H6  nUS   c  M  [        US   [        5      (       a  M%  [        US   5      US'   M8     U$ r^   )r`   dictr   ra   s      r*   rd   +_SQLA2InspectorConv._apply_reflectinfo_conv   sb    M#-fd#;#;V&IEV}(ft2 2 !%U6] 3f	 J
 r,   c                    [          H6  nSU 3n[        U R                  SU 35      nU R                  UUUUU5        M8     g )Nalembic_
get_multi_)
_INSP_KEYSgetattrr   r   )r.   r2   r3   r4   keykeynamemeths          r*   r5   $_SQLA2InspectorConv.pre_cache_tables	  sL     C &G4>>Zu+=>DOO(	 r,   c                    SSK Jn  X!4nU" SS0 0[         Vs0 s H9  nUX@R                  UUSU 3[	        U R
                  SU 35      U[        ;   S90_M;     snD6$ s  snf )Nr   r   unreflectabler   get_r   r1   )sqlalchemy.engine.reflectionr   r   r   r   r   _CONSTRAINT_INSP_KEYS)r.   r;   r2   r   	table_keyr   s         r*   _make_reflection_info)_SQLA2InspectorConv._make_reflection_info  s     	AO	 

 & &C 66"3%($se=/26K/K  7    &
 	
s   A Ac                    U R                  UR                  UR                  5      nU R                  R	                  US SUS9  g )NF)rq   resolve_fks_reflect_info)r   r_   r2   r   rH   )r.   rG   ris      r*   rH   !_SQLA2InspectorConv.reflect_table2  s?    ''

ELLA$$ 	 	% 	
r,   r1   N)r2   rL   r3   rM   r4   rN   r}   rQ   r~   r   rJ   rO   )FT)r;   rQ   r2   rL   r}   rQ   r~   r   r   boolrJ   r   rP   rR   rS   rK   )r;   rQ   r2   rL   rJ   r   rT   )rU   rV   rW   rX   r   r   r<   r@   rC   rd   r5   r   rH   rZ   r1   r,   r*   r%   r%      s3   (;(; (; #2	(;
 (; (; 
(;` ',)) ) 	)
 )  $) 
)V



",

	(





",

	

	
	
",	
	,	
  #2	
 
$

",
	
.
r,   r%   N)
__future__r   typingr   r   r   r   sqlalchemy.sql.elementsr   typing_extensionsr	   utilr   
sqlalchemyr   sqlalchemy.enginer   sqlalchemy.engine.interfacesr   r   r   r   r   r   r   r   r'   r%   r1   r,   r*   <module>r      si    #      ( "  +J;F<	
 ($ ($V-3> -3`u
. u
r,   