Sh3ll
OdayForums


Server : LiteSpeed
System : Linux premium84.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
User : claqxcrl ( 523)
PHP Version : 8.1.32
Disable Function : NONE
Directory :  /opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/orm/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/orm/__pycache__/loading.cpython-312.pyc
�

���g������dZddlmZddlmZddlmZddlmZddlmZddlmZddlm	Z	dd	lm
Z
dd
lmZddlmZddlm
Z
dd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZ ddlmZddl!m"Z"ddl#m$Z$ddl#m%Z%dd l#m&Z&dd!l'm(Z(ddl'mZ)dd"l*m+Z+dd#l*m,Z,dd$l*m-Z-dd%lm.Z.erBdd&l/m0Z0dd'lm1Z1dd(l2m3Z3dd)l4m5Z5dd*l6m7Z7dd+l8m9Z9dd,l:m;Z;dd-l<m=Z=dd.l>m?Z?dd/l#m@Z@dd0l'mAZAe
d1e�2�ZBe
d3eC�2�ZDej��ZFeeGeeeGeffZHdNd4�ZIej�d5�dOd6��ZKej�d7d8�9�ej�d5�	dO							dPd:���ZM										dQd;�ZNd<d<d<d<d=ej\ej\d=d=d>�																								dRd?�ZOd<d<d<d<d<d=ej\ej\d=d=d@�
																									dSdA�ZP						dTdB�ZQ			dUdC�ZRdD�ZS				dVdE�ZTdF�ZUdG�ZVdH�ZWdI�ZXdJ�ZYGdK�dL�ZZdM�Z[y<)Wz�private module containing functions used to convert database
rows into object instances and associated state.

the functions here are called primarily by Query, Mapper,
as well as some of the attribute loading strategies.

�)�annotations)�Any)�Dict)�Iterable)�List)�Mapping)�Optional)�Sequence)�Tuple)�
TYPE_CHECKING)�TypeVar)�Union�)�
attributes)�exc)�
path_registry)�_DEFER_FOR_STATE)�_RAISE_FOR_STATE)�_SET_DEFERRED_EXPIRED)�PassiveFlag)�
FromStatement)�ORMCompileState)�QueryContext)�	_none_set)�	state_str�)�util)�result_tuple)�ChunkedIteratorResult)�FrozenResult)�SimpleResultMetaData)�select)�ForUpdateArg)�LABEL_STYLE_TABLENAME_PLUS_COL)�SelectState)�
EMPTY_DICT)�_IdentityKeyType)�LoaderCallableStatus)�	ORMOption)�Mapper)�Query)�Session)�
InstanceState)�CursorResult)�_ExecuteOptions)�Result)�Select�_T)�bound�_Oc�&�������t��_�jrd��jj�_n	d�i�_�j}|j
}�jjxr3t|j�dk(xr|jdj�	tt�jjD�cgc]}|j�����c}��\�}}�jr-�js�j rt#j$d��d�}ddd�d	�}�jjD�	cgc]�}	�jr|nt|	j.sU|	j0s|	j2r=||	j4j6�jj8|	j2��n|	j.rt:nd���}
}	t=|
�
�}�����fd�}�j>jAdd�rt|d����fd
�}tC||���jDjF��}
|
jHjKtM|����|
_$�jjNrd�}d|f|
_(�jr|
j�j�|
Scc}w#t&$r>t)j*�5�j-�ddd�n#1swYnxYwY���wxYwcc}	w)a�Return a :class:`.Result` given an ORM query context.

    :param cursor: a :class:`.CursorResult`, generated by a statement
     which came from :class:`.ORMCompileState`

    :param context: a :class:`.QueryContext` object

    :return: a :class:`.Result` object representing ORM results

    .. versionchanged:: 1.4 The instances() function now uses
       :class:`.Result` objects and has an all new interface.

    FTrrz�Can't use yield_per with eager loaders that require uniquing or row buffering, e.g. joinedload() against collections or subqueryload().  Consider the selectinload() strategy for better flexibility in loading objects.Nc�,�tjd��)Nz@Can't use the ORM yield_per feature in conjunction with unique()��sa_exc�InvalidRequestError)�entrys �G/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/orm/loading.py�
_no_uniquezinstances.<locals>._no_unique�s���(�(�N�
�	
�)�legacy�	uncertainc�>����|s��fd�}|S�stSd��fd�}|S)Nc�n���r	t|�Stjd��d�rdnd�d���#Y�$xYw)Nz=Can't apply uniqueness to row tuple containing value of type z; z the values returned appear to bezthis datatype producesz non-hashable values)�hashr8r9)�obj�datatyper?s ��r;�goz,instances.<locals>._not_hashable.<locals>.go�sZ�����#�C�y�(��0�0��&�\��$�;�5�,�*�-������s�
0�4Fc�J���s	t|�St|�S#YnxYwd��)NT)rB�id)rC�_use_ids �r;rEz,instances.<locals>._not_hashable.<locals>.go�s4�����#�C�y�(��#�w������
#�G�s�
�)rG)rDr>r?rErHs` ` @r;�
_not_hashablez instances.<locals>._not_hashable�s+����
� �I���I��G�
� �Ir=)�_unique_filtersc3���K�	|}i�
_|r�j|�}|sy�j�}�r�
d}|D�cgc]
}||���}}n.|D��cgc]!}t�
D�cgc]
}||���c}���#}}}�r�|r#t	�
j
j
��}�
j
rft	�
j
j
��}�
j
j�|D]\}}	|	j�
|���
j
r�f|r5�
j
j��
j
j�|��|sy��Scc}wcc}wcc}}w�w)Nr)
�partials�	fetchmany�
_raw_all_rows�tuple�list�post_load_paths�items�clear�invoke�update)�size�	yield_per�fetch�proc�row�rows�top_level_post_loads�
post_loads�path�	post_load�context�cursor�is_top_level�process�
single_entitys          �����r;�chunkszinstances.<locals>.chunks�sl�������I�!�G����(�(��3�����,�,�.����q�z��-2�3�U�c��S�	�U��3�GL��FK�s�E��9���4��9��9�:�e�����,0��/�/�5�5�7�,�(��-�-�!%�g�&=�&=�&C�&C�&E�!F�J��+�+�1�1�3�+5���i�!�(�(��$�7�,6��-�-���+�+�1�1�3��+�+�2�2�3G�H��J���_��4��:���s<�<E(�E�E(�E"�$E�3	E"�<BE(�AE(�E"�"E(�prebuffer_rowsc���t��S�N)�iter)rV�_prebuffereds �r;rezinstances.<locals>.chunkss�����%�%r=)�source_supports_scalars�raw�dynamic_yield_per)�filtered�is_single_entityc�,�tjd��)Nz~The unique() method must be invoked on this Result, as it contains results that include joined eager loads against collectionsr7)rCs r;�require_uniquez!instances.<locals>.require_uniques���,�,�&��
r=))�
_new_runid�runid�top_level_contextrQ�
compile_state�_has_mapper_entities�load_options�_only_return_tuples�len�	_entities�supports_single_entityrP�zip�
row_processorrW�loaders_require_buffering�loaders_require_uniquingr8r9�	Exceptionr�safe_reraise�close�use_id_for_hash�_non_hashable_value�_null_column_type�column�type�_legacy_uniquingrGr!�execution_options�getrr`�_is_server_side�_attributes�union�dict�multi_row_eager_loaders�_unique_filter_state)rar`rurn�query_entity�labels�extrar<rI�ent�unique_filters�row_metadatare�resultrqrjrbrcrds``             @@@@r;�	instancesr�Ns�����L�G�M�� � ���")�";�";�"K�"K�����"$����)�)�M��1�1�H�� � �4�4�4�	>��
�'�'�(�A�-�	>��#�#�A�&�=�=���#'��)0�(=�(=�(G�(G��(G��!�.�.�w��?�(G��
�$
� ��&�%�����-�-��/�/��,�,�=��
�
�
+0�5�)�x�(�(�2�2�#�"3�C�� � �
��+�+��0�0�C�4I�4I���J�J�O�O�"�/�/�@�@�!�3�3���.�.�R�D�

�3�#��((���~��L�0�0�d� � �$�$�%5�u�=��F�4�L�)��	&�#��� -�� �.�.�8�8��F� �+�+�1�1��h��?��F��
���4�4�	�(,�^�&<��#��������*�*�+��M��o��$��
�
�
�
 ��L�L�N�!�
 �
 ����hsD�."K�J?�)AK�B
L�?K�L�!K;�2	L�;L	�L�
Lzsqlalchemy.orm.contextc	�@�tjj}|r|j�|jj|d��}|j}	d|_t|j�D��cgc]\}}t||j�r|��}	}}|jD�
cgc]}
|
j��}}
t||jD�
cgc]}
|
j��c}
�}g}
|j�D]k}|	D]M}||��	|jt!j"||�t!j$||�|ii��||<�O|
j'||���m|j)|
�||_Scc}}wcc}
wcc}
w#||_wxYw)azMerge a :class:`_engine.FrozenResult` back into a :class:`_orm.Session`,
    returning a new :class:`_engine.Result` object with :term:`persistent`
    objects.

    See the section :ref:`do_orm_execute_re_executing` for an example.

    .. seealso::

        :ref:`do_orm_execute_re_executing`

        :meth:`_engine.Result.freeze`

        :class:`_engine.FrozenResult`

    F�r>��load�
_recursive�_resolve_conflict_map)r�	preloaded�orm_context�
_autoflush�ORMSelectCompileState�_create_entities_collection�	autoflush�	enumeraterz�
isinstance�
_MapperEntity�_label_namer�_extra_entities�rewrite_rows�_merger�instance_state�
instance_dict�append�
with_new_rows)�session�	statement�
frozen_resultr��querycontext�ctxr��i�e�mapped_entitiesr��keys�keyed_tupler��newrows               r;�merge_frozen_resultr�+s���"�>�>�-�-�L������
�
,�
,�
H�
H��%�I��C��!�!�I�&�!���"�#�-�-�0�
�0���1��!�\�7�7�8�
�0�	�
�
,/�=�=�9�=�C����=��9�"��#�-�-�@�-�3�3�&�&�-�@�
����#�0�0�2�F�$���!�9�(� '���"�1�1�&��)�<�"�0�0����;�!�#%�.0�!/�!�F�1�I�%�
�M�M�+�f�-�.�3��*�*�6�2�%����7
��
:��A��&&���s=�F�6"F�F�)F
�<F�F
�%&F�A0F�F�	Fz:func:`_orm.merge_result`zyThe function as well as the method on :class:`_orm.Query` is superseded by the :func:`_orm.merge_frozen_result` function.)�alternativec
��tjj}|j}|r|j	�t|t�r|}t|j�}nd}|jj|d��}|j}	d|_|xrt|j�dk(}|r{t|jd|j�rK|D�	cgc]>}	|jt!j"|	�t!j$|	�|ii����@}
}	�nt'|�}
�nt)|j�D��cgc]\}}t||j�r|��}
}}g}
|jD�cgc]}|j*��}}t-||jD�cgc]}|j.��c}�}|D]v}t'|�}|
D]M}||��	|jt!j"||�t!j$||�|ii��||<�O|
j1||���x|r|j3|
�||_St|
�||_Scc}	wcc}}wcc}wcc}w#||_wxYw)z�Merge a result into the given :class:`.Query` object's Session.

    See :meth:`_orm.Query.merge_result` for top-level documentation on this
    function.

    NTr�Frrr�)rr�r�r�r�r�r ri�datar�r�r�ryrzr�r�rr�r�rPr�r�rr�r�r�)�query�iteratorr�r�r�r�r�r�rd�instancer�r�r�r�r�r�r�rZr�s                   r;�merge_resultr�gs���$�>�>�-�-�L��m�m�G�������(�L�)� �
��
�*�*�+���
�
�
,�
,�
H�
H�
�d�I��C��!�!�I�1&�!���)�)�E�c�#�-�-�.@�A�.E�
���#�-�-��*�L�,F�,F�G�%-�	�%-���N�N�"�1�1�(�;�"�0�0��:�!�#%�.0�#��%-��	��h���&�c�m�m�4��4�D�A�q��a��!;�!;�<��4�
��
�F�/2�}�}�=�}��C�O�O�}�D�=�&��c�m�m�D�m�s�s�*�*�m�D��K� ���c���(�A��a�y�,�$+�N�N�&�5�5�f�Q�i�@�&�4�4�V�A�Y�?�!%�')�24�%3�%��q�	�)��
�
�k�&�1�2� �� �.�.�v�6�&�����<�%����W	����>��E��*&���sQ�
A
I:�AI%�)I:�"I*�(I:�;I0�I:�$I5
�7!I:�A2I:�
I:�%I:�:	Jc���|jj|�}|��tj|�}|jr+|j
j
|�stjS|jrM|tjzstjS|tjzs|S	|j||�|S|Sy#tj$r|j|g�YywxYw)zqLook up the given key in the given session's identity map,
    check the object for expired state if found.

    N)�identity_mapr�rr��inherits�mapper�isa�PASSIVE_CLASS_MISMATCH�expired�SQL_OK�PASSIVE_NO_RESULT�RELATED_OBJECT_OK�
_load_expired�orm_exc�ObjectDeletedError�_remove_newly_deleted)r�r��key�passiver��states      r;�get_from_identityr��s����#�#�'�'��,�H����)�)�(�3���?�?�5�<�<�#3�#3�F�#;��4�4�4��=�=��Z�.�.�.�!�3�3�3��z�;�;�;�
 ��
��#�#�E�7�3���x�����-�-�
��-�-�u�g�6��
�s�/C�%C.�-C.NF)	rw�
refresh_state�with_for_update�only_load_props�no_autoflush�bind_argumentsr��require_pk_cols�is_user_refreshc	�T�|�|d}|d}
ndx}}
t||||||||
|||	|
|��
S)z.Load the given identity key from the database.Nrr�
rwr�r�r��identity_tokenr�r�r�r�r�)�load_on_pk_identity)r�r�r�rwr�r�r�r�r�r�r�r��identr�s              r;�
load_on_identr��sY�� ���A����Q���!%�%������
�!�#�'�'�%�!�%�+�'�'��r=r�c
	���|}
|
j�}|jrJ�|�tj}|jt
jurtj}n|j}|��|
jd}|j\}}d|vryt|j|�D��chc]\}}|�||j��}}}tj||�}t!|�t!|�k(rt#j$d�tj&|ddi�f|_t||j�D��cic]\}}||j|��}}}nd}|�
d}||_n"|
j*�d}|
j*|_nd}|r�|r�|st-j.d��|j0j2}|j5|�D�chc]+}|j6|j8j;�r|��-}}|r&t-j<d|�d	|j0�d
���|j0j>}|D]$}||j@s�|jC|�}n|r@|jDr4|d|jFjHiz
}|jJ|jD�}tM|||||||��\}}||_d|_'|r|d
diz
}t"jPjS|
d|i�}
|jU|||
|	��jW�jY�} 	| j[�Scc}}wcc}}wcc}w#t\j^$rYywxYw)z6Load the given primary key identity from the database.N�plugin_subjectzofully NULL primary key identity cannot load any object.  This condition may raise an error in a future release.�
_orm_adaptTFz9refresh_state is required when require_pk_cols is presentz7Please flush pending primary key changes on attributes z for mapper z! before proceeding with a refresh�
_current_path)�
version_checkr�r�r�r�r��_sa_orm_load_options)�paramsr�r�)0�_clone�_is_lambda_elementr�default_load_options�_compile_optionsr%�default_select_compile_optionsr�default_compile_options�_propagate_attrs�_get_clauser|�primary_keyr��sql_util�adapt_criterion_to_nullryr�warn�_deep_annotate�_where_criteria�_for_update_argr8�
ArgumentErrorr��_primary_key_propkeys�
difference�attrs�history�has_changesr9�_props�_is_relationshipr�rw�	load_path�parent�options�_set_get_options�	_order_byr&�
merge_with�execute�unique�scalars�oner��
NoResultFound)!r�r��primary_key_identityrwr�r�r�r�r�r�r�r�r�r��q�compile_optionsr�r��_get_params�col�value�nones�id_valr�r�r��refresh_state_prokeysr�r��mp�p�new_compile_optionsr�s!                                 r;r�r�s���$
�E�
����A��#�#�#�#���#�8�8��	�"�"��5�5�	6�*�A�A��#�4�4���'��'�'�(8�9��%+�%7�%7�"��k��'�'�#&�f�&8�&8�:N�"O��"O�J�C���=��C� �$�$�"O�
��#�:�:�;��N�K��5�z�S�!5�6�6��	�	���
�#�#�K�,��1E�F�
���(+�$�f�&8�&8�(�
�(�#���
��$�(�(�&�0�(�	�
����"��
�+���	�	�	�	*��
�!�1�1����
��?���&�&�K��
�!.� 4� 4� J� J��-�7�7��H�
�H���"�"�3�'�/�/�;�;�=�
�H�	�
�
��,�,���-�|�M�,@�,@�+A�B,�,��
�D�
!�
!�
(�
(�� �A��!�u�%�%�"7�"=�"=�o�"N���!�
��3�3��O�]�-D�-D�-K�-K�L�L���A�I�I�}�1�1�2��(8���#�'�#�%�'�)�%���-�A���A�K����u�-�-�����2�2��2�L�A���	���
��/�)�		�	
�
���	������z�z�|���S��&
��2
��|� � ����s$�)L=�M�0M	�-M�M$�#M$c��i}i}	|r||	d<|r||	d<|r
||	d<d|d<|rt|�|d<|r||	d<|r||	d<|	r||	z
}|r||z
}||fS)	N�_version_check�_populate_existing�_refresh_stateT�_for_refresh_state�_only_load_props�_identity_token�_is_user_refresh)�	frozenset)
�compile_opt�load_opt�populate_existingr�r�r�r�r�r
rws
          r;rr�s����O��L��)6��%�&��->��)�*��)6��%�&�04��,�-��.7��.H��*�+��*8��&�'��+:��'�(���L� �����&���� � r=c		��|r|j|�}
n|j}
i}|j|jd|�|xrt	|�dk(xr|dj
}|
D].}
|r|
j|vr�|
j||||f||||d�|	���0|�5||jur&|r|j|}n|}|j|�yyy)N�memoized_setupsr���)r��column_collection�memoized_populators�check_for_adapt)�_iterate_polymorphic_properties�_polymorphic_properties�setrry�is_aliased_classr��setup�polymorphic_on�columnsr�)rur�r�r^�adapterr&�with_polymorphicr��polymorphic_discriminator�kw�poly_properties�quick_populatorsr(r�pds               r;�_setup_entity_queryr7�s��� �@�@��
��!�8�8�����H�H�]�
%�
%�'8�:J�K��N�#�d�)�q�.�N�T�"�X�5N�5N�O� ���u�y�y��?����������	
	
�
,�/� 0�+�
	
��
	
�!� 	"�-�%�V�-B�-B�B�����!:�;�B�*�B�� � ��$�

C�	.r=c�H�tjdt|��d��y)NzLoading context for aW has changed within a load/refresh handler, suggesting a row refresh operation took place. If this event handler is expected to be emitting row refresh operations within an existing load or refresh operation, set restore_load_context=True when establishing the listener to ensure the context remains unchanged when the event handler completes.)rr�r)r�s r;�_warn_for_runid_changedr9s���I�I�!*�%� 0�
	3�r=c
�������"�#�$�%�&�'�(�)�*�+�,�-�.�/�0�1�2�3�4�5�6��j�"�j}
d�f}|j|
j|d�}|���j}
��|
j�fd��D��}
|j�jdt�}g}ggggggd�}��<�j}|r|D�cgc]}|j|��}}|j|��.nd�.||�.d�}|
D�]$}||v�r||}|tur+|dj|j|jf��A|tur!|dj|jd	f��j|tur+|dj|j|j f���d}|r#|j|}|�|j#|d	�}|s|j#|d	�}|r!|d
j|j|f���|j%�||�|||���|j|���'|j'|
j||�|d}|j)�D��cic]\}}|t+|���c}}�,|dD]}|j%�||�||�,���j,�/�jj.j0r�jj.|zn|�(�j2j4�4�j6xs�j8�+t;�j<j>j@��'t;�j<j>jB��0t;�j2j>jD��*�*r �j2j>jD�)tjF�%tjH�$�j2jJ�3�jL�2�jN�#�jP�5�5r3�jR}|�#|r|j|}|j#|��6nd�6��s|	��d
|j0f}|�jvr9�j|jTdk(r�j|jVd}nd}�jY||	�}|r�||	ur���J�|jZr/g}|}|r,||	ur(|j|�|j\}|r	||	ur�$n|g}|D]M}t^ja��(|�r�tc�|||	|�}t^je��(|jf|||��Ot^ji��(���-�r �j�1�1��jk���1nd�1|d�.�jlrtnjp�&ntnj
�&��"�#�$�%�&�'�(�)���*�+�,�-�.�/�0�1��2�3�4�5�6fd�} �jrr|	s�s�"�#�&�.fd�}!tu| �|�|||||!�	} | Scc}wcc}}w)z]Produce a mapper level row processor callable
    which processes rows into mapped instances.�gettersNc3�<�K�|]}�j|���y�wrh)r�)�.0�kr�s  �r;�	<genexpr>z&_instance_processor.<locals>.<genexpr>Us�����'�*9�Q��
�
�a� �/�s�r$)�new�quick�deferred�expire�existing�eager)�cached_populators�todo�primary_key_getterr@rCFrArFrG�loader))�selectinload_polymorphicT�entitiesrHc�����r.�}|j�}�|�}|j� k7}d}d}n��
�|��f}�"j|�}|�:�|�}�|�}|j� k7}|}d}�#rw�$ru|sst�|||�$�nc�|d�ryd}d}d}�jj�}�|�}�|�}||_�|_�!|_�"j||��}�|urd}|s|�r9|r�s|s�|_
�|_t�||||�||��	|r�|j}	|rr�r@|jjj|��|j|	k7rt!|��rq��j"|�|j|	k7rOt!|�nC�rA|jjj%|���|j� k7rt!|�|s|j&r)�r�r|j)|��n|j+|�"��r�j-|d�|S|j.}
|�j0v}|r|
s�drut3�||||�|
��}|ra�rM|j}	|jjj%|�|�|j|	k7rt!|�|j)||��r�j4r�j-|d�|S)NTFrrE)rCrsr��_validate_version_id�
class_manager�new_instancer�r��
session_id�_add_unpresentrwr�_populate_full�manager�dispatchr�r9r��refresh�modified�_commit�_commit_all�	add_state�unloadedrL�_populate_partial�invoke_all_eagers)%rZr�r��dict_�isnew�currentload�loaded_instance�identitykey�effective_populate_existing�existing_runidrZ�to_loadr`�identity_classr�r�r��is_not_primary_key�load_evtr�loaded_as_persistentr�r��persistent_evtr"�
populatorsr_rH�propagated_loader_options�refresh_evt�refresh_identity_keyr�rsrP�session_identity_mapr��version_id_getters%            �������������������������r;�	_instancez&_instance_processor.<locals>._instance+s����!�E��y�y�{�H�!�(�+�E��K�K�5�(�E��K�#�O�
�"�3�'���K�,�/�/��<�H��#�&�x�0��%�h�/�����u�,��"'�i��"'�� �%6�{�(���u�c�3D��&�k�!�n�5����"��"&��!�/�/�<�<�>��%�h�/��&�x�0��'��	�'5��$�$.�� �$�3�3�E�;�G�&7�#��E�!�*.�'�
�5��)�1L�%>��"�"+�����������+��

��"'����"���
�
�.�.�3�3�E�7�C� �;�;�.�8�3�E�:�%�,�W�_�_�e�D� �;�;�.�8�3�E�:� ��M�M�*�*�2�2��w����{�{�e�+�/��6�.�%�.�.�$���
�
�e�_�=��)�)�%�1E�F���#�#�E�4�0�J��?�~�~�H���!1�!1�1�E��H�
�7�(;�
,���������	���"�).�����
�
�.�.�6�6�u�g�w�O� �;�;�.�8�3�E�:��M�M�%��1��W�6�6��#�#�E�5�1��r=c�6����|��f}�|d�s|Sy)Nr�)rZrarer�rfrHs  ����r;�ensure_no_pkz)_instance_processor.<locals>.ensure_no_pk�s/����"�3�'���K�
&�k�!�n�5�"�"�r=);�_identity_classrur�r�	_prop_set�intersectionr&r�r/�
_tuple_getterrr�r��_deferred_column_loaderrr�_raise_column_loader�_getter�create_row_processorr+rRrPrk�current_pathr^r�r�r"�always_refresh�boolrNrTr�rUrhr�r��hash_keyrsr�r��version_id_col�strategy�
local_opts�_should_selectin_load�	is_mapperr��PostLoad�path_exists�_load_subclass_via_in�callable_for_pathr��for_context�_identity_key_from_state�allow_partial_pksr�
issuperset�polymorphic_map�_decorate_polymorphic_switch)7r�r�r`r�r^r0r�r�r2�_polymorphic_fromru�
getter_keyr;�propsr5rGrF�pk_cols�c�propr�getter�adapted_colr�rr��option_entities�selectin_load_via�_load_supers�_endmost_mapper�_selectinload_entity�	callable_rprsrer�r�r�rfrgrrhrir"rjr_rHrkrlrmrsrPrnr�ros7 ``   ``                          @@@@@@@@@@@@@@@@@@@@@r;�_instance_processorr�+sN������*�+�+�N��)�)�M��V�$�J��h�h�}�/�/��T�B�G���� � ���&��&�&�'�*9�'��E� �8�8���� 1�:�
����������

��� ��(�(�G��7>�?�w�!�7�?�?�1�-�w��?�!'�!5�!5�g�!>��!%��"3��"4�
��
�D��'�'�&�t�,���*�*�%�e�,�3�3����4�#?�#?�@���1�1�&�h�/�6�6����%�7H�I��,�,�%�e�,�3�3����4�#<�#<�=��"�F��*'.�o�o�c�&:��&�2�%+�^�^�K��%G�F�!�!'����U�!;���)�'�2�9�9�4�8�8�V�:L�M�
�1�1�#�(� �"�"�#�-�����D�!�A�D	
����)�)�:�w�?�� 3�4��5F�5L�5L�5N�O�5N�z�s�E�#�t�E�{�"�5N�O�J������!�!��\�4����*�	
� �
!(� A� A��� � �-�-�2�2�	���*�*�T�1�
��#�?�?�7�7���1�1�J�V�5J�5J���F�(�(�1�1�6�6�7�H��v�+�+�4�4�<�<�=�K��'�/�/�2�2�G�G�H�N��&���7�7�L�L���.�.�N��,�,�M����)�)�J��M�M�E��+�+�N��)�)�M���.�.���%��!(����!@�� &���~� >�� $���.�:�����#���'�$�$�$��);�);�C�)@�)I�)I�N
�*
�&�0�0��5�@�@��L�O�"�O�"�8�8���
��
�!2�:K�!K�#�*�*�*� �*�*�!��"3��#�'�/@�@� �'�'��8�&5�&>�&>�O�	$�'�/@�@�
!2�2��(4�$��'�'��Y�(<���1���(�%�#��	��*�*���(�/�/�(��(�
�)5�*�$�$�W�i��I�I��,�0�0���'�$*�#B�#B��$� � $��$�%9�:��
���&�1�1��&�3�3��^�^�^�^�@���&7�
�		�1�������%���

�	����s@��`Ps�>W-�W2c� ���	�
���|j�
|j}|jdu}t�
jj�dk(�|j
s|r�
j
||�\��	�n�
j\��	���	�
���fd�}|S)Nrc�
���s4|D��cgc]$\}}|jj��r||f��&}}}|sy|j}|jr#�j	|�}�j	|�}	n�}�}	|f|j
z|	fz}
�j|
�}|jj|_	|xjd|jiz
c_	|jr|jd��}|jj|t|D��
cgc](\}}
�r|jddn|jd��*c}
}���j!�j#�j%�ycc}}wcc}
}w)Nr�T)r"rr)�primary_keys)r��+_would_selectin_load_only_from_given_mapperr�r�
_prepend_path�
_with_optionsrrur�r�r"r�r�rr�r�rr�all)r`r^�states�	load_only�effective_entity�s�v�
orig_query�enable_opt_lcl�disable_opt_lclr�q2r��
load_attrs�disable_opt�
enable_optr�r�r�zero_idxs              ������r;�do_loadz&_load_subclass_via_in.<locals>.do_load�sy����#��"�D�A�q��8�8�G�G��O��A��"�
�����]�]�
��;�;�'�5�5�d�;�N�)�7�7��=�O�'�N�)�O�
��
� 8� 8�8�O�;M�M�	��Q�Y�Y��
 ��%�3�3�K�K���
�������=�=���$�$��%�%��%�=�B��������.4��-3�)��z�(0�E�I�I�a�L��O�U�Y�Y�q�\�A�-3��
�	
��&�(�7�7�9�S�S�U��K��@s�)E9�-E?)r�r�ry�base_mapperr�r,�_subclass_load_via_in�_subclass_load_via_in_mapper)
r`r^�entity�polymorphic_fromr��polymorphic_from_mapper�not_against_basemostr�r�r�r�rr�s
    `   @@@@@r;r�r��s�����]�]�F�
/�5�5��2�;�;�4�G���6�%�%�1�1�2�a�7�H�
���"6�%+�%A�%A��$�&
�"��:�{�&,�%H�%H�"��:�{�,#�,#�\�Nr=c	�$�|r�|j|_|dD]\}	}
|
|�||	<�|r>|dD]5\}	}|j|	d�|s�|jj|	��7n+|dD]#\}	}|s�	|jj|	��%|dD]\}	}||||��y||jk7r<||_|dD]\}	}
|	|vs�|
|�||	<�|dD]\}	}||||��y|dD]\}	}||||��y)NrArCr@rD)rs�pop�expired_attributes�addr)
r`rZr�r]r^rr`r"rjr�r��set_callable�	populators
             r;rRrR-s?��
��m�m���%�g�.�K�C�����E�#�J�/��%/��%9�!��\��	�	�#�t�$���,�,�0�0��5�&:�
&0��%9�!��\���,�,�0�0��5�&:�)��/�N�C���e�U�C�(�0�
�e�o�o�	%�$���&�g�.�K�C���%��#�C�[��c�
�/�
)��4�N�C���e�U�C�(�5�)��4�N�C���e�U�C�(�5r=c���|sK|r|dD]\}}	||vs�|	|�||<�|j|}
|dD]\}}||
vs�||||��n�|}
|
|j|<|dD]\}}	||
vs�|	|�||<�|dD]:\}}||
vs�|j|d�|s� |jj|��<|dD]\}}||
vs�||||��|dD]\}}||vs�||||��|
S)NrArDrCr@rE)rLr�r�r�)
r`rZr�r]r^rrZrjr�r�rdr�r�s
             r;r[r[fsA����)�'�2���V��(�?�!'���E�#�J� 3��"�"�5�)��(��4�N�C���g�~��%���,�5���")������%�g�.�K�C���g�~�#�C�[��c�
�/�",�H�!5��C���g�~��	�	�#�t�$���,�,�0�0��5�	"6�
)��/�N�C���g�~��%���,�0�%�W�-���Y��h���e�U�C�(�.��Nr=c
���|j|||j�||�k7rItjdt	|��d|j|||j��d||��d���y)Nz
Instance 'z' has version id 'z3' which does not match database-loaded version id 'z'.)�_get_state_attr_by_columnr�r��StaleDataErrorr)r�r�r]rZr�s     r;rMrM�sv��
�'�'�
�u�f�+�+��	�����$�$��%� ��0�0��5�&�"7�"7���s��
�

�
	
�r=c	�������������
�|�|�
n�j�
�
��S�r�j�
�
������fd�}	tj|	���j	�
��������
fd�}
|
S)Nc	���	�j|}|�ury|j��syt�|�������S#t$rt	d|z��wxYw)NF)r�z*No such polymorphic_identity %r is defined)r�r�r��KeyError�AssertionError)�
discriminator�
sub_mapperr0r`r�r^r�r�s  ������r;�configure_subclass_mapperz?_decorate_polymorphic_switch.<locals>.configure_subclass_mapper�s|���	��/�/�
�>�J��V�#���^�^�F�+��&�������"(��
���	� �<�}�L��
�	�s	�;�Ac
����|�}|�T�|}|r||�S|dur9�|�}|r.tjd|�d�	�d�j|�d�����y�|�S�|�}|rtjd|�d�	�d���y)NFzRow with identity key zG can't be loaded into an object; the polymorphic discriminator column 'z' refers to z-, which is not a sub-mapper of the requested z	' is NULL)r8r9r�)
rZr�rprarsr��instance_fnr��polymorphic_instancesr.s
    ������r;�polymorphic_instancez:_decorate_polymorphic_switch.<locals>.polymorphic_instance�s�����s��
��$�-�m�<�I�� ��~�%��e�#�*�3�/��� �4�4�(�*�"�2�2�=�A�"�	��� �"�3�'�'�&�s�+�K���0�0�*�>�;���r=)r.r/r�PopulateDictrz)r�r`r�r�r�r^r2r0rsr�r�r�r�r.s`````` ``  @@@r;r�r��sx����!�,�2���.�.������� ����8����.!�-�-�.G�H��
�^�^�N�
+�F�$�$�L �r=c�V�eZdZdZdZd�Zd�Zd�Zed��Z	ed��Z
ed��Zy	)
r�z4Track loaders and states for "post load" operations.)�loadersr��	load_keysc�R�i|_tj�|_d|_yrh)r�r�OrderedDictr�r�)�selfs r;�__init__zPostLoad.__init__�s ������&�&�(�����r=c�"�||j|<yrh)r�)r�r��	overwrites   r;rYzPostLoad.add_state�s��
'����E�r=c���|jsytjj|�}|jj�D]x\}}}}}}|jj
�D�	�
cgc].\}	}
|	jjj|�r|	|
f��0}}	}
|s�`|||||jg|��i|���z|jj�ycc}
}	wrh)r�r�PathRegistry�coercer��valuesrRrSr�r�r�rS)r�r`r^�effective_context�token�limit_to_mapperrI�argr3r�r�r�s            r;rTzPostLoad.invokes����{�{���)�)�0�0��6���\�\�
 �
 �
"�
�������)-���(9�(9�(;��(;�$�E�9��=�=�'�'�+�+�O�<��	�"�(;�
��
��%�t�V�T�^�^��FI��MO��#�	
�������s�.3Cc�f�|jj|j�}|�	|r||_|Srh)rQr�r^r�)�clsr`r^r��pls     r;r�zPostLoad.for_contexts/��
�
$�
$�
(�
(����
3��
�>�o�*�B�L��	r=c��|j|jvxr%||j|jjvSrh)r^rQr�)r�r`r^r�s    r;r�zPostLoad.path_exists$s>��
�I�I��0�0�0�
B��w�.�.�t�y�y�9�A�A�A�	
r=c���|j|jvr|j|j}n#t�x}|j|j<||||||f|j|<yrh)r^rQr�r�)	r�r`r^r�r��loader_callabler�r3r�s	         r;r�zPostLoad.callable_for_path+sg���9�9��/�/�/��(�(����3�B�6>�j�@�B��(�(����3�������

��
�
�5�r=N)�__name__�
__module__�__qualname__�__doc__�	__slots__r�rYrT�classmethodr�r�r�rrr=r;r�r��sU��>�0�I��
'��.�����
��
��
��
r=r�c��|j}|s!tjdt|�z��t	|t
jz�}|r)|j|jj��}|jr=|js1|j||�}|�t||�}t||d|||��St	|j�}|r
|j}	n}|j D�
cgc]}
|j"|
j��}}
|j$j|�r!t'j(dt|�z��|j+|�}	t-j.|	�r|j0rt-j2|	�r t5j6dt|��yt|t9|�j;t<�|	|||��}|r|�tj>|��yycc}
w)z4initiate a column-based attribute refresh operation.zQInstance %s is not bound to a Session; attribute refresh operation cannot proceedN)r�r�r�z_Instance %s cannot be refreshed - it's not  persistent and does not contain a full primary key.zwInstance %s to be refreshed doesn't contain a full primary key - can't be refreshed (and shouldn't be expired, either).)r�r�r�) r�r��DetachedInstanceErrorrr~r�NO_AUTOFLUSHrvr�r�r��concrete�_optimized_get_statementrr�r�r��_columntopropertyr�r8r9r�r�issubsetr�r�r�warn_limitedr"�set_label_styler$r�)
r�r��attribute_namesr�r�r�r��stmt�has_key�identity_keyr�pk_attrsr�s
             r;�load_scalar_attributesr�=s����m�m�G���+�+�
9�<E�e�<L�
N�
�	
�
��*�"9�"9�9�:�L��)�6�6�v�|�|�7H�7H�7J�K��
���v����3�3�E�?�K�	�� �!���3�D� ���� /�#�)�
�
��5�9�9�o�G���y�y��:@�9K�9K�
�9K�#�F�$�$�S�)�-�-�9K�	�
��#�#�0�0��:��,�,�.�09�%�0@�A��
�
�6�6�u�=��	���<�(��1I�1I�	�	�	�l�	+����
2�
�e��		
�	�
���v��&�&�'E�F���'�!�
�F��6�>��(�(��/�/�"�w��C
s�2 G?)razCursorResult[Any]r`r�returnzResult[Any])T)r�z
Query[Any]r�z>Union[FrozenResult, Iterable[Sequence[Any]], Iterable[object]]r�r~r�z"Union[FrozenResult, Iterable[Any]])
r�r,r�z
Mapper[_O]r�z_IdentityKeyType[_O]r�rr�z)Union[LoaderCallableStatus, Optional[_O]])r�r,r��Union[Select, FromStatement]r�zOptional[_IdentityKeyType]rw�Optional[Sequence[ORMOption]]r��Optional[InstanceState[Any]]r��Optional[ForUpdateArg]r��Optional[Iterable[str]]r�r~r��Mapping[str, Any]r�r/r�r~r�r~)r�r,r�r�rzOptional[Tuple[Any, ...]]rwr�r�r�r�rr�rr�z
Optional[Any]r�r~r�rr�r/r�r~r�r~)NNNNNN)NNN)NNNN)\r��
__future__r�typingrrrrrr	r
rrr
r�rrr�r�baserrrrr`rrrrrrr8�enginer�
engine.resultrr r!�sqlr"r��sql.selectabler#r$r%r&�_typingr'r(�
interfacesr)r�r*r�r+r�r,r�r-�
engine.cursorr.�engine.interfacesr/r0r1r2�objectr4�counterrr�str�_PopulatorDictr��preload_moduler��became_legacy_20r�r�r�r�rr7r9r�r�rRr[rMr�r�r�rrr=r;�<module>rs���#��������� ������"�"�'��"�$�!�����!�1�(�0��"�)�;�(���)�*�%��� �$�,�3�&���T�����T�� ��
�T�\�\�^�
��c�4��c�3�h��0�0�1��Z�z����-�.�8&�/�8&�v�����F��
����-�.��Q&��Q&�L�Q&��Q&�(�	Q&�/��Q&�h#�
�#��#�
�#��	#�
/�#�V37�26�.2�/3��(,���)-���!�!�$�
�$�+�$�
$�$�
0�$�0�
$�,�$�-�$��$�&�$�'�$��$��$�X37�26�.2�/3�$(��(,���)-���!�!�u�
�u�+�u�4�u�
0�u�0�
u�,�u�-�u�"�u��u�&�u�'�u��u��u�v������!�R��"�4%�n	�&��"��z�z
B�J3)�r"�J
�"V �rE
�E
�PU0r=

ZeroDay Forums Mini