+
    iCi                    *   ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ R	I
Ht ^ R
I
Ht ^ RI
Ht ^ RI
Ht ^ RI
Ht ^ RI
Ht ^ RI
Ht ^ RI
Ht ^ RI
Ht ^ RI
Ht ^ RIHt ^ RIHt ^ RIHt ^RIHt ^RIHt ^RIH t  ^RIH!t! ^RIH"t" ^RIH#t# ^RIH$t$ ^RIH%t% ^RIH&t& ^RIH't' ^R IH(t( ^R!IH)t) ]'       d1   ^ R"IH*t* ^ R#I+H,t, ^ R$I-H.t. ^ R%I-H/t/ ^ R&IH0t0 ^ R'I1H2t2 ^R(I3H4t4 ^R)I5H6t6  ! R* R+4      t7 ! R, R-4      t8R.# )/    )annotations)Any)Dict)List)Optional)Tuple)TYPE_CHECKING)Union)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)_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                      ] tR t^6tR t]R R l4       t]R R l4       tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR tR R ltR R ltR tR tR tR tR tRtR# ) BatchOperationsImplc           	     	   Wn         W n        W0n        VR9  d   \        R4      hW@n        WPn        W`n        \        V4      V n        Wn	        \        V	4      V n
        V P                  P                  R\        V P                  P                  RR4      4      4       V P                  R,          P                  RVP                  P                   34       Wn        Wn        . V n        R# )autoz4recreate may be one of 'auto', 'always', or 'never'.	listenerscolumn_reflectN)r0   alwaysnever )
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)selfr6   r7   r   r9   r:   r;   r=   r>   r?   rF   rG   s   &&&&&&&&&&&&rC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\alembic/operations/batch.py__init__BatchOperationsImpl.__init__7   s     %$66F  !"$ .(">2&&d1155k2FG	
 	K(//zEEF	
 "3"4
    c                   V ^8  d   QhRR/# )   returnr&   r5   )formats   "rJ   __annotate__ BatchOperationsImpl.__annotate__]   s     , , ,rM   c                	B    V P                   P                  P                  # N)r6   rD   dialectrI   s   &rJ   rV   BatchOperationsImpl.dialect\   s    ##+++rM   c                   V ^8  d   QhRR/# )rO   rP   r,   r5   )rQ   s   "rJ   rR   rS   a   s     $ $k $rM   c                	.    V P                   P                  # rU   )r6   rD   rW   s   &rJ   rD   BatchOperationsImpl.impl`   s    ###rM   c                   V ^8  d   QhRR/# )rO   rP   boolr5   )rQ   s   "rJ   rR   rS   d   s      $ rM   c                	    V P                   R 8X  d&   V P                  P                  P                  V 4      # V P                   R8X  d   R# R# )r0   r3   TF)r9   r6   rD   requires_recreate_in_batchrW   s   &rJ   _should_recreate$BatchOperationsImpl._should_recreated   s;    ==F"??''BB4HH]]h&rM   c                   V ^8  d   QhRR/# rO   rP   Noner5   )rQ   s   "rJ   rR   rS   l   s     7. 7.t 7.rM   c                	n   V P                  4       p\        V P                  P                  4      ;_uu_ 4        V'       gA   V P                   F.  w  r#p\        V P                  P                  V4      pV! V/ VB  K0  	  EMV P                  '       d   \        V P                  R 7      pM
\        4       pV P                  e   V P                  pRpMV P                  P                  P                  '       dP   \        P                  ! RV P                  P                  P                  P                   RV P                    R24      h\#        V P                   V.V P$                  O5RV P&                  RV P                  P)                  4       /V P*                  B pRp\-        V P                  VV P.                  V P0                  VV P2                  R	7      p	V P                   F  w  r#p\        W4      pV! V/ VB  K  	  V	P5                  V P                  4       RRR4       R#   + '       g   i     R# ; i)
)rF   NFzEThis 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)rG   )r`   r   rD   
connectionrH   getattrr6   rF   r   r:   migration_contextas_sqlr   CommandErrorrV   namer7   r   r>   r   get_bindr?   ApplyBatchImplr;   r=   rG   _create)
rI   should_recreateopnameargkwfnm1existing_table	reflected
batch_impls
   &         rJ   flushBatchOperationsImpl.flushl   s   //1"499#7#788"'+zzOF !5!5v>BNrN (2 )))!D4J4JKB!B>>-%)^^N %I88???!..7#@@HHMMN O559__4E F9	
9  &+&
 **&  ${{& '+oo&>&>&@	& --&N !%I+II"OO%%'+'>'>
 (,zzOF 4BNrN (2 ""499-i 9888s   AH#A#H#7D"H##H4	c                   V ^8  d   QhRR/# rc   r5   )rQ   s   "rJ   rR   rS      s     5 5$ 5rM   c                	@    V P                   P                  R W34       R# )alter_columnNrH   rC   rI   rr   rs   s   &*,rJ   r}    BatchOperationsImpl.alter_column       

>334rM   c                   V ^8  d   QhRR/# rc   r5   )rQ   s   "rJ   rR   rS      s     3 3 3rM   c                	    R V9   g   RV9   d-   V P                  4       '       g   \        P                  ! R4      hV P                  P	                  RW34       R# )insert_beforeinsert_afterz^Can't specify insert_before or insert_after when using ALTER; please specify recreate='always'
add_columnN)r`   r   rk   rH   rC   r   s   &*,rJ   r   BatchOperationsImpl.add_column   sQ    r!^r%9''))"":  	

<12rM   c                   V ^8  d   QhRR/# rc   r5   )rQ   s   "rJ   rR   rS      s     4 4 4rM   c                	@    V P                   P                  R W34       R# )drop_columnNr~   r   s   &*,rJ   r   BatchOperationsImpl.drop_column   s    

=#23rM   c                    V ^8  d   QhRRRR/# rO   constr)   rP   rd   r5   )rQ   s   "rJ   rR   rS      s     < <J <4 <rM   c                	D    V P                   P                  R V3/ 34       R# )add_constraintNr~   rI   r   s   &&rJ   r   "BatchOperationsImpl.add_constraint   s    

+eXr:;rM   c                    V ^8  d   QhRRRR/# r   r5   )rQ   s   "rJ   rR   rS      s     = =Z =D =rM   c                	D    V P                   P                  R V3/ 34       R# )drop_constraintNr~   r   s   &&rJ   r   #BatchOperationsImpl.drop_constraint   s    

,uh;<rM   c                	@    V P                   P                  R W34       R# )rename_tableNr~   r   s   &*,rJ   r    BatchOperationsImpl.rename_table   r   rM   c               $    V ^8  d   QhRRRRRR/# rO   idxr   rs   r   rP   rd   r5   )rQ   s   "rJ   rR   rS      s!     8 8 8S 8T 8rM   c                	D    V P                   P                  R V3V34       R# )create_indexNr~   rI   r   rs   s   &&,rJ   r    BatchOperationsImpl.create_index   s    

>C6267rM   c               $    V ^8  d   QhRRRRRR/# r   r5   )rQ   s   "rJ   rR   rS      s!     6 6e 63 64 6rM   c                	D    V P                   P                  R V3V34       R# )
drop_indexNr~   r   s   &&,rJ   r   BatchOperationsImpl.drop_index   s    

<#45rM   c                	D    V P                   P                  R V3/ 34       R# )create_table_commentNr~   rI   tables   &&rJ   r   (BatchOperationsImpl.create_table_comment   s    

1E8R@ArM   c                	D    V P                   P                  R V3/ 34       R# )drop_table_commentNr~   r   s   &&rJ   r   &BatchOperationsImpl.drop_table_comment   s    

/%2>?rM   c                	    \        R 4      h)z Can't create table in batch modeNotImplementedErrorr   s   &&rJ   create_table BatchOperationsImpl.create_table   s    !"DEErM   c                	    \        R 4      h)zCan't drop table in batch moder   r   s   &&rJ   
drop_tableBatchOperationsImpl.drop_table   s    !"BCCrM   c                	D    V P                   P                  R V3/ 34       R# )create_column_commentNr~   rI   columns   &&rJ   r   )BatchOperationsImpl.create_column_comment   s    

2VIrBCrM   )rH   r:   rF   r6   rG   r9   r>   r?   r   r;   r=   r7   N)__name__
__module____qualname____firstlineno__rK   propertyrV   rD   r`   ry   r}   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r5   rM   rJ   r.   r.   6   s    #J , , $ $7.r534<=586B@FDDrM   r.   c                     ] tR t^tR'R R llt]R R l4       tR R ltR R ltR	 R
 lt	R R lt
R R ltR R ltR(R R lltR R ltR)R R lltR R ltR tR tR tR R ltR R  ltR! R" ltR# R$ ltR% tR&tR# )*rn   c               4    V ^8  d   QhRRRRRRRRR	R
RRRR/# )rO   rD   r,   r   r   r;   tupler=   zDict[str, Any]rw   r]   rG   rP   rd   r5   )rQ   s   "rJ   rR   ApplyBatchImpl.__annotate__   sP     $ $$ $ 	$
 %$ $ "$ 
$rM   c                	T   Wn         W n        W0n        W@n        V P	                  VP
                  4      V n        R V n        W`n        RV n	        \        R V P                  P                   4       4      V n        \        V P                  4      V n        WPn        V P!                  4        R # )Nc              3  @   "   T F  qP                   R V/3x  K  	  R# 5iexprN)rl   ).0cs   & rJ   	<genexpr>*ApplyBatchImpl.__init__.<locals>.<genexpr>   s      ,
+7aVVfa[!<s   r5   )rD   r   r;   r=   _calc_temp_namerl   temp_table_name	new_tablerG   add_col_orderingr   r   column_transfersrA   existing_orderingrw   _grab_table_elements)rI   rD   r   r;   r=   rw   rG   s   &&&&&&&rJ   rK   ApplyBatchImpl.__init__   s     	
$(#33EJJ?*."4  	 !, ,
+/::<<,
 !
 "&d&;&;!<"!!#rM   c                    V ^8  d   QhRRRR/# )rO   	tablenamezUnion[quoted_name, str]rP   strr5   )rQ   s   "rJ   rR   r      s     5 5(? 5C 5rM   c                	"    R V,          R,          # )z_alembic_tmp_%s:r   2   Nr5   )clsr   s   &&rJ   r   ApplyBatchImpl._calc_temp_name   s    !I-t44rM   c                   V ^8  d   QhRR/# rc   r5   )rQ   s   "rJ   rR   r      s     ,B ,Bd ,BrM   c                	   V P                   P                  p\        4       V n        V P                   P                   Fq  p\        W!R 7      pR;Vn        Vn        \        VP                  \        4      '       d   VP                  VP                  Jg   Q hW0P                  VP                  &   Ks  	  / V n        . V n        / V n        / V n        / V n        V P                   P"                   F  p\%        V4      '       d   K  V P&                  '       d+   \        V\(        4      '       d   VP                  '       g   KR  \+        VP                  4      '       d   W@P                  VP                  &   K  V P                  P-                  V4       K  	  V P&                  '       g_   V P                   P                   FD  pVP"                   F1  pVP                  '       g   K  WT3V P                  VP                  &   K3  	  KF  	  V P                   P                   F  pW`P                  VP                  &   K  	  V P                   P.                   F9  pV P0                  P3                  WpP                   P.                  V,          4       K;  	  R# )r   FN)r   r   r   columnsr   r   uniqueindex
isinstancetyper   rl   named_constraintsunnamed_constraintscol_named_constraintsindexesnew_indexesconstraintsr    rw   r   r$   rC   kwargsr=   r@   )rI   r   r   c_copyr   colr   ks   &       rJ   r   #ApplyBatchImpl._grab_table_elements   s   ""/:}A1,F+00FMFL !&&"344{{!&&000#)LL   9;#% %'")+-/ZZ++Ee$$uo66



 '

335:&&uzz2((//6 ," ~~~zz|| __EzzzBE225::> - $
 ::%%C%(LL" & ""A((JJ,=,=a,@A #rM   c                   V ^8  d   QhRR/# rc   r5   )rQ   s   "rJ   rR   r   $  s     
 
T 
rM   c                	  a  \        4       p\        S P                  4      pS P                  '       dR   S P                   F@  p\	        V4       F.  w  rEV^ 8  g   K  VP                  W4^,
          ,          V34       K0  	  KB  	  MG\	        S P                  4       F.  w  rEV^ 8  g   K  VP                  W$^,
          ,          V34       K0  	  VP                  S P                  4       V Uu. uF  qf^ ,          V^,          8w  g   K  VNK  	  pp\        \        P                  ! WrRR7      4      p\        V 3R lV 4       4      S n        \        V 3R lV 4       4      S n        R# u upi )r   T)deterministic_orderc              3  L   <"   T F  qSP                   V,          3x  K  	  R # 5irU   )r   r   r   rI   s   & rJ   r   MApplyBatchImpl._adjust_self_columns_for_partial_reordering.<locals>.<genexpr>=  s     "IAt||A#7   !$c              3  L   <"   T F  qSP                   V,          3x  K  	  R # 5irU   )r   r   s   & rJ   r   r   >  s"      ,
3:a%%a()7r   N)setrA   r   rG   	enumerateaddr   updater   r   sortr   r   )	rI   pairs
col_by_idxtuple_r   elemp
pairs_listsorted_s	   f        rJ   +_adjust_self_columns_for_partial_reordering:ApplyBatchImpl._adjust_self_columns_for_partial_reordering$  s"   $,,'
"""11#,V#4KEqy		6!)#4d";< $5 2
  ))?)?@19IIz!)4d;<  A 	T**+
 "'7AA$!A$,aa
7ZN
 #"I"II + ,
3:,
 !
 8s   *E$E$c                   V ^8  d   QhRR/# rc   r5   )rQ   s   "rJ   rR   r   B  s     04 04 04rM   c                	   V P                   e   Q R4       h\        4       pV P                  P                  pV P                  '       g   V P
                  '       d   V P                  4        \        V P                  V.\        V P                  P                  4       4      \        V P                  4      ,           O5RV/V P                  B ;V n         p\        V P                  P                  4       4      V P                  ,            F  p\!        V4       Uu0 uF  qUP"                  kK  	  ppVP%                  V P&                  4      '       g   KI  \)        V\*        4      '       d7   \-        V4      '       d   \/        WBV P                  R7      pM\/        WBR7      pM\/        WBVR7      p\)        V\*        4      '       d   V P1                  W4       VP3                  V4       K  	  R # u upi )NzCan only create new table oncer   )r   target_tabler   )r   r   r   r   rG   r   r  r   r   rA   r   valuesr;   r=   r   r   r   keyissubsetr   r   r   r   r   _setup_referentappend_constraint)rI   mr   r   r   r   const_columns
const_copys   &       rJ   _transfer_elements_to_new_table.ApplyBatchImpl._transfer_elements_to_new_tableB  s   ~~%G'GG%J"""""d&;&;&;<<>%*  &
 4<<&&()D,AA&
 	&

 &
 	
 ''..01D4L4LLL  -DE,JK,JqUU,JMK ))$*?*?@@ %!566*511 "'4::"J "'u!<J"y
 %!566$$Q.''
3= MKs   G&c                   V ^8  d   QhRR/# )rO   rP   zList[Index]r5   )rQ   s   "rJ   rR   r   t  s      + rM   c                	   V P                   f   Q h. pV P                  P                  4        F  pVP                  '       d   K  \	        VP
                  .\        V4       Uu. uF  p\        W0P                   4      NK  	  upO5RVP                  RV P                   /VP                  B pVP                  V4       K  	  V P                  P                  4        F  pTP                  \	        VP
                  .VP                  P                  4        Uu. uF  q`P                   P                  V,          NK!  	  upO5RVP                  /VP                  B 4       K  	  V# u upi u upi )Nr   _table)r   r   r  _column_flagr   rl   r   r   r   r   rC   r   r   keysr   )rI   r   idx_existingr   idx_copyr   r   s   &      rJ    _gather_indexes_from_both_tables/ApplyBatchImpl._gather_indexes_from_both_tablest  sV   ~~))) LL//1L (((!!	
 !=\ J J %T>>: J	#**	 ~~	 %%	H JJx ! 2$ %%,,.EJJJJ 8=}}7I7I7KL7Knn&&s++7KL << ll	 / 
% Ms   "E#%E(c               $    V ^8  d   QhRRRRRR/# )rO   metadatar   
constraintr   rP   rd   r5   )rQ   s   "rJ   rR   r     s$     # # #.B#	#rM   c           
     	$   VP                   ^ ,          P                  4       pVP                  R4      pVR,          p\        V4      ^8X  d   V^ ,          pMRpWPP                  8w  Ed   \
        P                  ! WV4      pR R lpWqP                  9   d   VP                  V,          p	VP                    F\  p
V! V
4      P                  R4      R,          pWP                  9  g   K3  V	P                  \        V\        P                  4      4       K^  	  R# \        VV.VP                    U
u. uF!  p
V! V
4      P                  R4      R,          NK#  	  up
 Uu. uF  p\        V\        P                  4      NK  	  upO5RV/  R# R# u up
i u upi )r   .Nc                   V ^8  d   QhRR/# )rO   r   r   r5   )rQ   s   "rJ   rR   4ApplyBatchImpl._setup_referent.<locals>.__annotate__  s     + +c +rM   c                "    V P                  4       # rU   )_get_colspec)r   s   &rJ   colspec/ApplyBatchImpl._setup_referent.<locals>.colspec  s    ((**rM   r   )elementsr!  splitlenr   
sql_schema_get_table_keytablesr   append_columnr   sqltypesNULLTYPEr   )rI   r  r  specpartstnamereferent_schemar  r"  tr   colnamens   &&&          rJ   r	  ApplyBatchImpl._setup_referent  sd    ""1%224

3b	u:?#AhO"O(((++ECC+ oo%OOC(&//D%dm11#6r:Gcc)w8I8I(JK 0
  )3(;(;"(; $DM//4R88(;""A q("3"34" + )$"s   ,'F
#F
c                    V ^8  d   QhRRRR/# )rO   op_implr,   rP   rd   r5   )rQ   s   "rJ   rR   r     s     '; ';{ ';t ';rM   c                	0   V P                  4        VP                  W P                  4       V P                  f   Q hVP	                  V P                  4        TP                  V P                  P                  4       P                  4       P                  \        R V P                  P                  4        4       4      \        V P                  P                  4        Uu. uF  pRV9   g   K  VR,          NK  	  up!  4      4       VP                  V P                  4       VP                  V P                   V P                  P"                  V P                  P$                  R7       V P                  P"                  V P                  n         V P'                  4        F  pVP)                  V4       K  	  V P                   V P                  n        R # u upi   T P                   T P                  n        i ; i   TP                  T P                  4       h ; i)Nc              3  <   "   T F  w  rR V9   g   K  Vx  K  	  R# 5ir   r5   )r   r   transfers   &  rJ   r   )ApplyBatchImpl._create.<locals>.<genexpr>  s#      +HKA!X- +Hs   
r   r   )r  prep_table_for_batchr   r   r   _execinsertinlinefrom_selectrA   r   itemsr   r  r   r   r   rl   r   r  r   )rI   r8  r;  r   s   &&  rJ   ro   ApplyBatchImpl._create  s   ,,.$$T::6~~)))T^^, 	;MM%%' +/+@+@+F+F+H 
  -1,A,A,H,H,J,J%1 -HV,,,J$ tzz*
   $$djjoodjj>O>O !  #'**//DNN;@@BC((- C '+&:&:#+* '+&:&:#	t~~.s1   BG7 	G,G9(G7 (G G7 G47HNc               <    V ^8  d   QhRRRRRRRRRR	R
RRRRRRR/	# )rO   r7   r   column_namenullablezOptional[bool]server_defaultz/Union[_ServerDefaultType, None, Literal[False]]rl   Optional[str]type_zOptional[TypeEngine]autoincrementz&Optional[Union[bool, Literal['auto']]]commentzUnion[str, Literal[False]]rP   rd   r5   )rQ   s   "rJ   rR   r     so     K' K'K' K' !	K'

K' K' $K' >K' ,K' 
K'rM   c	                	Z   V P                   V,          p
V P                  V,          pVe   WR8w  d   WZn        W[R&   V	P                  RR 4      pV'       dv   \	        V	R,          V P
                  P                  4      p\        V\        4      '       d9   VP                  '       d'   V P                  P                  VP                  R 4       Ve{   \        P                  ! V4      p\        V
P                  \        4      '       d#   R;V
P                  n        V
P                  n        V P
                  P!                  WV4       Wjn        Ve   W:n        VRJd2   Vf	   R V
n        M%\&        P(                  ! V4      P+                  V
4       Ve   \-        V4      V
n        VRJd	   Wn        R # R # )Nrl   existing_typeF)r   r   rl   rB   r"   rD   rV   r   r   r   popr-  to_instancer   _create_eventscreate_constraintcast_for_batch_migraterF  rG  r)  DefaultClause_set_parentr]   rJ  rK  )rI   r7   rE  rF  rG  rl   rI  rJ  rK  rs   existingexisting_transferrM  resolved_existing_types   &&&&&&&&&,    rJ   r}   ApplyBatchImpl.alter_column  sz    <<,,0,A,A+,N 3 !M(,f%FF?D9M)='):):*& 57HII.333**...33
 ((/E (--):;; ,MM3 II,,U "M  (&%*.'(("+h'$%)-%8H"%&  rM   c               (    V ^8  d   QhRRRRRRRR/# )rO   r4  r   r   rH  r   rP   rd   r5   )rQ   s   "rJ   rR   r   0  s8     .B .B.B %.B $	.B
 
.BrM   c                	8   V P                   p\        V4       UUu/ uF  w  rVWebK	  	  pppV P                  '       g   V'       dS   V'       gK   W79   d)   Ws,          ^,           pV\        V4      8  d	   WH,          pM\	        V P
                  4      V,          pV'       dU   V'       gM   W'9   d    Wr,          ^,
          pV^ 8  d	   WH,          pM'V P
                   U	U
u/ uF  w  rWbK	  	  up
p	V,          pV'       d   V ;P
                  W33,          un        V'       d   V ;P
                  W133,          un        V P                  '       gD   V'       g:   V'       g0   V'       d&   V ;P
                  VR,          V33,          un        R# R# R# R# R# u uppi u up
p	i )   Nr%  )r   r   rG   r(  r<   r   )rI   r4  r   r   
index_colsirl   col_indexesr   abs   &&&&       rJ   "_setup_dependencies_for_add_column1ApplyBatchImpl._setup_dependencies_for_add_column0  sc    ++
.7
.CD.C71tw.CD&&&$#2)7!;Z0,6OM )-T-B-B(C() #$3)81<!8+5?L .2-B-B(-BTQAD-B('() !!w&>%@@!!!|&=%??! '''! !!z"~w&?%AA!  ! " (E E0(s   FFc          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rO   r7   r   r   zColumn[Any]r   rH  r   rP   rd   r5   )rQ   s   "rJ   rR   r   `  s<     0 00 0 %	0
 $0 
0rM   c                	    V P                  VP                  W44       \        W P                  P                  R 7      V P
                  VP                  &   / V P                  VP                  &   R# )r   N)ra  rl   r   r   r   r   r   )rI   r7   r   r   r   rs   s   &&&&&,rJ   r   ApplyBatchImpl.add_column`  sR     	//KK	

 %*&9J9J$KV[[!-/fkk*rM   c               $    V ^8  d   QhRRRRRR/# )rO   r7   r   r   z%Union[ColumnClause[Any], Column[Any]]rP   rd   r5   )rQ   s   "rJ   rR   r   p  s(       6
 
rM   c                	>   VP                   V P                  P                  P                  9   d+   \	        V P                  P                  P                  V4       V P                  VP                    V P
                  VP                    V P                  P                  VP                   4       R V9   dj   \        VR ,          \        4      '       dK   VR ,          P                   '       d0   V P                  P                  VR ,          P                   R4       R# R# R# R# )rM  N)rl   r   primary_keyr   r!   r   r   remover   r   r   rN  )rI   r7   r   rs   s   &&&,rJ   r   ApplyBatchImpl.drop_columnp  s     ;;$**00888*

&&.. LL%!!&++.%%fkk2 r!2o.0ABB?#(((""&&?#(($ ) C "rM   c                    R# )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.

Nr5   r   s   &&rJ   r   $ApplyBatchImpl.create_column_comment      rM   c                    R# )z{the batch table creation function will issue create_table_comment
on the real "impl" as part of the create table process.

Nr5   r   s   &&rJ   r   #ApplyBatchImpl.create_table_comment  rm  rM   c                    R# )zythe batch table creation function will issue drop_table_comment
on the real "impl" as part of the create table process.

Nr5   r   s   &&rJ   r   !ApplyBatchImpl.drop_table_comment  rm  rM   c                    V ^8  d   QhRRRR/# r   r5   )rQ   s   "rJ   rR   r     s     
3 
3J 
34 
3rM   c                	   \        VP                  4      '       g   \        R 4      h\        V\        P
                  4      '       dU   V P                  P                  V P                  9   d0   V P                  P                  V P                  P                  4       \        VP                  4      '       d   WP                  VP                  &   R# V P                  P                  V4       R# )Constraint must have a nameN)r#   rl   r8   r   r)  r   r   rh  r   ri  r$   r   rC   r   s   &&rJ   r   ApplyBatchImpl.add_constraint  s    &uzz22:;;eZ<<==zz%%)A)AA((//

0F0FG!%**--16""5::.$$++E2rM   c                    V ^8  d   QhRRRR/# r   r5   )rQ   s   "rJ   rR   r     s     ? ?Z ?D ?rM   c                	   VP                   '       g   \        R 4      h VP                   V P                  9   d   V P                  P                  VP                   4      w  r!\	        V P
                  VP                   ,          P                  4       FV  pVP                   VP                   8X  g   K   V P
                  VP                   ,          P                  P                  V4       KX  	  Ml\        VP                   4      '       d'   V P                  P                  VP                   4      pM+WP                  9   d   V P                  P                  V4       \        V\        4      '       d8   VP
                   F%  pRV P
                  VP                   ,          n        K'  	  R# R#   \         d2    \        T4      '       d    R# \        RTP                   ,          4      hi ; i)rt  FNzNo such constraint: '%s')rl   r8   r   rN  rA   r   r   ri  r$   r   r   r   r   rh  KeyErrorr    )rI   r   r   	col_consts   &&  rJ   r   ApplyBatchImpl.drop_constraint  sY   zzz:;;	?zzT777!77;;EJJG
!%dll388&<&H&H!II ~~3SXX.::AA)L "J (

33..225::>222((//6 %!566 ==C9>DLL*6 ) 7  	Fe$$
 7%**DEE	Fs   BF' 1B'F' 'G#G#c                    V ^8  d   QhRRRR/# rO   r   r   rP   rd   r5   )rQ   s   "rJ   rR   r     s     ) ) )$ )rM   c                	6    WP                   VP                  &   R # rU   )r   rl   rI   r   s   &&rJ   r   ApplyBatchImpl.create_index  s    %("rM   c                    V ^8  d   QhRRRR/# r|  r5   )rQ   s   "rJ   rR   r     s     ? ?e ? ?rM   c                	     V P                   VP                   R#   \         d    \        R TP                  ,          4      hi ; i)zNo such index: '%s'N)r   rl   rx  r8   r~  s   &&rJ   r   ApplyBatchImpl.drop_index  s;    	?SXX& 	?2SXX=>>	?s	    (Ac                	    \        R 4      h)TODOr   r   s   &*,rJ   r   ApplyBatchImpl.rename_table  s    !&))rM   )r   r   r   r   r   rD   r   r   r   r   rG   rw   r   r;   r=   r   r   )r5   )NFNNNF)NN)r   r   r   r   rK   classmethodr   r   r  r  r  r	  ro   r}   ra  r   r   r   r   r   r   r   r   r   r   r   r5   rM   rJ   rn   rn      s    $: 5 5,B\
<04dB#J';RK'Z.B`0 0
3?8)?*rM   rn   N)9
__future__r   typingr   r   r   r   r   r	   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%   sqlalchemy.enginer&   sqlalchemy.sql.elementsr'   r(   r)   sqlalchemy.sql.type_apir*   ddl.baser+   ddl.implr,   r.   rn   r5   rM   rJ   <module>r     s    #         &  +   + +   ( 3 ' '  6 $ / 4 6 ; - = 3 6 5)4302-&[D [D||* |*rM   