U
    –ÀÂh^  ã                   @  sÀ   d dl mZ d dlmZ d dlmZ ddlm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je ƒZG dd„ deje ƒZG dd„ de	ƒZG dd„ deƒZdddœdd„ZdS )é    )Úannotations)ÚAny)ÚCallableé   )ÚMariaDBIdentifierPreparer)ÚMySQLDialect)ÚMySQLIdentifierPreparer)ÚMySQLTypeCompileré   )Úsqltypesc                   @  s   e Zd ZdZd ZdS )ÚINET4z@INET4 column type for MariaDB

    .. versionadded:: 2.0.37
    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Z__visit_name__© r   r   úE/tmp/pip-unpacked-wheel-y9ln43lq/sqlalchemy/dialects/mysql/mariadb.pyr      s   r   c                   @  s   e Zd ZdZd ZdS )ÚINET6z@INET6 column type for MariaDB

    .. versionadded:: 2.0.37
    Nr   r   r   r   r   r      s   r   c                   @  s0   e Zd Zddddœdd„Zddddœdd	„Zd
S )ÚMariaDBTypeCompilerr   r   Ústr)Útype_ÚkwargsÚreturnc                 K  s   dS )Nr   r   ©Úselfr   r   r   r   r   Úvisit_INET4'   s    zMariaDBTypeCompiler.visit_INET4r   c                 K  s   dS )Nr   r   r   r   r   r   Úvisit_INET6*   s    zMariaDBTypeCompiler.visit_INET6N)r   r   r   r   r   r   r   r   r   r   &   s   r   c                   @  s*   e Zd ZU dZdZdZeZded< e	Z
dS )ÚMariaDBDialectTZmariadbztype[MySQLIdentifierPreparer]ÚpreparerN)r   r   r   Z
is_mariadbÚsupports_statement_cacheÚnamer   r   Ú__annotations__r   Ztype_compiler_clsr   r   r   r   r   .   s
   
r   r   z"Callable[[], type[MariaDBDialect]])Údriverr   c                 C  sP   t d|  ƒjj}t|| ƒ}t|dƒr.|j}|S |j}td|  t|fddiƒS d S )Nzsqlalchemy.dialects.mysql.%sÚmariadb_dialectzMariaDBDialect_%sr    T)	Ú
__import__ZdialectsZmysqlÚgetattrÚhasattrr$   ÚdialectÚtyper   )r#   Zdialect_modZ
driver_modZ
driver_clsr   r   r   Úloader6   s    ÿ

þúr*   N)Ú
__future__r   Útypingr   r   Úbaser   r   r   r	   Zsqlr   Z
TypeEnginer   r   r   r   r   r*   r   r   r   r   Ú<module>   s   		