+
    iQ                       ^ RI Ht ^ RI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 ]'       d7   ^ 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 R]4      t*]! ]R 4      R! R" l4       t+]! ]R 4      R# R$ l4       t,R# )%    )annotationsN)Any)Dict)Optional)TYPE_CHECKING)Union)cast)Computed)JSON)schema)sql)alter_table)
ColumnName)format_column_name)format_table_name)RenameTable)DefaultImpl)util)compiles)	Inspector)DDLCompiler)Cast)ClauseElement)Column)
Constraint)Table)
TypeEngine)BatchOperationsImplc                     a  ] tR t^)tRtR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 V 3R llltR R ltR tRtV ;t# )
SQLiteImplsqliteFc                    V ^8  d   QhRRRR/# )   batch_opr   returnbool )formats   "lC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\alembic/ddl/sqlite.py__annotate__SQLiteImpl.__annotate__1   s      +	    c                   VP                    F  pV^ ,          R8X  d   V^,          ^,          p\        VP                  \        P                  4      '       d8   \        VP                  P
                  \        P                  4      '       d    R# \        VP                  \        4      '       d"   VP                  P                  '       d    R# K  K  V^ ,          R9  g   K   R# 	  R# )zReturn True if the given :class:`.BatchOperationsImpl`
would need the table to be recreated and copied in order to
proceed.

Normally, only returns True on SQLite when operations other
than add_column are present.


add_columnTF)create_index
drop_index)
batch
isinstanceserver_defaultr   DefaultClauseargr   r   r
   	persisted)selfr$   opcols   &&  r)   requires_recreate_in_batch%SQLiteImpl.requires_recreate_in_batch1   s     ..B!u$eAh&&(<(<  !3!3!7!79J9JKKs118<<**444 5 = A<< ! r,   c                    V ^8  d   QhRRRR/# r#   constr   kwr   r'   )r(   s   "r)   r*   r+   M   s      J c r,   c                	    VP                   f   \        R4      hVP                  V 4      '       d   \        P                  ! R4       R # R # )NNo support for ALTER of constraints in SQLite dialect. Please refer to the batch mode feature which allows for SQLite migrations using a copy-and-move strategy.zSkipping unsupported ALTER for creation of implicit constraint. Please refer to the batch mode feature which allows for SQLite migrations using a copy-and-move strategy.)_create_ruleNotImplementedErrorr   warnr7   r>   r?   s   &&,r)   add_constraintSQLiteImpl.add_constraintM   sM     %%D 
 %%IID &r,   c                    V ^8  d   QhRRRR/# r=   r'   )r(   s   "r)   r*   r+   ^   s      Z s r,   c                	8    VP                   f   \        R4      hR # )NrA   )rB   rC   rE   s   &&,r)   drop_constraintSQLiteImpl.drop_constraint^   s&    %%D  &r,   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	r#   inspector_columnColumn[Any]metadata_columnrendered_metadata_defaultOptional[str]rendered_inspector_defaultr%   r&   r'   )r(   s   "r)   r*   r+   f   sC     G G%G %G $1	G
 %2G 
Gr,   c                	    Ve1   \         P                  ! RRV4      p\         P                  ! RRV4      pVe1   \         P                  ! RRV4      p\         P                  ! RRV4      pWC8g  # )Nz
^\((.+)\)$z\1z^\"?'(.+)'\"?$)resub)r7   rM   rO   rP   rR   s   &&&&&r)   compare_server_default!SQLiteImpl.compare_server_defaultf   s}     %0(*u&?)% )+!5*C)% &1)+u&@*& *,!5*D*& *FFr,   c                    V ^8  d   QhRRRR/# )r#   exprrQ   r%   r&   r'   )r(   s   "r)   r*   r+      s      !	r,   c                    V'       g   R# \         P                  ! RV4      '       d   R# \         P                  ! RV4      '       d   R# \         P                  ! RV4      '       d   R# R# )zDetermine if a server default is a SQL expression or a constant.

There are too many assertions that expect server defaults to round-trip
identically without parenthesis added so we will add parens only in
very specific cases.

Fz	^[0-9\.]$z^'.+'$z^\(.+\)$T)rT   match)r7   rY   s   &&r)   -_guess_if_default_is_unparenthesized_sql_expr8SQLiteImpl._guess_if_default_is_unparenthesized_sql_expr   sI     XXlD))XXi&&XXk4((r,   c               (    V ^8  d   QhRRRRRRRR/# )	r#   	inspectorr   tabler   column_infozDict[str, Any]r%   Noner'   )r(   s   "r)   r*   r+      s8     H HH H $	H
 
Hr,   c                	z    V P                  VP                  R R4      4      '       d   RVR ,          : R2VR &   R# R# )defaultN())r\   get)r7   r_   r`   ra   s   &&&&r)   autogen_column_reflect!SQLiteImpl.autogen_column_reflect   sA     ==OOIt,
 
 0;9/E/E%GK	"
r,   c               $    V ^8  d   QhRRRRRR/# )r#   rY   r   is_server_defaultr&   r%   strr'   )r(   s   "r)   r*   r+      s$      !6:	r,   c                	z   < \         SV `  ! V3R V/VB pV'       d   V P                  V4      '       d   RV: R2pV# )rk   re   rf   )superrender_ddl_sql_exprr\   )r7   rY   rk   r?   str_expr	__class__s   &&&, r)   ro   SQLiteImpl.render_ddl_sql_expr   sJ    
 7.
$5
9;

 BB8LL!)+Hr,   c               (    V ^8  d   QhRRRRRRRR/# )	r#   existingrN   existing_transferz"Dict[str, Union[TypeEngine, Cast]]new_typer   r%   rb   r'   )r(   s   "r)   r*   r+      s2       > 	
 
r,   c                	    VP                   P                  VP                  Jd1   \        V\        4      '       g   \	        VR ,          V4      VR &   R# R# R# )rY   N)type_type_affinityr2   r   r	   )r7   rt   ru   rv   s   &&&&r)   cast_for_batch_migrate!SQLiteImpl.cast_for_batch_migrate   sN     MM((0G0GGx..(,!&)8)f% / Hr,   c                	(    V P                  WB4       R # )N)_skip_functional_indexes)r7   conn_unique_constraintsconn_indexesmetadata_unique_constraintsmetadata_indexess   &&&&&r)   correct_for_autogen_constraints*SQLiteImpl.correct_for_autogen_constraints   s     	%%&6Er,   r'   )F)__name__
__module____qualname____firstlineno____dialect__transactional_ddlr:   rF   rJ   rV   r\   rh   ro   rz   r   __static_attributes____classcell__)rq   s   @r)   r    r    )   sN    K8"G6*H  F Fr,   r    r!   c               $    V ^8  d   QhRRRRRR/# )r#   elementr   compilerr   r%   rl   r'   )r(   s   "r)   r*   r*      s$      $/r,   c                x    \        WP                  V P                  4      : R \        WP                  R4      : 2# )z RENAME TO N)r   
table_namer   r   new_table_namer   r   r?   s   &&,r)   visit_rename_tabler      s2    
 	H00'..A($:$:DA r,   c               $    V ^8  d   QhRRRRRR/# )r#   r   r   r   r   r%   rl   r'   )r(   s   "r)   r*   r*      s!      z [ 3 r,   c                    \        WP                  V P                  4      : R \        WP                  4      : R\        WP
                  4      : 2# )z RENAME COLUMN z TO )r   r   r   r   column_namenewnamer   s   &&,r)   visit_column_namer      s<     	H00'..A8%8%898__5 r,   )-
__future__r   rT   typingr   r   r   r   r   
sqlalchemyr	   r
   r   r   r   baser   r   r   r   r   implr    r   util.sqla_compatr   sqlalchemy.engine.reflectionr   sqlalchemy.sql.compilerr   sqlalchemy.sql.elementsr   r   sqlalchemy.sql.schemar   r   r   sqlalchemy.sql.type_apir   operations.batchr   r    r   r   r'   r,   r)   <module>r      s    # 	              $ #    '63,5,0+26_F _FD 
+x  ! 
*h  r,   