ó
    úÞ jÔg  ã                  ó  • 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
  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  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   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&  \(       a0  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&K0J1r1  SS'K2J3r3   " S( S)5      r4 " S* S+5      r5g,)-é    )Úannotations)ÚAny)ÚTYPE_CHECKING)ÚCheckConstraint)ÚColumn)ÚForeignKeyConstraint)ÚIndex)ÚMetaData)ÚPrimaryKeyConstraint©Úschema)Úselect)ÚTable)Útypes)ÚSchemaEventTarget)ÚOrderedDict)Útopologicalé   )Úexc)Ú_columns_for_constraint)Ú_copy)Ú_copy_expression)Ú_ensure_scope_for_ddl)Ú_fk_is_self_referential)Ú_fk_target_tokens)Ú_get_table_key)Ú_idx_table_bound_expressions)Ú_is_type_bound)Ú_remove_column_from_collection)Ú_resolve_for_variant)Úconstraint_name_defined)Úconstraint_name_string)ÚLiteral)ÚDialect)ÚColumnClause)Úquoted_name)Ú
Constraint)Ú
TypeEngine)Ú_ServerDefaultType)ÚDefaultImplc                  óÀ   • \ rS rSrS r\SS j5       r\SS j5       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SS jrSS jrS rS rS rS rS rSrg)ÚBatchOperationsImplé3   c           	     óÆ  • Xl         X l        X0l        US;  a  [        S5      eX@l        XPl        X`l        [        U5      U l        X€l	        [        U	5      U l
        U R                  R                  S[        U R                  R                  SS5      5      5        U R                  S   R                  SUR                  R                   45        X l        X°l        / U l        g )N)ÚautoÚalwaysÚneverz4recreate may be one of 'auto', 'always', or 'never'.Ú	listeners© Úcolumn_reflect)Ú
operationsÚ
table_namer   Ú
ValueErrorÚrecreateÚ	copy_fromÚ
table_argsÚdictÚtable_kwargsÚreflect_argsÚreflect_kwargsÚ
setdefaultÚlistÚgetÚappendÚimplÚautogen_column_reflectÚnaming_conventionÚpartial_reorderingÚbatch)Úselfr5   r6   r   r8   r9   r:   r<   r=   r>   rE   rF   s               ÚR/var/www/html/gaurav/venv/lib/python3.13/site-packages/alembic/operations/batch.pyÚ__init__ÚBatchOperationsImpl.__init__4   sÐ   € ð %ŒØ$ŒØŒØÐ6Ó6ÜØFóð ð !ŒØ"ŒØ$ŒÜ  Ó.ˆÔØ(ÔÜ" >Ó2ˆÔØ×Ñ×&Ñ&Øœ˜d×1Ñ1×5Ñ5°kÀ2ÓFÓGô	
ð 	×Ñ˜KÑ(×/Ñ/Ø˜zŸ™×EÑEÐFô	
ð "3ÔØ"4ÔØˆ�
ó    c                óB   • U R                   R                  R                  $ ©N)r5   rC   Údialect©rH   s    rI   rO   ÚBatchOperationsImpl.dialectY   s   € à�‰×#Ñ#×+Ñ+Ð+rL   c                ó.   • U R                   R                  $ rN   )r5   rC   rP   s    rI   rC   ÚBatchOperationsImpl.impl]   s   € à�‰×#Ñ#Ð#rL   c                ó�   • U R                   S:X  a%  U R                  R                  R                  U 5      $ U R                   S:X  a  gg)Nr/   r0   TF)r8   r5   rC   Úrequires_recreate_in_batchrP   s    rI   Ú_should_recreateÚ$BatchOperationsImpl._should_recreatea   s;   € Ø�=‰=˜FÓ"Ø—?‘?×'Ñ'×BÑBÀ4ÓHÐHØ�]‰]˜hÓ&ØàrL   c           
     ó@  • U R                  5       n[        U R                  R                  5         U(       d@  U R                   H.  u  p#n[        U R                  R                  U5      nU" U0 UD6  M0     GOŽU R                  (       a  [        U R                  S9nO
[        5       nU R                  b  U R                  nSnOÉU R                  R                  R                  (       aO  [        R                  " SU R                  R                  R                  R                   SU R                    S35      e[#        U R                   U/U R$                  Q7U R&                  U R                  R)                  5       S.U R*                  D6nSn[-        U R                  UU R.                  U R0                  UU R2                  S9n	U R                   H  u  p#n[        X’5      nU" U0 UD6  M     U	R5                  U R                  5        S S S 5        g ! , (       d  f       g = f)	N)rE   FzEThis operation cannot proceed in --sql mode; batch mode with dialect zF requires a live database connection with which to reflect the table "zØ". To generate a batch SQL migration script using table "move and copy", a complete Table object should be passed to the "copy_from" argument of the batch_alter_table() method so that table reflection can be skipped.)r   Úautoload_withT)rF   )rV   r   rC   Ú
connectionrG   Úgetattrr5   rE   r
   r9   Úmigration_contextÚas_sqlr   ÚCommandErrorrO   Únamer6   r   r=   r   Úget_bindr>   ÚApplyBatchImplr:   r<   rF   Ú_create)
rH   Úshould_recreateÚopnameÚargÚkwÚfnÚm1Úexisting_tableÚ	reflectedÚ
batch_impls
             rI   ÚflushÚBatchOperationsImpl.flushi   sÉ  € Ø×/Ñ/Ó1ˆä" 4§9¡9×#7Ñ#7Õ8Þ"Ø'+§z¤z‘O�F Ü  §¡×!5Ñ!5°vÓ>�BÙ˜�N˜r”Nó (2ð ×)×)Ü!°D×4JÑ4JÑK‘Bä!›�Bà—>‘>Ñ-Ø%)§^¡^�NØ %‘Ià—‘×8Ñ8×?×?Ü!×.Ò.ð7à#Ÿ™×@Ñ@×HÑH×MÑMÐNð O5à59·_±_Ð4Eð F9ð	
9óð ô &+ØŸ™Øð&ð
 ×*Ñ*ñ&ð  $Ÿ{™{Ø&*§o¡o×&>Ñ&>Ó&@ñ	&ð ×-Ñ-ñ&�Nð !%�Iä+Ø—I‘IØ"Ø—O‘OØ×%Ñ%ØØ'+×'>Ñ'>ñ�
ð (,§z¤z‘O�F Ü  Ó4�BÙ˜�N˜r”Nñ (2ð ×"Ñ" 4§9¡9Ô-÷i 9×8Ö8ús   °GHÈ
Hc                ó>   • U R                   R                  SX45        g )NÚalter_column©rG   rB   ©rH   re   rf   s      rI   ro   Ú BatchOperationsImpl.alter_column¢   ó   € Ø�
‰
×Ñ˜>¨3Ð3Õ4rL   c                ó¬   • SU;   d  SU;   a+  U R                  5       (       d  [        R                  " S5      eU R                  R	                  SX45        g )NÚinsert_beforeÚinsert_afterz^Can't specify insert_before or insert_after when using ALTER; please specify recreate='always'Ú
add_column)rV   r   r^   rG   rB   rq   s      rI   rw   ÚBatchOperationsImpl.add_column¥   sQ   € à˜rÓ! ^°rÓ%9Ø×'Ñ'×)Ñ)Ü×"Ò"ð:óð ð 	�
‰
×Ñ˜<¨Ð1Õ2rL   c                ó>   • U R                   R                  SX45        g )NÚdrop_columnrp   rq   s      rI   rz   ÚBatchOperationsImpl.drop_column¯   s   € Ø�
‰
×Ñ˜=¨#Ð2Õ3rL   c                óB   • U R                   R                  SU40 45        g )NÚadd_constraintrp   ©rH   Úconsts     rI   r}   Ú"BatchOperationsImpl.add_constraint²   s   € Ø�
‰
×ÑÐ+¨e¨X°rÐ:Õ;rL   c                óB   • U R                   R                  SU40 45        g )NÚdrop_constraintrp   r~   s     rI   r‚   Ú#BatchOperationsImpl.drop_constraintµ   s   € Ø�
‰
×ÑÐ,¨u¨h¸Ð;Õ<rL   c                ó>   • U R                   R                  SX45        g )NÚrename_tablerp   rq   s      rI   r…   Ú BatchOperationsImpl.rename_table¸   rs   rL   c                óB   • U R                   R                  SU4U45        g )NÚcreate_indexrp   ©rH   Úidxrf   s      rI   rˆ   Ú BatchOperationsImpl.create_index»   s   € Ø�
‰
×Ñ˜>¨C¨6°2Ð6Õ7rL   c                óB   • U R                   R                  SU4U45        g )NÚ
drop_indexrp   r‰   s      rI   r�   ÚBatchOperationsImpl.drop_index¾   s   € Ø�
‰
×Ñ˜<¨#¨°Ð4Õ5rL   c                óB   • U R                   R                  SU40 45        g )NÚcreate_table_commentrp   ©rH   Útables     rI   r�   Ú(BatchOperationsImpl.create_table_commentÁ   s   € Ø�
‰
×ÑÐ1°E°8¸RÐ@ÕArL   c                óB   • U R                   R                  SU40 45        g )NÚdrop_table_commentrp   r‘   s     rI   r•   Ú&BatchOperationsImpl.drop_table_commentÄ   s   € Ø�
‰
×ÑÐ/°%°¸2Ð>Õ?rL   c                ó   • [        S5      e)Nz Can't create table in batch mode©ÚNotImplementedErrorr‘   s     rI   Úcreate_tableÚ BatchOperationsImpl.create_tableÇ   s   € Ü!Ð"DÓEÐErL   c                ó   • [        S5      e)NzCan't drop table in batch moder˜   r‘   s     rI   Ú
drop_tableÚBatchOperationsImpl.drop_tableÊ   s   € Ü!Ð"BÓCÐCrL   c                óB   • U R                   R                  SU40 45        g )NÚcreate_column_commentrp   ©rH   Úcolumns     rI   r    Ú)BatchOperationsImpl.create_column_commentÍ   s   € Ø�
‰
×ÑÐ2°V°I¸rÐBÕCrL   )rG   r9   rE   r5   rF   r8   r=   r>   r   r:   r<   r6   N)Úreturnr$   )r¤   r*   )r¤   Úbool©r¤   ÚNone©r   r'   r¤   r§   )rŠ   r	   rf   r   r¤   r§   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rJ   ÚpropertyrO   rC   rV   rl   ro   rw   rz   r}   r‚   r…   rˆ   r�   r�   r•   rš   r�   r    Ú__static_attributes__r3   rL   rI   r,   r,   3   s�   † ò#ðJ ó,ó ð,ð ó$ó ð$ôô7.ôr5ô3ô4ô<ô=ò5ô8ô6òBò@òFòDõDrL   r,   c                  ój  • \ rS rSr S             SS jjr\SS j5       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 S jjr        S!S jr  S"         S#S jjr      S$S j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Srg
)'ra   éÑ   c                óR  • Xl         X l        X0l        X@l        U R	                  UR
                  5      U l        S U l        X`l        SU l	        [        S U R                  R                   5       5      U l        [        U R                  5      U l        XPl        U R!                  5         g )Nr3   c              3  ó>   #   • U H  oR                   S U04v •  M     g7f©ÚexprN)r_   )Ú.0Úcs     rI   Ú	<genexpr>Ú*ApplyBatchImpl.__init__.<locals>.<genexpr>ç   s   é € ð ,
Ù+7 a�V‰V�f˜a�[Õ!ª<ùs   ‚)rC   r’   r:   r<   Ú_calc_temp_namer_   Útemp_table_nameÚ	new_tablerF   Úadd_col_orderingr   r¶   Úcolumn_transfersr@   Úexisting_orderingrj   Ú_grab_table_elements)rH   rC   r’   r:   r<   rj   rF   s          rI   rJ   ÚApplyBatchImpl.__init__Ò   s”   € ð Œ	ØŒ
Ø$ŒØ(ÔØ#×3Ñ3°E·J±JÓ?ˆÔØ'+ˆŒà"4Ôð ð 	Ôô !,ñ ,
Ø+/¯:©:¯<ª<ó,
ó !
ˆÔô "& d×&;Ñ&;Ó!<ˆÔà"ŒØ×!Ñ!Õ#rL   c                ó   • SU-  SS $ )Nz_alembic_tmp_%sr   é2   r3   )ÚclsÚ	tablenames     rI   r¹   ÚApplyBatchImpl._calc_temp_nameï   s   € à! IÑ-¨q°Ð4Ð4rL   c                óò  • U R                   R                  n[        5       U l        U R                   R                   Hl  n[        X!S9nS=Ul        Ul        [        UR                  [        5      (       a  UR                  UR                  Ld   eX0R                  UR                  '   Mn     0 U l        / U l        0 U l        0 U l        0 U l        U R                   R"                   H�  n[%        U5      (       a  M  U R&                  (       a(  [        U[(        5      (       a  UR                  (       d  MN  [+        UR                  5      (       a  X@R                  UR                  '   M‚  U R                  R-                  U5        MŸ     U R&                  (       d]  U R                   R                   HC  nUR"                   H0  nUR                  (       d  M  XT4U R                  UR                  '   M2     ME     U R                   R                   H  nX`R                  UR                  '   M     U R                   R.                   H5  nU R0                  R3                  XpR                   R.                  U   5        M7     g )Nr   F)r’   r   r   Úcolumnsr¶   r   ÚuniqueÚindexÚ
isinstanceÚtyper   r_   Únamed_constraintsÚunnamed_constraintsÚcol_named_constraintsÚindexesÚnew_indexesÚconstraintsr   rj   r   r"   rB   Úkwargsr<   r?   )rH   r   r¶   Úc_copyr   ÚcolrŠ   Úks           rI   r¿   Ú#ApplyBatchImpl._grab_table_elementsó   sÅ  € Ø—‘×"Ñ"ˆÜ/:«}ˆŒØ—‘—”ˆAÜ˜1Ñ,ˆFØ+0Ð0ˆFŒM˜FœLô ˜!Ÿ&™&Ô"3×4Ñ4Ø—{‘{¨!¯&©&Ò0Ð0Ð0Ø#)�L‰L˜Ÿ™Ó ñ ð 9;ˆÔØ#%ˆÔ Ø%'ˆÔ"Ø)+ˆŒØ-/ˆÔà—Z‘Z×+Ô+ˆEÜ˜e×$Ñ$Ùà——Ü˜u¤o×6Ñ6ØŸ
Ÿ
ñ
 Ü'¨¯
©
×3Ñ3Ø5:×&Ñ& u§z¡zÓ2à×(Ñ(×/Ñ/°Ö6ñ ,ð" �~�~Ø—z‘z—|”|�Ø Ÿ_œ_�EØ—z—z‘zØBEÀ˜×2Ñ2°5·:±:Ó>ó -ñ $ð
 —:‘:×%Ô%ˆCØ%(�L‰L˜Ÿ™Ó"ñ &ð —‘×"Ô"ˆAØ×Ñ×(Ñ(¨¯J©J×,=Ñ,=¸aÑ,@ÖAò #rL   c                ó’  ^ • [        5       n[        T R                  5      nT R                  (       aH  T R                   H7  n[	        U5       H%  u  pEUS:”  d  M  UR                  X4S-
     U45        M'     M9     O>[	        T R                  5       H%  u  pEUS:”  d  M  UR                  X$S-
     U45        M'     UR                  T R                  5        U Vs/ sH  ofS   US   :w  d  M  UPM     nn[        [        R                  " XrSS95      n[        U 4S jU 5       5      T l        [        U 4S jU 5       5      T l        g s  snf )Nr   é   T)Údeterministic_orderc              3  óB   >#   • U H  oTR                   U   4v •  M     g 7frN   )rÇ   ©rµ   rÕ   rH   s     €rI   r·   ÚMApplyBatchImpl._adjust_self_columns_for_partial_reordering.<locals>.<genexpr>:  s   øé € Ð"IÁ¸A t§|¡|°A¡Õ#7Âùó   ƒc              3  óB   >#   • U H  oTR                   U   4v •  M     g 7frN   )r½   rÛ   s     €rI   r·   rÜ   ;  s"   øé € ð ,
Ù3:¨a�×%Ñ% aÑ(Õ)²7ùrÝ   )Úsetr@   rÇ   rF   Ú	enumerateÚaddr¾   Úupdater¼   r   Úsortr   r½   )	rH   ÚpairsÚ
col_by_idxÚtuple_rÉ   ÚelemÚpÚ
pairs_listÚsorted_s	   `        rI   Ú+_adjust_self_columns_for_partial_reorderingÚ:ApplyBatchImpl._adjust_self_columns_for_partial_reordering!  s  ø€ Ü“ˆä˜$Ÿ,™,Ó'ˆ
à×"×"Ø×1Ô1�Ü#,¨VÖ#4‘K�EØ˜q•yØŸ	™	 6°!©)Ñ#4°dÐ";Ö<ó $5ò 2ô
  )¨×)?Ñ)?Ö@‘�Ø˜1•9Ø—I‘I˜z°!©)Ñ4°dÐ;Ö<ñ  Að 	�‰�T×*Ñ*Ô+ñ
 "'Ó7¡˜A¨A©$°!°A±$©,—a¡ˆ
Ð7äÜ×Ò˜ZÈÑNó
ˆô #Ô"IÁÓ"IÓIˆŒÜ +ô ,
Ù3:ó,
ó !
ˆÕùò 8s   ÃEÃ)Ec                ó¤  • U R                   b   S5       e[        5       nU R                  R                  nU R                  (       d  U R
                  (       a  U R                  5         [        U R                  U/[        U R                  R                  5       5      [        U R                  5      -   Q7SU0U R                  D6=U l         n[        U R                  R                  5       5      U R                  -    HÍ  n[!        U5       Vs1 sH  oUR"                  iM     nnUR%                  U R&                  5      (       d  MH  [)        U[*        5      (       a/  [-        U5      (       a  [/        XBU R                  S9nO[/        XBS9nO
[/        XBUS9n[)        U[*        5      (       a  U R1                  X5        UR3                  U5        MÏ     g s  snf )NzCan only create new table oncer   )r   Útarget_tabler   )r»   r
   r’   r   rF   r¼   rë   r   rº   r@   rÇ   Úvaluesr:   r<   rÌ   rÍ   r   ÚkeyÚissubsetr½   rÊ   r   r   r   Ú_setup_referentÚappend_constraint)rH   Úmr   r»   r   r¶   Úconst_columnsÚ
const_copys           rI   Ú_transfer_elements_to_new_tableÚ.ApplyBatchImpl._transfer_elements_to_new_table?  s‘  € Ø�~‰~Ñ%ÐGÐ'GÓGÐ%ä‹JˆØ—‘×"Ñ"ˆà×"×" d×&;×&;Ø×<Ñ<Ô>ä%*Ø× Ñ Øð&
ô �4—<‘<×&Ñ&Ó(Ó)¬D°·±Ó,AÑAò&
ð ð	&
ð
 ×Ññ&
ð 	
ˆŒ˜ô �×'Ñ'×.Ñ.Ó0Ó1°D×4LÑ4LÔLð ô -DÀEÔ,JÓKÑ,J qŸUœUÑ,JˆMÐKà ×)Ñ)¨$×*?Ñ*?×@Ñ@Ùô ˜%Ô!5×6Ñ6Ü*¨5×1Ñ1ô "'Ø¸4¿:¹:ñ"‘Jô "' uÑ!<‘Jä"Ø°yñ�
ô ˜%Ô!5×6Ñ6Ø×$Ñ$ QÔ.Ø×'Ñ'¨
Ö3ò= MùâKs   ÄGc                óÌ  • U R                   c   e/ nU R                  R                  5        H�  nUR                  (       a  M  [	        UR
                  /[        U5       Vs/ sH  n[        X0R                   5      PM     snQ7UR                  U R                   S.UR                  D6nUR                  U5        M�     U R                  R                  5        H  nUR                  [	        UR
                  /UR                  R                  5        Vs/ sH  o`R                   R                  U   PM     snQ7SUR                  0UR                  D65        M�     U$ s  snf s  snf )N)rÈ   Ú_tablerÈ   )r»   rÏ   rï   Ú_column_flagr	   r_   r   r   rÈ   rÒ   rB   rÐ   rÇ   Úkeysr¶   )rH   rŠ   Úidx_existingr´   Úidx_copyrÉ   rÔ   s          rI   Ú _gather_indexes_from_both_tablesÚ/ApplyBatchImpl._gather_indexes_from_both_tablesq  sK  € Ø�~‰~Ñ)Ð)Ð)Øˆà ŸL™L×/Ñ/Ö1ˆLð ×(×(ÙäØ×!Ñ!ð	ô
 !=¸\Ô Jóá J˜ô % T¯>©>Ö:Ù Jññ	à#×*Ñ*ð
 —~‘~ñ	ð ×%Ñ%ñ	ˆHð �J‰J�xÖ ñ! 2ð$ ×%Ñ%×,Ñ,Ö.ˆEØ�J‰JÜØ—J‘Jðð 8=·}±}×7IÑ7IÔ7KÓLÑ7K°—n‘n×&Ñ& sÔ+Ñ7KÑLòà Ÿ<™<ðð —l‘lñ	öñ /ð ˆ
ùò%ùò Ms   Á EÄ!E!c           
     ó  • [        UR                  S   5      u  p4nX@R                  :w  aÍ  [        XC5      nS UR                   5        Vs/ sH
  nUc  M  UPM     nnXaR                  ;   aS  UR                  U   n	U H=  nXyR
                  ;  d  M  U	R                  [        U[        R                  5      5        M?     g [        UU/U Vs/ sH  n[        U[        R                  5      PM     snQ7SU06  g g s  snf s  snf )Nr   c              3  óJ   #   • U H  n[        U5      R                  v •  M     g 7frN   )r   Úcolumn_name)rµ   rç   s     rI   r·   Ú1ApplyBatchImpl._setup_referent.<locals>.<genexpr>›  s"   é € ð á 3˜ô & dÓ+×7Ö7Ú 3ùs   ‚!#r   )r   Úelementsrº   r   Útablesr¶   Úappend_columnr   ÚsqltypesÚNULLTYPEr   )
rH   ÚmetadataÚ
constraintÚreferent_schemaÚtnameÚ_rð   r_   ÚcolnamesÚts
             rI   rò   ÚApplyBatchImpl._setup_referent’  s  € ô %6°j×6IÑ6IÈ!Ñ6LÓ$MÑ!ˆ à×(Ñ(Ó(Ü  Ó8ˆCñà *× 3Ò 3ôóñ�Dð ÷ ñð ð ð —o‘oÓ%Ø—O‘O CÑ(�Û$�DØ§3¡3•ØŸ™¬¨t´X×5FÑ5FÓ(GÖHò %ô ØØðñ CKÓKÁ(¸$”f˜T¤8×#4Ñ#4Ö5Á(ÑKòð +ó	ð# )ùòùò$ Ls   ÁC9ÁC9Ã#C>
c                ó  • U R                  5         UR                  X R                  5        U R                  c   eUR	                  U R                  5         UR                  U R                  R                  5       R                  5       R                  [        S U R                  R                  5        5       5      [        U R                  R                  5        Vs/ sH  nSU;   d  M  US   PM     sn6 5      5        UR                  U R                  5        UR                  U R                   U R                  R"                  U R                  R$                  S9  U R                  R"                  U R                  l         U R'                  5        H  nUR)                  U5        M     U R                   U R                  l        g s  snf ! U R                   U R                  l        f = f!   UR                  U R                  5        e = f)Nc              3  ó8   #   • U H  u  pS U;   d  M  Uv •  M     g7fr³   r3   )rµ   rÕ   Útransfers      rI   r·   Ú)ApplyBatchImpl._create.<locals>.<genexpr>»  s#   é € ð á+H™K˜AØ! XÑ-÷ ™Ú+Hùs   ‚‘	r´   r   )r÷   Úprep_table_for_batchr’   r»   rš   Ú_execÚinsertÚinlineÚfrom_selectr@   r½   Úitemsr   rï   r�   r…   rº   r_   r   rÿ   rˆ   )rH   Úop_implr  rŠ   s       rI   rb   ÚApplyBatchImpl._create¯  s¬  € Ø×,Ñ,Ô.à×$Ñ$ T¯:©:Ô6Ø�~‰~Ñ)Ð)Ð)Ø×Ñ˜TŸ^™^Ô,ð 	;Ø�M‰MØ—‘×%Ñ%Ó'ß‘“ß‘Üñ à+/×+@Ñ+@×+FÑ+FÔ+Hóó ô
 ð -1×,AÑ,A×,HÑ,HÔ,Jóá,J Ø%¨Ñ1ó -˜H VÔ,Ù,Jñðóôð$ ×Ñ˜tŸz™zÔ*ð
 × Ñ Ø×$Ñ$ d§j¡j§o¡o¸d¿j¹j×>OÑ>Oð !ñ ð #'§*¡*§/¡/ˆD�N‰NÔð;Ø×@Ñ@ÖB�CØ×(Ñ(¨Ö-ñ Cð '+×&:Ñ&:�—‘Õ#ùò+øð* '+×&:Ñ&:�—‘Õ#ûð	Ø×Ñ˜tŸ~™~Ô.Øús1   ÁBG, Ã	GÃ*	GÃ3'G, Æ(G ÇG, ÇG)Ç,H
Nc	                ó&  • U R                   U   n
U R                  U   nUb—  XR:w  a’  XZl        X[S'   U	R                  SS 5      nU(       ao  [	        U	S   U R
                  R                  5      n[        U[        5      (       a7  UR                  (       a&  U R                  R                  UR                  S 5        Uby  [        R                  " U5      n[        U
R                  [        5      (       a"  S=U
R                  l        U
R                  l        U R
                  R!                  X«U5        Xjl        Ub  X:l        USLa0  Uc  S U
l        O%[&        R(                  " U5      R+                  U
5        Ub  [-        U5      U
l        USLa  XŠl        g g )Nr_   Úexisting_typeF)rÇ   r½   r_   rA   r    rC   rO   rÊ   r   rÌ   Úpopr  Úto_instancerË   Ú_create_eventsÚcreate_constraintÚcast_for_batch_migrateÚnullableÚserver_defaultÚ
sql_schemaÚDefaultClauseÚ_set_parentr¥   ÚautoincrementÚcomment)rH   r6   r  r%  r&  r_   Útype_r*  r+  rf   ÚexistingÚexisting_transferr  Úresolved_existing_types                 rI   ro   ÚApplyBatchImpl.alter_columnØ  sw  € ð —<‘< Ñ,ˆØ,0×,AÑ,AÀ+Ñ,NÐØÑ Ó 3ð !ŒMØ(,˜fÑ%àŸF™F ?°DÓ9ˆMÞÜ)=Ø�Ñ'¨¯©×):Ñ):ó*Ð&ô Ð5Ô7H×IÑIØ.×3×3à×*Ñ*×.Ñ.Ø.×3Ñ3Øôð
 ÑÜ×(Ò(¨Ó/ˆEô ˜(Ÿ-™-Ô):×;Ñ;ð ð�—‘Ô,Ø—M‘MÔ3ð �I‰I×,Ñ,Ø¨Uôð "ŒMð ÑØ (ÔØ Ò&ØÑ%Ø*.�Õ'ä×(Ò(Ø"óç‘+˜hÔ'ØÑ$Ü%)¨-Ó%8ˆHÔ"à˜%ÒØ&Õð  rL   c                ó°  • U R                   n[        U5       VVs0 sH  u  pVXe_M	     nnnU R                  (       dŽ  U(       a?  U(       d8  X7;   a  Xs   S-   nU[        U5      :  a  XH   nO[	        U R
                  5      U   nU(       aA  U(       d:  X';   a  Xr   S-
  nUS:¼  a  XH   nO#U R
                   V	V
s0 sH  u  pšX©_M	     sn
n	U   nU(       a  U =R
                  X44-  sl        U(       a  U =R
                  X144-  sl        U R                  (       d4  U(       d,  U(       d$  U(       a  U =R
                  US   U44-  sl        g g g g g s  snnf s  sn
n	f )NrØ   r   éÿÿÿÿ)r¾   rà   rF   Úlenr;   r¼   )rH   Úcolnameru   rv   Ú
index_colsÚir_   Úcol_indexesrŠ   ÚaÚbs              rI   Ú"_setup_dependencies_for_add_columnÚ1ApplyBatchImpl._setup_dependencies_for_add_column#  s]  € ð ×+Ñ+ˆ
Ü.7¸
Ô.CÔDÑ.C¡7 1�t’wÑ.CˆÑDà×&×&ÞÞ$Ø#Ó2à)Ñ7¸!Ñ;˜Ø¤ Z£Ó0Ø,6©O˜Møô )-¨T×-BÑ-BÓ(CØ(ñ)˜ö Þ#Ø$Ó3à)Ñ8¸1Ñ<˜Ø !›8Ø+5©?˜Løð .2×-BÒ-Bô(Ù-B¡T Q˜AšDÑ-Bò(à'ñ()˜ö Ø×!Ò! wÐ&>Ð%@Ñ@Õ!ÞØ×!Ò! |Ð&=Ð%?Ñ?Õ!ð ×'×'Þ!Þ Þà×!Ò! z°"¡~°wÐ&?Ð%AÑAÖ!ð ð !ð "ð (ùóE Eùó0(s   ›EÂ6Ec                óÖ   • U R                  UR                  X45        [        X R                  R                  S9U R
                  UR                  '   0 U R                  UR                  '   g )Nr   )r:  r_   r   r’   r   rÇ   r½   )rH   r6   r¢   ru   rv   rf   s         rI   rw   ÚApplyBatchImpl.add_columnS  sR   € ð 	×/Ñ/Ø�K‰K˜ô	
ô
 %*¨&¿¹×9JÑ9JÑ$Kˆ�‰�V—[‘[Ñ!Ø-/ˆ×Ñ˜fŸk™kÒ*rL   c                ó  • UR                   U R                  R                  R                  ;   a*  [	        U R                  R                  R                  U5        U R                  UR                   	 U R
                  UR                   	 U R                  R                  UR                   5        SU;   aX  [        US   [        5      (       a?  US   R                   (       a*  U R                  R                  US   R                   S 5        g g g g )Nr  )r_   r’   Úprimary_keyrÇ   r   r½   r¾   ÚremoverÊ   r   rÌ   r   )rH   r6   r¢   rf   s       rI   rz   ÚApplyBatchImpl.drop_columnc  sØ   € ð �;‰;˜$Ÿ*™*×0Ñ0×8Ñ8Ó8Ü*Ø—
‘
×&Ñ&×.Ñ.°ôð �L‰L˜Ÿ™Ð%Ø×!Ñ! &§+¡+Ð.Ø×Ñ×%Ñ% f§k¡kÔ2ð ˜rÓ!Ü˜2˜oÑ.Ô0A×BÑBØ�?Ñ#×(×(à×"Ñ"×&Ñ&Ø�?Ñ#×(Ñ(¨$õð )ð Cð "rL   c                ó   • g)a6  the batch table creation function will issue create_column_comment
on the real "impl" as part of the create table process.

That is, the Column object will have the comment on it already,
so when it is received by add_column() it will be a normal part of
the CREATE TABLE and doesn't need an extra step here.

Nr3   r¡   s     rI   r    Ú$ApplyBatchImpl.create_column_comment{  ó   � rL   c                ó   • g)z{the batch table creation function will issue create_table_comment
on the real "impl" as part of the create table process.

Nr3   r‘   s     rI   r�   Ú#ApplyBatchImpl.create_table_comment…  rD  rL   c                ó   • g)zythe batch table creation function will issue drop_table_comment
on the real "impl" as part of the create table process.

Nr3   r‘   s     rI   r•   Ú!ApplyBatchImpl.drop_table_comment‹  rD  rL   c                óÎ  • [        UR                  5      (       d  [        S5      e[        U[        R
                  5      (       aS  U R                  R                  U R                  ;   a/  U R                  R                  U R                  R                  5        [        UR                  5      (       a  XR                  UR                  '   g U R                  R                  U5        g )NúConstraint must have a name)r!   r_   r7   rÊ   r'  r   r’   r?  rÍ   r@  r"   rÌ   rB   r~   s     rI   r}   ÚApplyBatchImpl.add_constraint‘  s›   € Ü& u§z¡z×2Ñ2ÜÐ:Ó;Ð;Ü�eœZ×<Ñ<×=Ñ=Ø�z‰z×%Ñ%¨×)AÑ)AÓAØ×(Ñ(×/Ñ/°·
±
×0FÑ0FÔGä! %§*¡*×-Ñ-Ø16×"Ñ" 5§:¡:Ò.à×$Ñ$×+Ñ+¨EÕ2rL   c                ó–  • UR                   (       d  [        S5      e UR                   U R                  ;   a©  U R                  R                  UR                   5      u  p![	        U R
                  UR                      R                  5       HQ  nUR                   UR                   :X  d  M  U R
                  UR                      R                  R                  U5        MS     Oj[        UR                   5      (       a&  U R                  R                  UR                   5      nO*XR                  ;   a  U R                  R                  U5        [        U[        5      (       a2  UR
                   H!  nSU R
                  UR                      l        M#     g g ! [         a+    [        U5      (       a   g [        SUR                   -  5      ef = f)NrJ  FzNo such constraint: '%s')r_   r7   rÎ   r   r@   rÇ   rÑ   r@  r"   rÌ   rÍ   rÊ   r   r?  ÚKeyErrorr   )rH   r   rÔ   Ú	col_consts       rI   r‚   ÚApplyBatchImpl.drop_constraint�  sW  € Ø�z�zÜÐ:Ó;Ð;ð	?Ø�z‰z˜T×7Ñ7Ó7Ø!×7Ñ7×;Ñ;¸E¿J¹JÓG‘
�ä!% d§l¡l°3·8±8Ñ&<×&HÑ&HÖ!I�IØ —~‘~¨¯©Õ3ØŸ™ S§X¡XÑ.×:Ñ:×AÑAÀ)ÖLò "Jô (¨¯
©
×3Ñ3Ø×.Ñ.×2Ñ2°5·:±:Ó>‘Ø×2Ñ2Ó2Ø×(Ñ(×/Ñ/°Ô6ô ˜%Ô!5×6Ñ6Ø Ÿ=œ=�CØ9>�D—L‘L §¡Ñ*Ö6ò )ð 7øô ó 	FÜ˜e×$Ñ$ñ
 ÜÐ7¸%¿*¹*ÑDÓEÐEð	Fús   žBF Â*B!F ÆGÆ/Gc                ó4   • XR                   UR                  '   g rN   )rÐ   r_   ©rH   rŠ   s     rI   rˆ   ÚApplyBatchImpl.create_index¹  s   € Ø%(×Ñ˜Ÿ™Ò"rL   c                ó€   •  U R                   UR                  	 g ! [         a    [        SUR                  -  5      ef = f)NzNo such index: '%s')rÏ   r_   rM  r7   rQ  s     rI   r�   ÚApplyBatchImpl.drop_index¼  s;   € ð	?Ø—‘˜SŸX™XÑ&øÜó 	?ÜÐ2°S·X±XÑ=Ó>Ð>ð	?ús   ‚ š#=c                ó   • [        S5      e)NÚTODOr˜   rq   s      rI   r…   ÚApplyBatchImpl.rename_tableÂ  s   € Ü! &Ó)Ð)rL   )r¼   rÎ   r½   rÇ   r¾   rC   rÏ   rÌ   rÐ   r»   rF   rj   r’   r:   r<   rº   rÍ   )r3   )rC   r*   r’   r   r:   Útupler<   zdict[str, Any]rj   r¥   rF   rX  r¤   r§   )rÄ   zquoted_name | strr¤   Ústrr¦   )r¤   zlist[Index])r
  r
   r  r   r¤   r§   )r  r*   r¤   r§   )NFNNNF)r6   rY  r  rY  r%  zbool | Noner&  z*_ServerDefaultType | None | Literal[False]r_   ú
str | Noner,  zTypeEngine | Noner*  zbool | Literal['auto'] | Noner+  zstr | Literal[False]r¤   r§   )r4  rY  ru   rZ  rv   rZ  r¤   r§   )NN)
r6   rY  r¢   zColumn[Any]ru   rZ  rv   rZ  r¤   r§   )r6   rY  r¢   zColumnClause[Any] | Column[Any]r¤   r§   r¨   )rŠ   r	   r¤   r§   )r©   rª   r«   r¬   rJ   Úclassmethodr¹   r¿   rë   r÷   rÿ   rò   rb   ro   r:  rw   rz   r    r�   r•   r}   r‚   rˆ   r�   r…   r®   r3   rL   rI   ra   ra   Ñ   sÓ  † ð %'ð$àð$ð ð$ð ð	$ð
 %ð$ð ð$ð "ð$ð 
õ$ð: ó5ó ð5ô,Bô\
ô<04ôdðBØ ðØ.Bðà	ôô:';ðZ !%ØEJØØ#'Ø7;Ø(-ðI'àðI'ð ðI'ð ð	I'ð
 CðI'ð ðI'ð !ðI'ð 5ðI'ð &ðI'ð 
õI'ðV.Bàð.Bð "ð.Bð !ð	.Bð
 
ô.Bðh %)Ø#'ð0àð0ð ð0ð "ð	0ð
 !ð0ð 
õ0ð àðð 0ðð
 
ôò0òòô
3ô?ô8)ô?õ*rL   ra   N)6Ú
__future__r   Útypingr   r   Ú
sqlalchemyr   r   r   r	   r
   r   r   r'  r   r   r   r  Úsqlalchemy.sql.schemar   Úsqlalchemy.utilr   r   Úutilr   Úutil.sqla_compatr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   Úsqlalchemy.enginer$   Úsqlalchemy.sql.elementsr%   r&   r'   Úsqlalchemy.sql.type_apir(   Úddl.baser)   Úddl.implr*   r,   ra   r3   rL   rI   Ú<module>rh     s—   ðõ #å Ý  å &Ý Ý +Ý Ý Ý +Ý +Ý Ý Ý (Ý 3Ý 'Ý 'å Ý 6Ý $Ý /Ý 4Ý 6Ý 0Ý -Ý ;Ý -Ý =Ý 3Ý 6Ý 5æÝå)Ý4Ý3Ý0Ý2å-Ý&÷[Dñ [D÷|r*ò r*rL   