\Č̀ d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z d Z
G d
de Z G d d
e Z
G d de
Z G d de Z G d de
e Z G d de Z G d de Z G d de Z G d de Z G d de Z G d de Zd S )!zThe internals for the unit of work system.
The session's flush() process passes objects to a contextual object
here, which assembles flush tasks based on mappers and their properties,
organizes them in order of dependency, and executes.
attributes)exc)persistence)util )event)topologicalc |j fd}fd}fd}t j | d|dd t j | d|dd t j | d|dd d S )
z\Establish event listeners on object attributes which handle
cascade-on-set/append.
c @ |d S | j }|r|j r| d | j j j }t
j | }|j j r<|j
s|j k r*| | s|
| |S )Nzcollection append)session_warn_on_events_flush_warningmanagermapper_propsr instance_state_cascadesave_updatecascade_backrefskey_contains_state_save_or_update_statestateitem initiatorsessprop
item_stater s m/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/sqlalchemy/orm/unitofwork.pyappendz$track_cascade_events.