
    LȂi
                     j    S SK JrJrJrJrJr  / SQr " S S\	5      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    WD:\sksbv-state-backend\venv\Lib\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                 D   > SU;   a  [        S5      e[        TU ]	  U5      $ )N$z?Dollar signs are not permitted in column aliases on PostgreSQL.)
ValueErrorsuperquote_name_unless_alias)r   name	__class__s     r   r   #SQLCompiler.quote_name_unless_alias   s,    $;Q  w.t44r   r   )r   r   r   r   r   r   __classcell__r!   s   @r   r   r      s    5 5r   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   8   #    U H  n[        US 5      v   M     g7f)get_placeholderNhasattrr+   s     r   r.   r/   4   s     I&75"344&   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/   8   sE       $E (-'8'8##eVVX112#s   AAc              3   D   #    U H  n[        S  U 5       5      v   M     g7f)c              3   8   #    U H  n[        US 5      v   M     g7f)as_sqlNr2   )r,   values     r   r.   >SQLInsertCompiler.assemble_as_sql.<locals>.<genexpr>.<genexpr>>   s     ASEwuh//Sr4   N)any)r,   rows     r   r.   r/   >   s     XZc3ASAAAZs    (r   z(%%s)::%s[])lenr@   r   assemble_as_sqldb_typer9   splitr	   listmapzip)r   fields
value_rowsr-   db_typesrE   r!   s   `     r   rD   !SQLInsertCompiler.assemble_as_sql&   s     
Oq  5f555
 I&III   $   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   5C9C>r   )r   r   r   r   rD   r   r#   r$   s   @r   r   r   %   s     
  
r   r   N)django.db.models.sql.compilerr   r   BaseSQLCompilerr   r   BaseSQLInsertCompilerr   __all__rG   r	   r   r   r   <module>rR      s;    .4 .5/ 5!
- !
r   