+
    Tj;                         ^ RI t ^ RIHtHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
HtHtHtHtHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ]R 4       t ! R R]4      tR# )    N)	lru_cachepartial)settings)BaseDatabaseOperations)InsertUnnest)InetJsonberrorsis_psycopg3mogrifysplit_tzname_delta)
OnConflict)Cast)_lazy_re_compilec                 `    V f   \         P                  # \        \         P                  V R7      # )N)cls)jsondumpsr   )encoders   &]/var/www/idalgo/venv/lib/python3.14/site-packages/django/db/backends/postgresql/operations.pyget_json_dumpsr      s"    zz4::7++    c                   Z  a a ] tR t^t oRtRtRt]! . R<O4      tRRRRRR	/t	]
'       dQ   ^ R
IHt R]P                  R]P                  R]P                  R]P                  R]P                  R]P                  /tR t]! R4      tR tR=R ltR tR tR tR tR tR tR tR=R ltR tV 3R ltR=R lt R  t!R! t"R" t#R# t$R$ t%R%R&R'R&/R( lt&R) t'R>R* lt(R+ t)R, t*R- t+R. t,]
'       d   R/ t-MR0 t-]
'       d   R1 t.R2 t/R3 t0R4 t1R5 t2R6 t3V 3R7 lt4R=V 3R8 llt5V 3R9 lt6V 3R: lt7R;t8Vt9V ;t:# )?DatabaseOperationsz&django.db.backends.postgresql.compilervarcharEXPLAIN	AutoFieldintegerBigAutoFieldbigintSmallAutoFieldsmallint)numericSmallIntegerFieldIntegerFieldBigIntegerFieldPositiveSmallIntegerFieldPositiveIntegerFieldPositiveBigIntegerFieldc                    VP                  4       pVR9   d9   RVP                  V P                  4      P                  R4      ^ ,          ,          # R# )GenericIPAddressFieldzCAST(%%s AS %s)(%s)r,   IPAddressField	TimeField	UUIDField)get_internal_typedb_type
connectionsplit)selfoutput_fieldinternal_types   && r   unification_cast_sql'DatabaseOperations.unification_cast_sql@   sR    $668 
 
 "L$8$8$I$O$OPS$TUV$WW r   z[A-Z_]+c                    VR 8X  d	   RV R2V3# VR8X  d	   RV R2V3# VR8X  d	   RV R2V3# VP                  4       pV P                  P                  V4      '       g   \        RV: 24      hR	V R
V R2V3# )week_dayzEXTRACT(DOW FROM z) + 1iso_week_dayzEXTRACT(ISODOW FROM )iso_yearzEXTRACT(ISOYEAR FROM zInvalid lookup type: zEXTRACT(z FROM )upper_extract_format_re	fullmatch
ValueErrorr6   lookup_typesqlparamss   &&&&r   date_extract_sql#DatabaseOperations.date_extract_sqlW   s    *$&se51699N*)#a0&88J&*3%q1699!'')&&00==4[ODEE+fSE3V;;r   c                B    V P                  W#V4      w  r#R V R2V.VO53# DATE_TRUNC(%s, r>   _convert_sql_to_tzr6   rE   rF   rG   tznames   &&&&&r   date_trunc_sql!DatabaseOperations.date_trunc_sqlf   2    --c6B Q'+)?)???r   c                X    \        V4      w  rpV'       d   VR 8X  d   RMR pV V V 2# V# )+-r   )r6   rP   signoffsets   &&  r   _prepare_tzname_delta(DatabaseOperations._prepare_tzname_deltak   s9    1&9f#+33DXdVF8,,r   c                ~    V'       d4   \         P                  '       d   V P                  V4      pV R 2. VOVN53# W3# )z AT TIME ZONE %s)r   USE_TZrY   )r6   rF   rG   rP   tzname_params   &&&& r   rN   %DatabaseOperations._convert_sql_to_tzr   sC    hooo55f=LU*+-Dv-D|-DDD{r   c                :    V P                  WV4      w  rR V R2V3# )r-   z)::daterM   r6   rF   rG   rP   s   &&&&r   datetime_cast_date_sql)DatabaseOperations.datetime_cast_date_sqlx   *    --c6B3%w''r   c                :    V P                  WV4      w  rR V R2V3# )r-   )::timerM   r`   s   &&&&r   datetime_cast_time_sql)DatabaseOperations.datetime_cast_time_sql|   rc   r   c                t    V P                  W#V4      w  r#VR 8X  d   RV R2R .VO53# V P                  WV4      # secondz#EXTRACT(SECOND FROM DATE_TRUNC(%s, )))rN   rH   rO   s   &&&&&r   datetime_extract_sql'DatabaseOperations.datetime_extract_sql   sM    --c6B("8R@8BUfBUUU$$[v>>r   c                B    V P                  W#V4      w  r#R V R2V.VO53# rK   rM   rO   s   &&&&&r   datetime_trunc_sql%DatabaseOperations.datetime_trunc_sql   rS   r   c                L    VR 8X  d   RV R2R .VO53# V P                  WV4      # ri   )rH   rD   s   &&&&r   time_extract_sql#DatabaseOperations.time_extract_sql   s9    ("8R@8BUfBUUU$$[v>>r   c                B    V P                  W#V4      w  r#R V R2V.VO53# )rL   re   rM   rO   s   &&&&&r   time_trunc_sql!DatabaseOperations.time_trunc_sql   s2    --c6B W-/Ef/EEEr   c                    R # )z DEFERRABLE INITIALLY DEFERRED r6   s   &r   deferrable_sql!DatabaseOperations.deferrable_sql   s    /r   c                X   < \        V\        4      '       d   R V 2# \        SV `  W4      # )zSELECT * FROM )
isinstancer   superbulk_insert_sql)r6   fieldsplaceholder_rows	__class__s   &&&r   r   "DatabaseOperations.bulk_insert_sql   s0    &55#$4#566w&v@@r   c                P    R pVR9   d   VR9   d   RpMRpVR9   d
   RV,          pV# )r.   zHOST(%s)z%s::textz	UPPER(%s))	iexactcontains	icontains
startswithistartswithendswith	iendswithregexiregex)r/   r,   )r   r   r   r   rx   )r6   rE   r8   lookups   &&& r   lookup_castDatabaseOperations.lookup_cast   sC     

 

  KK## MM 6)Fr   c                    R # Nrx   ry   s   &r   no_limit_value!DatabaseOperations.no_limit_value   s    r   c                    V.# r   rx   )r6   rF   s   &&r   prepare_sql_script%DatabaseOperations.prepare_sql_script   s	    ur   c                t    VP                  R 4      '       d   VP                  R 4      '       d   V# RV,          # )"z"%s")r   r   )r6   names   &&r   
quote_nameDatabaseOperations.quote_name   s.    ??3DMM#$6$6K}r   c                .    \        WV P                  4      # r   )r   r4   )r6   rF   rG   s   &&&r   compose_sqlDatabaseOperations.compose_sql   s    sDOO44r   c                    R # )z(SELECT set_config('TimeZone', %s, false)rx   ry   s   &r   set_time_zone_sql$DatabaseOperations.set_time_zone_sql   s    9r   reset_sequencesFallow_cascadec               F  a a V'       g   . # SP                  R 4      RP                  V V3R lV 4       4      .pV'       d!   VP                  SP                  R4      4       V'       d!   VP                  SP                  R4      4       RRP                  V4      ,          .# )TRUNCATE, c              3   d   <"   T F%  pSP                  SP                  V4      4      x  K'  	  R # 5ir   )	SQL_FIELDr   ).0tabler6   styles   & r   	<genexpr>/DatabaseOperations.sql_flush.<locals>.<genexpr>   s&     R6%eoodooe&<==6s   -0zRESTART IDENTITYCASCADEz%s; )SQL_KEYWORDjoinappend)r6   r   tablesr   r   	sql_partss   ff&$$ r   	sql_flushDatabaseOperations.sql_flush   s    I
 j)IIR6RR
	 U../ABCU..y9:++,,r   c           
        . pV Fx  pVR ,          pVR,          ;'       g    RpVP                  VP                  R4      : RVP                  V P                  V4      4      : RVP	                  V4      : R24       Kz  	  V# )r   columnidSELECT  setval(pg_get_serial_sequence('','z'), 1, false);)r   r   	SQL_TABLEr   r   )r6   r   	sequencesrF   sequence_info
table_namecolumn_names   &&&    r   sequence_reset_by_name_sql-DatabaseOperations.sequence_reset_by_name_sql   sz     &M&w/J (199TKJJ %%h/OODOOJ$?@OOK0	 ' 
r   c                r    V'       d   R V P                  V4      ,          # RV P                  V4      ,          # )zUSING INDEX TABLESPACE %szTABLESPACE %s)r   )r6   
tablespaceinlines   &&&r   tablespace_sql!DatabaseOperations.tablespace_sql   s-    .1LLL"T__Z%@@@r   c                   ^ RI Hp . pV P                  pV EFH  pVP                  P                   EF)  p\        WsP                  4      '       g   K!  VP                  VP                  R4      : RVP                  V! VP                  P                  4      4      : RVP                  VP                  4      : RVP                  V! VP                  4      4      : RVP                  V! VP                  4      4      : RVP                  R4      : R	VP                  R
4      : RVP                  V! VP                  P                  4      4      : R24        EKF  	  EKK  	  V# )r   )modelsr   r   r   z'), coalesce(max(z), 1), max(z) zIS NOTz null) FROMr   ;)	django.dbr   r   _metalocal_fieldsr}   r   r   r   r   db_tabler   r   )r6   r   
model_listr   outputqnmodelfs   &&&     r   sequence_reset_sql%DatabaseOperations.sequence_reset_sql   s    $__E [[--a!1!122MM "--h7!OOBu{{/C/C,DE!OOAHH5!OOBqxxL9!OOBqxxL9!--h7!--f5!OOBu{{/C/C,DE  % .  6 r   c                    V# r   rx   )r6   xs   &&r   prep_for_iexact_query(DatabaseOperations.prep_for_iexact_query  s    r   c                    ^?# )a^  
Return the maximum length of an identifier.

The maximum length of an identifier is 63 by default, but can be
changed by recompiling PostgreSQL after editing the NAMEDATALEN
macro in src/include/pg_config_manual.h.

This implementation returns 63, but can be overridden by a custom
database backend that inherits most of its behavior from this one.
rx   ry   s   &r   max_name_length"DatabaseOperations.max_name_length  s     r   c                    V'       d6   V UUu. uF  q3 F  qDNK  	  K  	  pppR RP                  V4      ,          .V3# R.. 3# u uppi )zDISTINCT ON (%s)r   DISTINCT)r   )r6   r   rG   
param_listparams   &&&  r   distinct_sqlDatabaseOperations.distinct_sql#  sP    .4Mf
*e*efFM'$))F*;;<fEE<## Ns   Ac                J   V P                   P                  P                  '       d    V P                  W#4      # VP                  '       d=   VP                  P                  e%   VP                  P                  P                  4       # R #   \        P
                   d     R # i ; ir   )	r4   featuresuses_server_side_bindingr   r
   	DataError_queryquerydecoder6   cursorrF   rG   s   &&&&r   last_executed_query&DatabaseOperations.last_executed_query,  s~    ''@@@ ++C88 ===V]]%8%8%D!==..5577 ''   s   B	 	B"!B"c                V    VP                   e   VP                   P                  4       # R # r   )r   r   r   s   &&&&r   r   r   9  s$     ||'||**,,r   c                d    Ve   \        VR4      '       d   V# V P                  V,          ! V4      # )Nresolve_expression)hasattrintegerfield_type_map)r6   valuer8   s   &&&r   adapt_integerfield_value+DatabaseOperations.adapt_integerfield_valueB  s/    }/C D D--m<UCCr   c                    V# r   rx   r6   r   s   &&r   adapt_datefield_value(DatabaseOperations.adapt_datefield_valueG      r   c                    V# r   rx   r   s   &&r   adapt_datetimefield_value,DatabaseOperations.adapt_datetimefield_valueJ  r   r   c                    V# r   rx   r   s   &&r   adapt_timefield_value(DatabaseOperations.adapt_timefield_valueM  r   r   c                ,    V'       d   \        V4      # R # r   )r   r   s   &&r   adapt_ipaddressfield_value-DatabaseOperations.adapt_ipaddressfield_valueP  s    ;r   c                .    \        V\        V4      R 7      # ))r   )r	   r   )r6   r   r   s   &&&r   adapt_json_value#DatabaseOperations.adapt_json_valueU  s    U."9::r   c                j   < VR 8X  d   Vw  rEVw  rg. VOVO5pRV: RV: R2V3# \         S	V `  WV4      # )	DateFieldz(interval '1 day' * (z - rk   )r~   subtract_temporals)
r6   r8   lhsrhslhs_sql
lhs_paramsrhs_sql
rhs_paramsrG   r   s
   &&&&     r   r  %DatabaseOperations.subtract_temporalsX  sL    K'"%G"%G/z/J/F7>H&PPw)-cBBr   c                4  < / pVP                  R R4      ;p'       d)   VP                  4       R	9   d   VP                  4       VR&   V'       dl   VP                  4        UUu/ uF   w  rVVP                  4       V'       d   RMRbK"  	  pppV P                   F  pVP                  VR4      pVf   K  WcV&   K!  	  \        S	V `  ! V3/ VB pV'       d   WR&   V'       d5   VRRP                  R VP                  4        4       4      ,          ,          pV# u uppi )
	serializeN	SERIALIZEtruefalseFORMATz (%s)r   c              3   4   "   T F  pR V,          x  K  	  R# 5i)z%s %sNrx   )r   is   & r   r   :DatabaseOperations.explain_query_prefix.<locals>.<genexpr>s  s     )M}!'A++}s   >   TEXTBINARY)popr@   itemsexplain_optionsr~   explain_query_prefixr   )
r6   formatoptionsextrar  r   r   valid_optionprefixr   s
   &&,      r   r"  'DatabaseOperations.explain_query_prefix`  s    K6696 $66%.__%6k" $+==?#2KD 

f7:#2   !% 4 4L$7$*/,' !5 -f@@$(Og		)Mu{{})M MMMFs   !&Dc                T  < V\         P                  8X  d   R # V\         P                  8X  df   RRP                  \	        V P
                  V4      4      : RRP                  \	        V P
                  V4       Uu. uF
  pV RV 2NK  	  up4      : 2# \        SV `  VVVV4      # u upi )zON CONFLICT DO NOTHINGzON CONFLICT(r   z) DO UPDATE SET z = EXCLUDED.)r   IGNOREUPDATEr   mapr   r~   on_conflict_suffix_sql)r6   r   on_conflictupdate_fieldsunique_fieldsfieldr   s   &&&&& r   r-  )DatabaseOperations.on_conflict_suffix_sqlv  s    *++++*+++		#doo}=>		 &)-%H%HE !'eW5%H  w-	
 	
s   9B%c                   < \         SV `  WW44      w  rVVP                  V P                  4      VP                  V P                  4      8w  d   \	        Wb4      pWV3# r   )r~   prepare_join_on_clauser3   r4   r   )r6   	lhs_table	lhs_field	rhs_table	rhs_fieldlhs_exprrhs_exprr   s   &&&&&  r   r4  )DatabaseOperations.prepare_join_on_clause  sU    "W;)
 T__-1B1B4??1SSH0H!!r   rx   )ANALYZEBUFFERSCOSTSGENERIC_PLANMEMORYSETTINGSr  SUMMARYTIMINGVERBOSEWALr   )F);__name__
__module____qualname____firstlineno__compiler_module"cast_char_field_without_max_lengthexplain_prefix	frozensetr!  cast_data_typesr   psycopg.typesr$   Int2Int4Int8r   r9   r   rA   rH   rQ   rY   rN   ra   rf   rl   ro   rr   ru   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r"  r-  r4  __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r   r      st    >O)2&N	
O  	Y*O )  GLLw||'"GLL%w||!
* **5<@
((?@
?F0A
2
5:-% -u - &A D$ 			 	D

;C,
(" "r   r   )r   	functoolsr   r   django.confr   "django.db.backends.base.operationsr   &django.db.backends.postgresql.compilerr   )django.db.backends.postgresql.psycopg_anyr   r	   r
   r   r   django.db.backends.utilsr   django.db.models.constantsr   django.db.models.functionsr   django.utils.regex_helperr   r   r   rx   r   r   <module>r`     sO     (   E ?  8 1 + 6 , ,w"/ w"r   