
    -h                     b    S r SSKJr  SSKJr  SSKJr  SSKJr  S rS rS rS	 r	S
 r
S rS rg)zgprivate module containing functions used for copying data
between instances based on join conditions.

   )
attributes)exc)util   c           
         U R                   nUR                   nU H  u  p UR                  U	   nU R                  UR                     R                  R                  X[        R                  5      n UR                  U
   nUR                  UR                     R                  R                  X(WS 5        U(       d  M  U	R                  (       d  M  U
R                  (       d  M  U
R                  U	5      (       d  M  SUR                  SX*4'   M     g ! [        R                   a  n[        SXX:U5         S nANS nAff = f! [        R                   a  n[        SXX:U5         S nANS nAff = f)NFTpk_cascaded)dict_columntopropertymanagerkeyimplgetr   PASSIVE_OFFr   UnmappedColumnError_raise_col_to_propsetprimary_key
references)sourcesource_mapperdestdest_mappersynchronize_pairs	uowcommitflag_cascaded_pkssource_dict	dest_dictlrpropvalueerrs                 hC:\Users\ROHAN GUPTA\OneDrive\Desktop\mathbuddy-assessment\venv\Lib\site-packages\sqlalchemy/orm/sync.pypopulater$      s2    ++K		I!	M 2215DNN488,1155Z%;%;E	L003DLL"''++DUDI Q=AI  -!9:9 " && 	MumLL	M && 	Lt]{sKK	Ls1   AD2AED>&D99D>E-E((E-c           
      @   U HA  u  p4 UR                   U   nXR                     n UR                   U   nWXR                  '   MC     g ! [        R                   a  n[	        SXXU5         S nANJS nAff = f! [        R                   a    [	        SXX5         M  f = f)NFT)r
   r   r   r   r   )r   r   r   r   r   r    r!   r"   s           r#   bulk_populate_inherit_keysr&   >   s    !	O 2215D)E	I 2215D$)K! " && 	Oum#NN	O && 	It]}H	Is(   A	A8	A5A00A58!BBc           
         U H  u  p4UR                   (       aV  UR                  X R                  U5      [        R                  ;  a(  [        SU< S[        R                  " U 5      < S35      e UR                  X R                  US 5        M     g ! [        R                   a  n[        SS X1XE5         S nAM  S nAff = f)Nz7Dependency rule tried to blank-out primary key column 'z' on instance ''T)r   _get_state_attr_by_columnr	   orm_util	_none_setAssertionError	state_str_set_state_attr_by_columnr   r   r   )r   r   r   r   r   r"   s         r#   clearr/   N   s    !MM55dIIqI%%& !23X5G5G5MO 	C11$		1dK " && 	CtT11BB	Cs   0BB?&B::B?c           
      J   U Hn  u  pV UR                  U R                  5       U5      nUR                  X R                  U[        R
                  S9nWX&R                  '   WX#UR                  -   '   Mp     g ! [        R                   a  n	[        SXS Xi5         S n	A	NKS n	A	ff = fN)passiveF)
_get_committed_attr_by_columnobjr)   r	   r   r   r   r   r   r   )
r   r   r   
old_prefixr   r   r   oldvaluer!   r"   s
             r#   updater7   `   s    !	F$BB

aH ";;Q
0F0F < E
 UU#+!%%  " && 	FumaEE	Fs   A	A66B"
BB"c           
          U H=  u  pE UR                  X R                  U[        R                  S9nWX%R                  '   M?     g ! [        R
                   a  n[        SXS XW5         S nAN:S nAff = fr1   )r)   r	   r   r   r   r   r   r   )r   r   dict_r   r   r   r!   r"   s           r#   populate_dictr:   o   sr    !	F!;;Q
0F0F < E ee "
 && 	FumaEE	Fs   )AA1A,,A1c           
      &   U H\  u  pE UR                   U   nU R	                  UWR
                  [        R                  5      n[        UR                  5      (       d  M\    g   g! [        R                   a  n[        SX$SXW5         SnANsSnAff = f)zhreturn true if the source object has changes from an old to a
new value on the given synchronize pairs

FNT)
r
   r   r   r   get_attribute_historyr   r   PASSIVE_NO_INITIALIZEbooldeleted)	r   r   r   r   r   r   r    r"   historys	            r#   source_modifiedrA   {   s    
 "	F 2215D 11DHHj>>
    "  && 	FumaEE	Fs   A$$B8BBc                     U (       a3  [         R                  " [        R                  " SU< SU< S35      US9  g [         R                  " [        R                  " SU< SU< SU< S35      US9  g )Nz0Can't execute sync rule for destination column 'z'; mapper 'z' does not map this column.  Try using an explicit `foreign_keys` collection which does not include this column (or use a viewonly=True relation).)replace_contextz+Can't execute sync rule for source column 'zx' does not map this column.  Try using an explicit `foreign_keys` collection which does not include destination column 'z$' (or use a viewonly=True relation).)r   raise_r   r   )isdestr   source_columnr   dest_columnr"   s         r#   r   r      sb     ##
 1<[	J  		
 	## !->  
	
    N)__doc__ r   r   r   r*   r$   r&   r/   r7   r:   rA   r    rH   r#   <module>rL      s?   
    (BVI C$,	&
rH   