
    gc                       S SK Jr  S SK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  \(       a  S SKJr  S SKJr  S SKJ r    " S S\5      r!\" \
S5            S(S j5       r"\" \S5            S)S j5       r#\" \S5            S*S  j5       r$\" \S5            S+S! j5       r%\" \S5            S,S" j5       r&\" \S5            S-S# j5       r'\" \S5            S.S$ j5       r(S/S% jr)S0S& jr*\" \S5          S1S' j5       r+g)2    )annotationsN)Any)Optional)TYPE_CHECKING)sqltypes   )	AddColumn)alter_table)ColumnComment)ColumnDefault)
ColumnName)ColumnNullable)
ColumnTypeformat_column_name)format_server_default)format_table_name)format_type)IdentityColumnDefault)RenameTable)DefaultImpl   )compiles)OracleDDLCompiler)CursorResult)Columnc                     ^  \ rS rSrSrSrSrSr\R                  SS11 Sk1 S	k4-   r	S
r
SU 4S jjrSU 4S jjrS rSS jrSS jrSrU =r$ )
OracleImpl#   oracleF/ VARCHARVARCHAR2>   BIGINTNUMBERDECIMALINTEGERNUMERICSMALLINT>   FLOATDOUBLEDOUBLE_PRECISION c                |   > [         TU ]  " U0 UD6  U R                  R                  SU R                  5      U l        g )Noracle_batch_separator)super__init__context_optsgetbatch_separator)selfargkw	__class__s      Z/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/alembic/ddl/oracle.pyr2   OracleImpl.__init__/   s9    #$$#0044$d&:&: 
    c                   > [         TU ]  " U/UQ70 UD6nU R                  (       a,  U R                  (       a  U R	                  U R                  5        U$ )N)r1   _execas_sqlr5   static_output)r6   	constructargsr8   resultr9   s        r:   r>   OracleImpl._exec5   sC    y64626;;4//t334r<   c                    Ub0  [         R                  " SSU5      n[         R                  " SSU5      nUb@  [         R                  " SSU5      n[         R                  " SSU5      nUR                  5       nXC:g  $ )Nz
^\((.+)\)$z\1z^\"?'(.+)'\"?$)resubstrip)r6   inspector_columnmetadata_columnrendered_metadata_defaultrendered_inspector_defaults        r:   compare_server_default!OracleImpl.compare_server_default;   s     %0(*u&?)% )+!5*C)% &1)+u&@*& *,!5*D*& *D)I)I)K&)FFr<   c                &    U R                  S5        g )NzSET TRANSACTION READ WRITEr>   r6   s    r:   
emit_beginOracleImpl.emit_beginW   s    

/0r<   c                &    U R                  S5        g )NCOMMITrP   rQ   s    r:   emit_commitOracleImpl.emit_commitZ   s    

8r<   )r5   )returnNone)rA   r   rX   zOptional[CursorResult])__name__
__module____qualname____firstlineno____dialect__transactional_ddlr5   command_terminatorr   type_synonymsidentity_attrs_ignorer2   r>   rM   rR   rV   __static_attributes____classcell__)r9   s   @r:   r   r   #   sc    KO--	JI/1 M
 
G81 r<   r   r    c                x    [        XR                  U R                  5      < S[        XR                  40 UD6< 3$ )N )r
   
table_nameschema
add_columncolumnelementcompilerr8   s      r:   visit_add_columnrn   ^   s3    
 	H00'..A8^^2r2 r<   c                    [        XR                  U R                  5      < S[        XR                  5      < SU R
                  (       a  S< 3$ S< 3$ )Nrf   NULLzNOT NULL)r
   rg   rh   alter_columncolumn_namenullablerk   s      r:   visit_column_nullablert   h   sP    
 	H00'..AX223""2  )32 r<   c           	         [        XR                  U R                  5      < S[        XR                  5      < SS[        XR                  5      -  < 3$ )Nrf   z%s)r
   rg   rh   rq   rr   r   type_rk   s      r:   visit_column_typerw   s   sA    
 	H00'..AX223{8]]33 r<   c                    [        XR                  U R                  5      < S[        XR                  5      < S[        XR
                  5      < 3$ )Nz RENAME COLUMN z TO )r
   rg   rh   r   rr   newnamerk   s      r:   visit_column_namerz   ~   s<    
 	H00'..A8%8%898__5 r<   c           	         [        XR                  U R                  5      < S[        XR                  5      < SU R
                  b  S[        XR
                  5      -  < 3$ S< 3$ )Nrf   z
DEFAULT %szDEFAULT NULL)r
   rg   rh   rq   rr   defaultr   rk   s      r:   visit_column_defaultr}      si    
 	H00'..AX223 * 0??KK  	    	 r<   c                    SnUR                   R                  U R                  b  U R                  OS[        R                  " 5       5      nUR                  U R                  U R                  US9$ )Nz9COMMENT ON COLUMN {table_name}.{column_name} IS {comment}r"   )rg   rr   comment)sql_compilerrender_literal_valuer   r   Stringformatrg   rr   )rl   rm   r8   ddlr   s        r:   visit_column_commentr      si     FC##88#OO7RG
 ::%%''   r<   c                x    [        XR                  U R                  5      < S[        XR                  S 5      < 3$ )Nz RENAME TO )r
   rg   rh   r   new_table_namerk   s      r:   visit_rename_tabler      s2    
 	H00'..A($:$:DA r<   c                    S[        X5      -  $ )Nz	MODIFY %sr   )rm   names     r:   rq   rq      s    +H;;;r<   c                .    SU R                   " U40 UD6-  $ )NzADD %s)get_column_specification)rm   rj   r8   s      r:   ri   ri      s    h77E"EEEr<   c                    [        XR                  U R                  5      < S[        XR                  5      < S3nU R
                  c  US-  nU$ X1R                  U R
                  5      -  nU$ )Nrf   zDROP IDENTITY)r
   rg   rh   rq   rr   r|   visit_identity_column)rl   rm   r8   texts       r:   r   r      sd    
 	H00'..AX223D ..w??r<   )rl   r	   rm   r   rX   str)rl   r   rm   r   rX   r   )rl   r   rm   r   rX   r   )rl   r   rm   r   rX   r   )rl   r   rm   r   rX   r   )rl   r   rm   r   rX   r   )rl   r   rm   r   rX   r   )rm   r   r   r   rX   r   )rm   r   rj   zColumn[Any]rX   r   )rl   r   rm   r   ),
__future__r   rF   typingr   r   r   sqlalchemy.sqlr   baser	   r
   r   r   r   r   r   r   r   r   r   r   r   implr   util.sqla_compatr   sqlalchemy.dialects.oracle.baser   sqlalchemy.engine.cursorr   sqlalchemy.sql.schemar   r   rn   rt   rw   rz   r}   r   r   rq   ri   r   r.   r<   r:   <module>r      s   # 	     #         $ ' #  '   'A5,8 8v 
)X"3  
.(#'8 $ 
*h#4   
*h#4   
-"&7 # 
-"&7 #" 
+x $5 !<F 

*".? +r<   