�
J�g�7 � � � d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm Z d d l
mZ d d
l
mZ d dl
mZ d dlmZ d d
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddl!m"Z" ddl#m$Z$ ddl$m%Z% ddl&m'Z' er6d d lm(Z( d d!l)m*Z* d d"l)m+Z+ d d#l,m-Z- d d$l.m/Z/ d d%l.m0Z0 d d&l1m2Z2 d d'l3m4Z4 dd(lm5Z5 G d)� d*e"� � Z6 G d+� d,ee� � Z7 G d-� d.ee� � Z8 e'e7d/� � dGd5�� � Z9 e'e8d/� � dHd6�� � Z: e'ed/� � dId9�� � Z;dJd<�Z< e'ed/� � dKd>�� � Z= e'ed/� � dLd@�� � Z> e'ed/� � dMdB�� � Z? e'ed/� � dNdD�� � Z@ e'e d/� � dOdF�� � ZAdS )P� )�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 �� � � e Zd ZdZdZdZej ddhfz Zej dz Zd5� fd �Z d6� fd
�Z
d5d�Zd5� fd�Z d7d8� fd#�
Z
d9d&�Zd:� fd+�Z d;d<� fd.�
Zd/� Z� fd0�Zd=d4�Z� xZS )>� MSSQLImpl�mssqlT�GO�VARCHAR�NVARCHAR)�minvalue�maxvalue�
nominvalue�
nomaxvalue�cycle�cache�return�Nonec � �� t � � j |i |�� | j � d| j � � | _ d S )N�mssql_batch_separator)�super�__init__�context_opts�get�batch_separator)�self�arg�kw� __class__s ��a/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/alembic/ddl/mssql.pyr; zMSSQLImpl.__init__B sH �� ������#�$��$�$�$�#�0�4�4�#�T�%9�
�
����� � constructr �Optional[CursorResult]c � �� t � � j |g|�R i |��}| j r!| j r| � | j � � |S �N)r: �_exec�as_sqlr>