
    j	                     T    S SK JrJrJrJrJr  / SQr " S S\5      r	 " S S\5      rg)    )SQLAggregateCompilerSQLCompilerSQLDeleteCompilerSQLInsertCompilerSQLUpdateCompilerc                       \ rS rSrSrS rSrg)InsertUnnest   z|
Sentinel value to signal DatabaseOperations.bulk_insert_sql() that the
UNNEST strategy should be used for the bulk insert.
c                 *    SSR                  U 5      -  $ )Nz
UNNEST(%s)z, )join)selfs    ^/var/www/html/KUNJ/venv/lib/python3.13/site-packages/django/db/backends/postgresql/compiler.py__str__InsertUnnest.__str__   s    diio--     N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r	   r	      s    
.r   r	   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )r      c           	      
  >^  [        U5      S::  d_  [        S U 5       5      (       dH  [        S U 5       5      (       d1  [        U 4S jU 5       5      (       d  [        S U 5       5      (       a  [        TT ]  X5      $ U Vs/ s H/  o3R	                  T R
                  5      R                  S5      S   PM1     nn[        U Vs/ s H  nSU-  PM
     sn5      [        [        [        [        U6 5      5      /4$ s  snf s  snf )	N   c              3   (   #    U  H  oS L v   M
     g 7fNr   .0fields     r   	<genexpr>4SQLInsertCompiler.assemble_as_sql.<locals>.<genexpr>&   s     5fUD=fs   c              3   :   #    U  H  n[        US 5      v   M     g7f)get_placeholder_sqlNhasattrr   s     r   r"   r#   +   s     MfU75"788f   c              3      >#    U  HI  nUR                   (       a  UR                  OUR                  5       TR                  R                  ;  v   MK     g 7fr   )is_relationtarget_fieldget_internal_type
connection
data_types)r    r!   r   s     r   r"   r#   /   sE       $E (-'8'8##eVVX112#s   AAc              3   F   #    U  H  n[        S  U 5       5      v   M     g7f)c              3   :   #    U  H  n[        US 5      v   M     g7f)as_sqlNr&   )r    values     r   r"   >SQLInsertCompiler.assemble_as_sql.<locals>.<genexpr>.<genexpr>5   s     ASEwuh//Sr(   N)any)r    rows     r   r"   r#   5   s     XZc3ASAAAZs   !(r   z(%%s)::%s[])lenr4   superassemble_as_sqldb_typer-   splitr	   listmapzip)r   fields
value_rowsr!   db_typesr:   	__class__s   `     r   r9   !SQLInsertCompiler.assemble_as_sql   s     
Oq  5f555
 MfMMM   $   XZXXX7*6>> OUUfUMM$//288=a@fUHMH]W4HMNT3
+,-Q
 
 	
 VMs   6C;D r   )r   r   r   r   r9   r   __classcell__)rB   s   @r   r   r      s     
  
r   r   N)
django.db.models.sql.compilerr   r   r   r   BaseSQLInsertCompilerr   __all__r<   r	   r   r   r   <module>rH      s/    .4 .!
- !
r   