o
    ѷ6ik                     @  st   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	ZdS )    )annotations)Any)Iterable)BaseDatabaseWrapper)IntegerField)	Transform)SQLCompiler)collapse_spacesc                   @  s(   e Zd ZdZe ZedZdd	d
ZdS )	SetLengthlenz
        (
            CHAR_LENGTH(%s) -
            CHAR_LENGTH(REPLACE(%s, ',', '')) +
            IF(CHAR_LENGTH(%s), 1, 0)
        )
    compilerr   
connectionr   returntuple[str, Iterable[Any]]c                 C  s$   | | j\}}| j|||f |fS )N)compilelhsexpr)selfr   r   r   params r   c/var/www/hoanhtaovolam_webdjango/env/lib/python3.10/site-packages/django_mysql/models/transforms.pyas_sql   s   zSetLength.as_sqlN)r   r   r   r   r   r   )	__name__
__module____qualname__lookup_namer   output_fieldr	   r   r   r   r   r   r   r
      s    
r
   N)
__future__r   typingr   r   django.db.backends.base.baser   django.db.modelsr   r   django.db.models.sql.compilerr   django_mysql.utilsr	   r
   r   r   r   r   <module>   s    