+
    Tj$                         ^ RI Ht ^ RIHt ^ RIHt ^ RIHtHtH	t	 ^ RI
HtHtHtHt ^ RIHtHt ^ RIHt ^ RIHt ^ R	IHt ^R
IHt R.t ! R R]4      t ! R R]]4      tR# )    )NoneType)ValidationError)DEFAULT_DB_ALIAS)Expressions	StatementTable)BaseConstraint
DeferrableFQ)ExistsExpressionList)IndexExpression)PostgresOperatorLookup)Query)CheckPostgresInstalledMixinExclusionConstraintc                       ] tR t^tRtRtR# )ExclusionConstraintExpressionz!%(expressions)s WITH %(operator)s N)__name__
__module____qualname____firstlineno__template__static_attributes__r       X/var/www/idalgo/venv/lib/python3.14/site-packages/django/contrib/postgres/constraints.pyr   r      s    2Hr   r   c                      a a ] tR t^t oRtRRRRRRRRRRRR/V 3R	 lltR
 tV 3R ltR tR t	R t
R tV 3R ltV 3R ltR tR]3R ltRtVtV ;t# )r   zdCONSTRAINT %(name)s EXCLUDE USING %(index_type)s (%(expressions)s)%(include)s%(where)s%(deferrable)s
index_typeN	condition
deferrableincludeviolation_error_codeviolation_error_messagec                 < V'       d!   VP                  4       R9  d   \        R4      hV'       g   \        R4      h\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        R4      h\        V\        \
        34      '       g   \        R4      h\        V\        \        34      '       g   \        R4      h\        V\        \        \        34      '       g   \        R	4      hW n	        T;'       g    R
V n
        W@n        WPn        V'       d   \        V4      MRV n        \        S	V `=  VVVR7       R# )gistz;Exclusion constraints only support GiST or SP-GiST indexes.zFAt least one expression is required to define an exclusion constraint.c              3   z   "   T F1  p\        V\        \        34      ;'       d    \        V4      ^8H  x  K3  	  R# 5i)   N)
isinstancelisttuplelen).0exprs   & r   	<genexpr>/ExclusionConstraint.__init__.<locals>.<genexpr>0   s1      
KV4JtdE]+>>D	Q>;s   !;;FTz+The expressions must be a list of 2-tuples.z3ExclusionConstraint.condition must be a Q instance.z=ExclusionConstraint.deferrable must be a Deferrable instance.z4ExclusionConstraint.include must be a list or tuple.GIST)namer$   r%   N>   r'   spgistr   )lower
ValueErrorallr*   r   r   r
   r+   r,   expressionsr    r!   r"   r#   super__init__)
selfr3   r8   r    r!   r"   r#   r$   r%   	__class__s
   &$$$$$$$$r   r:   ExclusionConstraint.__init__   s)    ***,4FFM    s 
KV
sss 
KV
 
 
 JKK)h]33RSS*x&<==O  'HdE#:;;STT&$.."$)0uW~b!5$; 	 	
r   c                *   . p\        V P                  4       Fa  w  pw  rV\        V\        4      '       d   \	        V4      p\        WVR 7      pVP                  VP                  4       VP                  V4       Kc  	  \        V!  P                  V4      # ))operator)	enumerater8   r*   strr   r   set_wrapper_classes
connectionappendr   resolve_expression)r;   schema_editorqueryr8   idx
expressionr?   s   &&&    r   _get_expressions$ExclusionConstraint._get_expressionsG   s    +4T5E5E+F'C'**c**z]
6zUJ**=+C+CDz* ,G {+>>uEEr   c                &  < \         SV `  W4      p\        4       pV P                   FF  w  rV\	        V\
        4      '       d   \        V4      pVP                  VP                  V4      4       KH  	  VP                  V P                  W4      4       V# N)r9   checksetr8   r*   rA   r   update_get_expr_referencesextend_check_references)r;   modelrC   errors
referencesr/   _r<   s   &&&    r   rN   ExclusionConstraint.checkQ   sw    u1U
''GD$$$we88>? ( 	d,,U?@r   c                  a V P                   f   R # VP                  V P                   4      pVP                  VSP                  4      w  rVT\        ;QJ d    . V3R lV 4       F  NK  	  5,          # ! V3R lV 4       4      ,          # )Nc              3   F   <"   T F  pSP                  V4      x  K  	  R # 5irM   )quote_value)r.   prF   s   & r   r0   9ExclusionConstraint._get_condition_sql.<locals>.<genexpr>`   s     HA=44Q77s   !)r!   build_whereas_sqlrC   r,   )r;   compilerrF   rG   wheresqlparamss   &&f&   r   _get_condition_sql&ExclusionConstraint._get_condition_sql[   sf    >>!!!$..1ll8]-E-EFUUHHUHHUHHHHHr   c                   \        VR R7      pVP                  VP                  R7      pV P                  W#4      pVP                  P
                  pV P                  WBV4      pV P                   Uu. uF'  qP                  P                  V4      P                  NK)  	  p	p\        V P                  \        WbP                  4      VP                  V P                  4      V P                  \!        WeWBP"                  4      V'       d
   RV,          MRVP%                  W4      VP'                  V P(                  4      R7      # u upi )F)
alias_cols)rC   z WHERE (%s) )tabler3   r    r8   ra   r#   r"   )r   get_compilerrC   rJ   _metadb_tablerd   r#   	get_fieldcolumnr   r   r   
quote_namer3   r    r   r[   _index_include_sql_deferrable_constraint_sqlr"   )
r;   rT   rF   rG   r`   r8   ri   r!   
field_namer#   s
   &&&       r   constraint_sql"ExclusionConstraint.constraint_sqlb   s   e.%%1I1I%J++MA$$++HUK	GK||
GSKK!!*-44| 	 
 MM778))$))4#H.G.G 09-)+b!44UD$??P
 	

s   1-E c                    \        R \        VP                  P                  VP                  4      V P                  W4      R7      # )z(ALTER TABLE %(table)s ADD %(constraint)s)ri   
constraint)r   r   rk   rl   ro   rs   r;   rT   rF   s   &&&r   
create_sqlExclusionConstraint.create_sqlx   s:    6,,m.F.FG**5@
 	
r   c                n    VP                  VP                  VVP                  V P                  4      4      # rM   )_delete_constraint_sqlsql_delete_checkro   r3   rw   s   &&&r   
remove_sqlExclusionConstraint.remove_sql   s3    33**$$TYY/
 	
r   c                f  < \         SV `  4       w  rpV P                  VR &   V P                  e   V P                  VR&   V P                  P                  4       R8w  d   V P                  VR&   V P                  '       d   V P                  VR&   V P                  '       d   V P                  VR&   WV3# )r8   r!   r'   r    r"   r#   )r9   deconstructr8   r!   r    r5   r"   r#   )r;   pathargskwargsr<   s   &   r   r   ExclusionConstraint.deconstruct   s    "W02F $ 0 0}>>%"&..F;??  "f,#'??F< ???#'??F< <<< $F96!!r   c                Z  < \        WP                  4      '       Ed   V P                  VP                  8H  ;'       d    V P                  VP                  8H  ;'       d    V P                  VP                  8H  ;'       d    V P
                  VP
                  8H  ;'       d}    V P                  VP                  8H  ;'       d\    V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # \        SV `-  V4      # rM   )r*   r<   r3   r    r8   r!   r"   r#   r$   r%   r9   __eq__)r;   otherr<   s   &&r   r   ExclusionConstraint.__eq__   s   e^^,,		UZZ' R ROOu'7'77R R$$(9(99R R NNeoo5R R OOu'7'77	R R
 LLEMM1R R --1K1KKR R 00E4Q4QQ	 w~e$$r   c                z   R V P                   P                  : R\        V P                  4      : R\        V P                  4      : R\        V P
                  4      : V P                  f   RMRV P                  ,          : V P                  f   RMRV P                  ,          : V P                  '       g   RMR\        V P                  4      ,          : V P                  f   RMRV P                  ,          : V P                  e   V P                  V P                  8X  d   RMR	V P                  ,          : R
2# )<z: index_type=z expressions=z name=rh   z condition=%sz deferrable=%rz include=%sz violation_error_code=%rz violation_error_message=%r>)r<   r   reprr    r8   r3   r!   r"   r#   r$   r%   default_violation_error_message)r;   s   &r   __repr__ExclusionConstraint.__repr__   s    NN''!!!"O..(Bo.NN//)B/?$///QQlllBT\\8J(JJ ,,4 /$2K2KKL //7//43W3WW  3T5Q5QQR
 	
r   c                L   VP                   P                  V4      pVP                  VP                  VR 7      pVP	                  4        UUu/ uF  w  rx\        V4      VbK  	  p	pp. p
V P                   F  w  r\        V\        4      '       d   \        V4      pV'       d   V P                  WV4      '       d    R# VP                  V	4      p\        VR4      '       d   VP                  4       p\        VR4      '       d   VP                  4       p\        WR7      pWn        V
P                  V4       K  	  VP                   ! V
!  pVP#                  VP                  4      pVP$                  P&                  '       g4   VP)                  VP                  4      '       d   VP+                  VR7      pV P,                  '       g>   VP/                  4       '       d&   \1        V P3                  4       V P4                  R7      hR# V'       d%   V P                  WP,                  V4      '       d   R# V P,                  \7        VP!                  V P,                  4      4      ,          P9                  WdR7      '       d&   \1        V P3                  4       V P4                  R7      hR# u uppi ))metaexcludeNget_expression_for_validation)lhsrhs)pk)code)using)_default_managerr   _get_field_expression_maprk   itemsr   r8   r*   rA   _expression_refs_excludereplace_expressionshasattrr   r   postgres_operatorrD   filter_get_pk_val_stateadding
_is_pk_setr   r!   existsr   get_violation_error_messager$   r   rN   )r;   rT   instancer   r   querysetreplacement_mapfieldvaluereplacementslookupsrI   r?   rhs_expressionlookupmodel_class_pks   &&&&&           r   validateExclusionConstraint.validate   s-   ))//6"<<g = 
 =L<Q<Q<ST<SLE%%<ST$($4$4 J*c**z]
488GTT';;LINz#BCC'EEG
~'FGG!/!M!M!O+
OF'/$NN6" %5 ??G,!--ekk:%%%(*=*=ekk*J*J''>':H~~~  %446T=V=V  ! 488~~w  (G!HHOO P   &446T=V=V = Us   J )r!   r"   r8   r#   r    )r   r   r   r   r   r:   rJ   rN   rd   rs   rx   r}   r   r   r   r   r   r   __classdictcell____classcell__)r<   __classdict__s   @@r   r   r      s     	> 
*

 *
 *
 *
 *
 "*
 !%*
XFI
,

"%
, 15<L ( (r   N)typesr   django.core.exceptionsr   	django.dbr   !django.db.backends.ddl_referencesr   r   r   django.db.modelsr	   r
   r   r   django.db.models.expressionsr   r   django.db.models.indexesr   django.db.models.lookupsr   django.db.models.sqlr   utilsr   __all__r   r   r   r   r   <module>r      sN     2 & K K = = ? 4 ; & . 
!3O 3J5~ Jr   