
    j	                     T    S SK Jr  S SKJr  S SKJr   " S S\5      r " S S\5      rg)	    )NotSupportedError)Func)	UUIDFieldc                   P   ^  \ rS rSrSrSr\" 5       rU 4S jrS r	S r
S rSrU =r$ )	UUID4   UUIDV4r   c                 r   > UR                   R                  (       a  [        TU ]  " X40 UD6$ [	        S5      e)Nz0UUID4 is not supported on this database backend.)featuressupports_uuid4_functionsuperas_sqlr   )selfcompiler
connectionextra_context	__class__s       W/var/www/html/KUNJ/venv/lib/python3.13/site-packages/django/db/models/functions/uuid.pyr   UUID4.as_sql   s2    667>(H-HH RSS    c                     UR                   R                  (       a  U R                  " X40 UD6$ U R                  " X4SS0UD6$ )NfunctionGEN_RANDOM_UUID)r   is_postgresql_18r   r   r   r   r   s       r   as_postgresqlUUID4.as_postgresql   sI    //;;xE}EE{{
+<
@M
 	
r   c                     UR                   R                  (       d'  UR                  (       a  [        S5      e[        S5      eU R                  " X4SS0UD6$ )Nz-UUID4 requires MariaDB version 11.7 or later.z UUID4 is not supported on MySQL.r   UUID_V4)r   r   mysql_is_mariadbr   r   r   s       r   as_mysqlUUID4.as_mysql   sK    ""::**'(WXX#$FGG{{8U)U}UUr   c                 x    UR                   R                  (       d  [        S5      eU R                  " X4SS0UD6$ )Nz8UUID4 requires Oracle version 23ai/26ai (23.9) or later.r   UUID)r   r   r   r   r   s       r   	as_oracleUUID4.as_oracle   s<    ""::#J  {{8R&RMRRr    )__name__
__module____qualname____firstlineno__r   arityr   output_fieldr   r   r!   r%   __static_attributes____classcell__r   s   @r   r   r      s1    HE;LT

VS Sr   r   c                   l   ^  \ rS rSrSrSr\" 5       rSU 4S jjrU 4S jr	U 4S jr
S rS rS	 rS
rU =r$ )UUID7&   UUIDV7   c                 (   > [         TU ]  " U40 UD6  g N)r   __init__)r   shiftextrar   s      r   r8   UUID7.__init__+   s    (%(r   c                 4   > US   c  USS  n[         TU ]  " U6 $ )Nr   r5   )r   _parse_expressions)r   expressionsr   s     r   r=   UUID7._parse_expressions.   s(    q>!%ab/Kw);77r   c                    > UR                   R                  (       d  [        S5      e[        U R                  5      S:X  a(  UR                   R
                  (       d  Sn[        U5      e[        TU ]  " X40 UD6$ )Nz0UUID7 is not supported on this database backend.r5   zFThe shift argument to UUID7 is not supported on this database backend.)r   supports_uuid7_functionr   lensource_expressionssupports_uuid7_function_shiftr   r   )r   r   r   r   msgr   s        r   r   UUID7.as_sql3   sk    ""::#$VWWt&&'1,&&DD0  (,,w~hDmDDr   c                 t    UR                   R                  (       a  U R                  " X40 UD6$ [        S5      e)Nz.UUID7 requires PostgreSQL version 18 or later.r   rA   r   r   r   s       r   r   UUID7.as_postgresqlA   s1    66;;xE}EE PQQr   c                 t    UR                   R                  (       a  U R                  " X40 UD6$ [        S5      e)Nz6UUID7 on SQLite requires Python version 3.14 or later.rH   r   s       r   	as_sqliteUUID7.as_sqliteG   s5    66;;xE}EED
 	
r   c                     UR                   R                  (       a  U R                  " X4SS0UD6$ UR                  (       a  [	        S5      e[	        S5      e)Nr   UUID_V7z-UUID7 requires MariaDB version 11.7 or later.z UUID7 is not supported on MySQL.)r   rA   r   r    r   r   s       r   r!   UUID7.as_mysqlN   sX    66;;/8<I  &&#$STT BCCr   r'   r7   )r(   r)   r*   r+   r   r,   r   r-   r8   r=   r   r   rK   r!   r.   r/   r0   s   @r   r2   r2   &   s;    HE;L)8
ER
D Dr   r2   N)	django.dbr   django.db.models.expressionsr   django.db.models.fieldsr   r   r2   r'   r   r   <module>rS      s+    ' - -SD S@/DD /Dr   