o
    g                     @  s^   d Z ddlmZ ddlmZ ddlmZ ddlmZ G dd	 d	eZG d
d deeZ	e	Z
dS )a  
.. dialect:: mssql+aioodbc
    :name: aioodbc
    :dbapi: aioodbc
    :connectstring: mssql+aioodbc://<username>:<password>@<dsnname>
    :url: https://pypi.org/project/aioodbc/


Support for the SQL Server database in asyncio style, using the aioodbc
driver which itself is a thread-wrapper around pyodbc.

.. versionadded:: 2.0.23  Added the mssql+aioodbc dialect which builds
   on top of the pyodbc and general aio* dialect architecture.

Using a special asyncio mediation layer, the aioodbc dialect is usable
as the backend for the :ref:`SQLAlchemy asyncio <asyncio_toplevel>`
extension package.

Most behaviors and caveats for this driver are the same as that of the
pyodbc dialect used on SQL Server; see :ref:`mssql_pyodbc` for general
background.

This dialect should normally be used only with the
:func:`_asyncio.create_async_engine` engine creation function; connection
styles are otherwise equivalent to those documented in the pyodbc section::

    from sqlalchemy.ext.asyncio import create_async_engine

    engine = create_async_engine(
        "mssql+aioodbc://scott:tiger@mssql2017:1433/test?"
        "driver=ODBC+Driver+18+for+SQL+Server&TrustServerCertificate=yes"
    )

    )annotations   )MSDialect_pyodbc)MSExecutionContext_pyodbc   )aiodbcConnectorc                   @  s   e Zd Zdd ZdS )MSExecutionContext_aioodbcc                 C  s   | j jddS )NT)server_side)_dbapi_connectioncursor)self r   c/var/www/html/ecg_monitoring/venv/lib/python3.10/site-packages/sqlalchemy/dialects/mssql/aioodbc.pycreate_server_side_cursor3   s   z4MSExecutionContext_aioodbc.create_server_side_cursorN)__name__
__module____qualname__r   r   r   r   r   r   2   s    r   c                   @  s   e Zd ZdZdZeZdS )MSDialectAsync_aioodbcaioodbcTN)r   r   r   driversupports_statement_cacher   execution_ctx_clsr   r   r   r   r   7   s    r   N)__doc__
__future__r   pyodbcr   r   connectors.aioodbcr   r   r   dialectr   r   r   r   <module>   s   #