bgddlmZddlZddlmZddlmZddlmZddlmZddl m Z dd l m Z dd l m Z dd l mZdd l mZdd l mZddl mZddl mZddl mZddl mZddl mZddl mZddl mZddl mZddlmZerddlmZddlmZddlm Z GddeZ!ee dd7d#Z"eedd8d%Z#eedd9d'Z$eedd:d)Z%eedd;d+Z&eeddd1Z)d?d4Z*eedd@d6Z+dS)A) annotationsN)Any)Optional) TYPE_CHECKING)compiles)sqltypes) AddColumn) alter_table) ColumnComment) ColumnDefault) ColumnName)ColumnNullable) ColumnTypeformat_column_name)format_server_default)format_table_name) format_type)IdentityColumnDefault) RenameTable) DefaultImpl)OracleDDLCompiler) CursorResult)Columnc|eZdZdZdZdZdZejddhhdhdfzZd Z dfd Z dfd Z dZ ddZ ddZxZS) OracleImploracleF/VARCHARVARCHAR2>BIGINTNUMBERDECIMALINTEGERNUMERICSMALLINT>FLOATDOUBLEDOUBLE_PRECISIONreturnNonectj|i||jd|j|_dS)Noracle_batch_separator)super__init__ context_optsgetbatch_separator)selfargkw __class__s I/opt/cloudlinux/venv/lib64/python3.11/site-packages/alembic/ddl/oracle.pyr2zOracleImpl.__init__,sH#$$$$#044 $d&:   constructrOptional[CursorResult]ctj|g|Ri|}|jr!|jr||j|S)N)r1_execas_sqlr5 static_output)r6r<argsr8resultr9s r:r?zOracleImpl._exec2sXy64666266 ; 54/ 5   t3 4 4 4 r;c|,tjdd|}tjdd|}|@tjdd|}tjdd|}|}||kS)Nz ^\((.+)\)$z\1z^\"?'(.+)'\"?$)resubstrip)r6inspector_columnmetadata_columnrendered_metadata_defaultrendered_inspector_defaults r:compare_server_defaultz!OracleImpl.compare_server_default8s % 0(*u&?)) %)+!5*C)) % & 1)+u&@** &*,!5*D** &*D)I)I)K)K &)-FFFr;c0|ddS)NzSET TRANSACTION READ WRITEr?r6s r: emit_beginzOracleImpl.emit_beginTs /00000r;c0|ddS)NCOMMITrNrOs r: emit_commitzOracleImpl.emit_commitWs 8r;)r-r.)r<rr-r=)__name__ __module__ __qualname__ __dialect__transactional_ddlr5command_terminatorr type_synonymsidentity_attrs_ignorer2r?rLrPrS __classcell__)r9s@r:rr sKO- JIII///1M        GGG81111r;rrelementr compilerrr-strc dt||j|jdt||jfi|S)N )r table_nameschema add_columncolumnr]r^r8s r:visit_add_columnrg[sB Hg0'.AAAA8W^22r222 r;rc t||j|jdt||jd|jrdndS)NraNULLzNOT NULL)r rbrc alter_column column_namenullablerfs r:visit_column_nullablermesP Hg0'.AAAAXw23333"2 2 r;rc t||j|jdt||jddt ||jzS)Nraz%s)r rbrcrjrkrtype_rfs r:visit_column_typerppsU Hg0'.AAAAXw23333 {8W]3333 r;rc t||j|jdt||jdt||jS)Nz RENAME COLUMN z TO )r rbrcrrknewnamerfs r:visit_column_namers{sP Hg0'.AAAA8W%899998W_555 r;r c t||j|jdt||jd|jdt ||jzndS)Nraz DEFAULT %sz DEFAULT NULL)r rbrcrjrkdefaultrrfs r:visit_column_defaultrvsh Hg0'.AAAAXw23333 ? & ,XwGGGG   r;r c d}|j|j|jndtj}||j|j|S)Nz9COMMENT ON COLUMN {table_name}.{column_name} IS {comment}r )rbrkcomment) sql_compilerrender_literal_valuerxrStringformatrbrk)r]r^r8ddlrxs r:visit_column_commentr~si FC#88#O7RG ::%'   r;rc jt||j|jdt||jdS)Nz RENAME TO )r rbrcrnew_table_namerfs r:visit_rename_tablers= Hg0'.AAAA(G$:DAAA r;namec(dt||zS)Nz MODIFY %sr)r^rs r:rjrjs +Hd;; ;;r;re Column[Any]c $d|j|fi|zS)NzADD %s)get_column_specification)r^rer8s r:rdrds# 7h7EE"EE EEr;rc t||j|jdt||jd}|j|dz }|S|||jz }|S)Nraz DROP IDENTITY)r rbrcrjrkruvisit_identity_column)r]r^r8texts r:rrss Hg0'.AAAAXw23333 D   ..w??? r;)r]r r^rr-r_)r]rr^rr-r_)r]rr^rr-r_)r]rr^rr-r_)r]r r^rr-r_)r]r r^rr-r_)r]rr^rr-r_)r^rrr_r-r_)r^rrerr-r_)r]rr^r), __future__rrEtypingrrrsqlalchemy.ext.compilerrsqlalchemy.sqlrbaser r r r rrrrrrrrrimplrsqlalchemy.dialects.oracle.basersqlalchemy.engine.cursorrsqlalchemy.sql.schemarrrgrmrprsrvr~rrjrdrr,r;r:rs~""""""  ,,,,,,###### $$$$$$''''''######''''''-AAAAAA555555,,,,,,88888888v )X .(##$# *h  *h  -""   #"  -""#"" +x  ! <<<<FFFF  **   +*   r;