
    ,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.

    )annotations   )exc)util)PassiveFlagc           
        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
attributes)sourcesource_mapperdestdest_mappersynchronize_pairs	uowcommitflag_cascaded_pkssource_dict	dest_dictlrpropvalueerrs                 K/var/www/auris/envauris/lib/python3.13/site-packages/sqlalchemy/orm/sync.pypopulater&      s2    ++K		I!	M 2215DNN488,1155[%<%<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           
     P   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  n[	        SXXU5         S nAM  S nAff = f)NFT)r   r   r   r   r   )r   r   r   r    r!   r"   r#   r$   s           r%   bulk_populate_inherit_keysr(   A   s    !	O 2215D)E	N 2215D$)K! " && 	Oum#NN	O && 	Nt]}MM	Ns.   A	A8	A5A00A58B%B  B%c                   U H  u  p4UR                   (       aW  UR                  X R                  U5      [        R                  ;  a)  [        SU 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)NzDependency rule on column 'z)' 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%   clearr1   Q   s    !MM55dIIqI%%& !-aS 1#_X-?-?-E,FaI 
	C11$		1dK " && 	CtT11BB	Cs   1BC 'B;;C 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%   updater9   c   s    !	F$BB

aH ";;Q0G0G < 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r3   )r+   r
   r   r   r   r   r   r   )r   r   dict_r   r    r!   r#   r$   s           r%   populate_dictr<   r   sr    !	F!;;Q0G0G < 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_modifiedrC   ~   s    
 "	F 2215D 11DHHk??
    "  && 	FumaEE	Fs   A$$B8BBc           	         U (       a   [         R                  " SU< SU< S35      Ue[         R                  " SU< SU< SU< S35      Ue)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).z+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   r   )isdestr   source_columnr   dest_columnr$   s         r%   r   r      sT     %%
 -8	F
 	 %% m[:
 	    N)__doc__
__future__r    r   r   r,   baser   r&   r(   r1   r9   r<   rC   r    rH   r%   <module>rN      s?   
 #   (BVN C$,	&rH   