PK APOCALYPSE V1

APOCALYPSE V1

Current Path : /opt/hc_python/lib/python3.12/site-packages/alembic/ddl/__pycache__/
Upload File :
Current File : //opt/hc_python/lib/python3.12/site-packages/alembic/ddl/__pycache__/mssql.cpython-312.pyc

�

���g�7��z�ddlmZddlZddlmZddlmZddlmZddlmZddlmZddlm	Z	dd	l
mZdd
l
mZddl
mZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddl!m"Z"ddl#m$Z$ddl$m%Z%ddl&m'Z'er6dd lm(Z(dd!l)m*Z*dd"l)m+Z+dd#l,m-Z-dd$l.m/Z/dd%l.m0Z0dd&l1m2Z2dd'l3m4Z4dd(lm5Z5Gd)�d*e"�Z6Gd+�d,ee�Z7Gd-�d.ee�Z8e'e7d/�						d9d0��Z9e'e8d/�						d:d1��Z:e'ed/�d;d2��Z;						d<d3�Z<e'ed/�						d=d4��Z=e'ed/�						d>d5��Z>e'ed/�						d?d6��Z?e'ed/�						d@d7��Z@e'e d/�						dAd8��ZAy)B�)�annotationsN)�Any)�Dict)�List)�Optional)�
TYPE_CHECKING)�Union)�types)�Column)�CreateIndex)�
Executable)�
ClauseElement�)�	AddColumn)�alter_column)�alter_table)�
ColumnDefault)�
ColumnName)�ColumnNullable)�
ColumnType)�format_column_name)�format_server_default)�format_table_name)�format_type)�RenameTable)�DefaultImpl�)�util)�sqla_compat)�compiles)�Literal)�
MSDDLCompiler)�
MSSQLCompiler)�CursorResult)�Index)�Table)�TableClause)�
TypeEngine)�_ServerDefaultc�@��eZdZdZdZdZejddhfzZejdzZd�fd�Z	d�fd�Z
dd	�Zd�fd
�Z								d																							d�fd�
Z
dd�Z								d�fd
�Z	d							d�fd�
Zd�Z�fd�Z						dd�Z�xZS)�	MSSQLImpl�mssqlT�GO�VARCHAR�NVARCHAR)�minvalue�maxvalue�
nominvalue�
nomaxvalue�cycle�cachec�z��t�|�|i|��|jjd|j�|_y)N�mssql_batch_separator)�super�__init__�context_opts�get�batch_separator)�self�arg�kw�	__class__s   ��@/opt/hc_python/lib/python3.12/site-packages/alembic/ddl/mssql.pyr9zMSSQLImpl.__init__Bs9���
���#�$��$�#�0�0�4�4�#�T�%9�%9� 
���c���t�|�|g|��i|��}|jr'|jr|j	|j�|S�N)r8�_exec�as_sqlr<�
static_output)r=�	construct�argsr?�resultr@s     �rArEzMSSQLImpl._execHsC������y�6�4�6�2�6���;�;�4�/�/����t�3�3�4��
rBc�@�|jd|jz�y)NzBEGIN TRANSACTION)rG�command_terminator)r=s rA�
emit_beginzMSSQLImpl.emit_beginNs�����.��1H�1H�H�IrBc���t�|��|jr)|jr|j	|j�yyyrD)r8�emit_commitrFr<rG)r=r@s �rArOzMSSQLImpl.emit_commitQs8���
�����;�;�4�/�/����t�3�3�4�0�;rBc	����|�|�|}d}n9|�7tjd��|
�	|�|
}|}d}n|�tjd�d}tj||	�stj
||	�rd}||d<|	|d<t
�
|�||f|||||
d�|��|dur<|dur8|	dus|�|jt||d|��|�t�
|�||||�	�|�t�
|�||||�
�yy)NzhMS-SQL ALTER COLUMN operations with NULL or NOT NULL require the existing_type or a new type_ be passed.z�MS-SQL ALTER COLUMN operations that specify type_= should also specify a nullable= or existing_nullable= argument to avoid implicit conversion of NOT NULL columns to NULL.FT�server_default�existing_server_default)�nullable�type_�schema�
existing_type�existing_nullable�sys.default_constraints)rUrQ)rU�name)
r�CommandError�warnr�_server_default_is_identity�_server_default_is_computedr8rrE�_ExecDropConstraint)r=�
table_name�column_namerSrQrYrTrUrVrRrWr?�used_defaultr@s             �rArzMSSQLImpl.alter_columnVs{��� ��� �!&�
����&��'�'�>���
�
*�u�/@�(�H�"�M��E�
�
��I�I�/�
����2�2��3�
�
�
4�
4��3�
� �L�#1�B�� �,C�B�(�)�
�����		
����'�/�		
��		
���&�<�5�+@�&�e�3�~�7M��
�
�'�"�#�1��	���)���$���!�#1�	%�����G� ��K��T�
!�
�rBc�<�|jjdd�xsd}|j�J�|D]N}||jjvs�|jj	t|tj���P|jt|fi|���y)N�
mssql_include�)
�kwargsr;�table�c�
append_columnr�sqltypes�NullTyperEr)r=�indexr?rc�cols     rA�create_indexzMSSQLImpl.create_index�s������(�(��$�?�E�2�
��{�{�&�&�&� �C��%�+�+�-�-�'����)�)�&��h�6G�6G�*H�I�!�	
�
�
�;�u�+��+�,rBc�@��|jr�|jd|jjj	|�z�t�|�||fi|��|jd|jjj	|�z�yt�|�||fi|��y)NzSET IDENTITY_INSERT %s ONzSET IDENTITY_INSERT %s OFF)rFrE�dialect�identifier_preparer�format_tabler8�bulk_insert)r=rf�rowsr?r@s    �rArrzMSSQLImpl.bulk_insert�s�����;�;��J�J�+��,�,�2�2�?�?��F�G�
�
�G���t�2�r�2��J�J�,��,�,�2�2�?�?��F�G�
�

�G���t�2�r�2rBc�P��|jdd�}|r|jt||d|��|jdd�}|r|jt||d|��|jdd�}|r|jt|||��t	�|�||fd|i|��y)N�mssql_drop_defaultFrX�mssql_drop_checkzsys.check_constraints�mssql_drop_foreign_keyrU)�poprEr^�_ExecDropFKConstraintr8�drop_column)	r=r_�columnrUr?�drop_default�
drop_check�drop_fksr@s	        �rArzzMSSQLImpl.drop_column�s�����v�v�2�E�:����J�J�#���(A�6��
�
�V�V�.��6�
���J�J�#���(?���
�
�6�6�2�E�:����J�J�,�Z���H�I�
���J��D�v�D��DrBc�p�|�tjdd|�}|�tjdd|�}||k7S)Nz[\(\) \"\']�)�re�sub)r=�inspector_column�metadata_column�rendered_metadata_default�rendered_inspector_defaults     rA�compare_server_defaultz MSSQLImpl.compare_server_default�sP��%�0�(*�����$=�)�%�&�1�*,�����$>�*�&�*�-F�F�FrBc���t�|�||�\}}}|�(|�&|s$|j�|jjrd}|||fS)NF)r8�_compare_identity_defaultr{�primary_key)r=�metadata_identity�inspector_identity�diff�ignored�is_alterr@s      �rAr�z#MSSQLImpl._compare_identity_default�s_���"'�'�"C��1�#
���g�x�

�%�"�.��"�)�)�5�"�)�)�5�5��H��W�h�&�&rBc���|jdi�j�}|jd�s|jdd�|jd�s|jdd�|S)N�dialect_optionsrc�mssql_clustered)r;�copyrx)r=�reflected_object�kind�optionss    rA� adjust_reflected_dialect_optionsz*MSSQLImpl.adjust_reflected_dialect_optionss[��#�&�&�'8�"�=�B�B�D���{�{�?�+��K�K���.��{�{�,�-��K�K�)�4�0��rB)�return�None)rHrr�zOptional[CursorResult])NFNNNNNN)r_�strr`r�rS�Optional[bool]rQz/Optional[Union[_ServerDefault, Literal[False]]]rY�
Optional[str]rT�Optional[TypeEngine]rUr�rVr�rRzOptional[_ServerDefault]rWr�r?rr�r�)rkr%r?rr�r�)rfzUnion[TableClause, Table]rsz
List[dict]r?rr�r�rD)r_r�r{�Column[Any]rUr�r�r�)r��Dict[str, Any]r�r�r�r�)�__name__�
__module__�__qualname__�__dialect__�transactional_ddlr<r�
type_synonyms�identity_attrs_ignorer9rErMrOrrmrrrzr�r�r��
__classcell__)r@s@rAr+r+3s�����K����O��-�-�)�Z�1H�0J�J�M�'�=�=�A���
��J�5�$(�
�"�&*� $�.2�<@�,0�V��V��V�!�	V�

�V��V�$�V��V�,�V�":�V�*�V��V�
�V�p	-�3�.�3�6@�3�HK�3�	
�3�(!%�	E��E��E��	E�
�
E�4G�,'�$	� .�	�69�	�	�	rBr+c�,�eZdZdZ										dd�Zy)r^Fc�<�||_||_||_||_yrD)�tname�colnamerTrU)r=r�r�rTrUs     rAr9z_ExecDropConstraint.__init__s ����
������
���rBN)
r�r�r�zUnion[Column[Any], str]rTr�rUr�r�r��r�r�r��
inherit_cacher9rdrBrAr^r^s<���M�
��
�)�
��	
�
�
�
�
rBr^c�(�eZdZdZ								dd�Zy)ryFc�.�||_||_||_yrD)r�r�rU)r=r�r�rUs    rAr9z_ExecDropFKConstraint.__init__*s����
������rBN)r�r�r�r�rUr�r�r�r�rdrBrAryry's,���M����#.��8E��	
�rBryr,c	��|j|j|j|jf\}}}}d|||t	|||�|r	|dzd�zSdd�zS)Nadeclare @const_name varchar(256)
select @const_name = QUOTENAME([name]) from %(type)s
where parent_object_id = object_id('%(schema_dot)s%(tname)s')
and col_name(parent_object_id, parent_column_id) = '%(colname)s'
exec('alter table %(tname_quoted)s drop constraint ' + @const_name)�.r�)�typer�r��tname_quoted�
schema_dot)rUr�r�rTr)�element�compilerr?rUr�r�rTs       rA�_exec_drop_col_constraintr�2s{��
	����
�
�����
�
�	%�!�F�E�7�E�G�
���)�(�E�6�B�&,�f�s�l�J�	
�
�35�J�	
�
rBc��|j|j|j}}}d||t|||�|r	|dzd�zSdd�zS)Naydeclare @const_name varchar(256)
select @const_name = QUOTENAME([name]) from
sys.foreign_keys fk join sys.foreign_key_columns fkc
on fk.object_id=fkc.constraint_object_id
where fkc.parent_object_id = object_id('%(schema_dot)s%(tname)s')
and col_name(fkc.parent_object_id, fkc.parent_column_id) = '%(colname)s'
exec('alter table %(tname_quoted)s drop constraint ' + @const_name)r�r�)r�r�r�r�)rUr�r�r)r�r�r?rUr�r�s      rA�_exec_drop_col_fk_constraintr�Kse��%�^�^�W�]�]�G�O�O�7�E�F�G���)�(�E�6�B�&,�f�s�l�	J�
��35�	J�
�rBc�x�t||j|j��dt||jfi|����S�N� )rr_rU�mssql_add_columnr{�r�r�r?s   rA�visit_add_columnr�_s7��	�H�g�0�0�'�.�.�A���7�>�>�8�R�8��rBc�.�d|j|fi|��zS)NzADD %s)�get_column_specification)r�r{r?s   rAr�r�gs"���7�h�7�7��E�"�E�E�ErBc���t||j|j��dt||j��dt||j��d|jrd��Sd��S)Nr��NULLzNOT NULL)rr_rUrr`rrVrSr�s   rA�visit_column_nullabler�msd��
	�H�g�0�0�'�.�.�A��X�w�2�2�3��H�g�3�3�4��"�"��2�	��)3�2�	�rBc��t||j|j��dt||j��dt||j���S)Nz
 ADD DEFAULT z FOR )rr_rUr�defaultrr`r�s   rA�visit_column_defaultr�ysB��	�H�g�0�0�'�.�.�A��h����8��8�W�%8�%8�9��rBc	��dt||j|j��dt||j��dt||j
��d�S)N�EXEC sp_rename 'r��', z
, 'COLUMN')rr_rUrr`�newnamer�s   rA�visit_rename_columnr��sB��
	�(�G�$6�$6����G��8�W�%8�%8�9��8�W�_�_�5��rBc��t||j|j��dt||j��dt||j���Sr�)rr_rUrr`rrTr�s   rA�visit_column_typer��sB��
	�H�g�0�0�'�.�.�A��X�w�2�2�3��H�g�m�m�,��rBc�z�dt||j|j��dt||jd���S)Nr�r�)rr_rU�new_table_namer�s   rA�visit_rename_tabler��s6��
	�(�G�$6�$6����G��(�G�$:�$:�D�A��rB)r�r^r�r#r�r�)r�ryr�r#r�r�)r�rr�r"r�r�)r�r"r{r�r�r�)r�rr�r"r�r�)r�rr�r"r�r�)r�rr�r"r�r�)r�rr�r"r�r�)r�rr�r"r�r�)B�
__future__rr��typingrrrrrr	�
sqlalchemyr
ri�sqlalchemy.schemarr�sqlalchemy.sql.baser
�sqlalchemy.sql.elementsr�baserrrrrrrrrrrr�implrr�rr�util.sqla_compatr r!�sqlalchemy.dialects.mssql.baser"r#�sqlalchemy.engine.cursorr$�sqlalchemy.sql.schemar%r&�sqlalchemy.sql.selectabler'�sqlalchemy.sql.type_apir(r)r+r^ryr�r�r�r�r�r�r�r�r�rdrBrA�<module>r�sJ��#�	����� ��(�$�)�*�1������ ��$�'�#������'���<�<�5�+�+�5�2�$�a��a�H
�*�m�
� �J�
��
�
�w�'��
 ��,9����(��0
�
��)��
"��.;����*��&
�)�W�����F��F�%0�F��F�
�.�'�"��
��'4����#��
�-��!�	�
�	�&3�	��	�"�	�
�*�g���
��#0������
�*�g���
��#0������
�+�w���
��$1���� �rB

if you don't want to be vaporized in a nuclear explosion, i simply have to become nuclear myself… i am atomic