
    *h                         S r SSKJrJrJr  SSKJr  SSKJr  SSKJ	r
  SSKJr   SSKJrJr  Sr " S
 S\
5      r	g! \ a    S	r Nf = f)zDatabase Operations.    )datetimetimetimezone)Optional)settings)DatabaseOperations)r   )datetime_to_mysqltime_to_mysqlTFc                       \ rS rSrSrSrS\S\4S jrS\\	   S\\
   4S jrS\\	   S\\
   4S	 jrS\\   S\\
   4S
 jrS\\   S\\
   4S jrSrg)r   2   zDatabase Operations class.zmysql.connector.django.compilerlookup_typereturnc                 f    U R                   R                  S:  a  US:X  a  ggUS:X  a  SOSnSU S3$ )	zNReturn the string to use in a query when performing regular
expression lookup.)   r   r   regexz%s REGEXP BINARY %sz%s REGEXP %scizREGEXP_LIKE(%s, %s, 'z'))
connectionmysql_version)selfr   match_options      Y/var/www/auris/envauris/lib/python3.13/site-packages/mysql/connector/django/operations.pyregex_lookupDatabaseOperations.regex_lookup7   sA     ??((94g%,!)W4s#&|nB77    valuec                 $    U R                  U5      $ )ztTransform a datetime value to an object compatible with what is
expected by the backend driver for datetime columns.)value_to_db_datetimer   r   s     r   adapt_datetimefield_value,DatabaseOperations.adapt_datetimefield_valueB   s     ((//r   c                    SnUc  U$ [         R                  " U5      (       aM  [        R                  (       a-  UR	                  [
        R                  5      R                  SS9nO[        S5      eU R                  R                  R                  (       d  UR                  SS9nU R                  R                  (       d  [        U5      $ U R                  R                  R                  U5      $ )z Convert value to MySQL DATETIME.N)tzinfo3MySQL backend does not support timezone-aware timesr   )microsecond)django_timezoneis_awarer   USE_TZ
astimezoner   utcreplace
ValueErrorr   featuressupports_microsecond_precisionuse_purer	   	converterto_mysql)r   r   anss      r   r   'DatabaseOperations.value_to_db_datetimeG   s    #=J##E**((6>>d>K !VWW''FFMMaM0E''$U++((11%88r   c                 $    U R                  U5      $ )zlTransform a time value to an object compatible with what is expected
by the backend driver for time columns.)value_to_db_timer   s     r   adapt_timefield_value(DatabaseOperations.adapt_timefield_valueX   s     $$U++r   c                     Uc  g[         R                  " U5      (       a  [        S5      eU R                  R                  (       d  [        U5      $ U R                  R                  R                  U5      $ )zConvert value to MySQL TIME.Nr$   )r&   r'   r,   r   r/   r
   r0   r1   r   s     r   r5   #DatabaseOperations.value_to_db_time]   s\    = ##E**RSS'' ''((11%88r    N)__name__
__module____qualname____firstlineno____doc__compiler_modulestrr   r   r   bytesr    r   r   r6   r5   __static_attributes__r:   r   r   r   r   2   s    $7O	8 	8 	80x/A 0huo 0
9(8*< 9% 9",8D> ,huo ,
9htn 9% 9r   r   N)r?   r   r   r   typingr   django.confr   #django.db.backends.mysql.operationsr   MySQLDatabaseOperationsdjango.utilsr&   _mysql_connectorr	   r
   	HAVE_CEXTImportErrorr:   r   r   <module>rL      sR   >  - -    5A I690 69  Is   < AA