Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
persistence.cpython-313.pyc313 linesDownload Raw Back to __pycache__
1�

2��jp����SrSSKJr SSKJr SSKJr SSKJr SSKrSSKJ	r	 SS	KJ3r SS4KJr SSKJ
r
 SSKJr S
S	KJ5r S
SKJr S
SKJr S
SKJr S
SKJr S
SKJr S
SKJr S
SKJr S0SjrSrSrSrSr Sr!SSSSS.Sjr"SSSS.S jr#S!r$S"r%S#SS#S$.S%jr&S#SSS&.S'jr'S(r(S)r)S*r*S+r+S,r,S-r-S.r.S/r/g)1z�private module containing functions used to emit INSERT, UPDATE6and DELETE statements on behalf of a :class:`_orm.Mapper` and its descending7mappers.8 9The functions here are called only by the unit of work functions10in unitofwork.py.11 12�)�annotations)�chain)�groupby)�zip_longestN�)�13attributes)�exc)�loading)�sync)�	state_str�)�future)�sql)�util)�cursor)�	operators)�BooleanClauseList)�LABEL_STYLE_TABLENAME_PLUS_COLFc	�:�U(d0UR(d[X5Hn[X/USS9 M g/n/n[XU5HBunnnn	n14nnU15(dU(aUR	XGX�U45 M/UR	XGX�45 MD UR16R
5HKup�X�R;aM[X�5n[X-U5n[UUUU
U5 [UUUU
U5 MM [UU[SU5SU555 g)a#Issue ``INSERT`` and/or ``UPDATE`` statements for a list17of objects.18 19This is called within the context of a UOWTransaction during a20flush operation, given a list of states to be flushed.  The21base mapper in an inheritance hierarchy handles the inserts/22updates for all descendant mappers.23 24T)�singleNc3�2# �UH
upp4XX4S4v� M g7f)FN�)�.0�state�25state_dict�mapper�26connections     �`D:\code\apps\devtools\python\user_packages\Python313\site-packages\sqlalchemy/orm/persistence.py�	<genexpr>�save_obj.<locals>.<genexpr>is#���
�?O�;�U���F��>�?O�s�c3�8# �UHunnnnnXX4S4v� M g7f)TNr)rrrrr�update_version_ids      rrr ms4���	
�&�
�����%�
�F��=�&�s�)�batch�_sort_states�save_obj�_organize_states_for_save�append�_sorted_tables�items�
_pks_by_table�_collect_insert_commands�_collect_update_commands�_emit_update_statements�_emit_insert_statements� _finalize_insert_update_commandsr)�base_mapper�states�uowtransactionrr�states_to_update�states_to_insert�dict_rr�has_identity�27row_switchr"�table�insert�updates                rr%r%(sF���+�+�+�!�+�6�E��[�'�>�$�G�7������28#�;��	G�	�
�
�������:��#�#��v�3D�E�
�
�#�#�U�6�$F�G�
29H�%�3�3�9�9�;�
���,�,�,��)�%�B��)��#3�30��	 ������	31�	 ������	32�#<�2%���
�
�?O�
�	
�&�	
�	33��c��^^�[[XU55nURR5HAummTTR;aMUU4SjU5n[XTXS5n[
UUTTU5 MC g)zTIssue UPDATE statements on behalf of a relationship() which34specifies post_update.35 36c373�># �UHJupp4TUR;dMUUUUTRbTRXTR5OS4v� ML g7f�N)r*�version_id_col�#_get_committed_state_attr_by_column)rrr�38sub_mapperrrr8s     ��rr�post_update.<locals>.<genexpr>�sp����39�>N�9��:��40�0�0�0�
�����41�,�,�8��>�>��6�+@�+@���
�>N�s42�A�7AN)�list� _organize_states_for_post_updater(r)r*�_collect_post_update_commands�_emit_post_update_statements)r0r1r2�post_update_colsr3r:rr8s      @@r�post_updaterH{s�����(��n�M���%�3�3�9�9�;�
��v���,�,�,��43�>N�44��$/����45��	%������	46�5<r;c��[[XU55nURn[[UR	555HWnXEnXVR47;aMUR(aUR(aM<[XXS5n[UUUUU5 MY UH%unn	nn48nURRXjU5 M' g)z�Issue ``DELETE`` statements for a list of objects.49 50This is called within the context of a UOWTransaction during a51flush operation.52 53N)rC�_organize_states_for_deleter(�reversed�keysr*�inherits�passive_deletes�_collect_delete_commands�_emit_delete_statements�dispatch�after_delete)r0r1r2�states_to_delete�table_to_mapperr8r�deleterrrr"s            r�54delete_objrV�s����#�K��H���"�0�0�O��$��3�3�5�6�7�� �'���,�,�,��
�_�_��!7�!7��)���55��	 ������	56�8�257�
	�
��������$�$�V��?�58r;c#�59# �[XU5GH�up4pV[UR5nUR=(d URU5nS=p�U(dURRXVU5 OURR
XVU5 UR(aURXSU5 U(d�X�RR;a�URRUn[R"U5nURU5(d�URU5(d5[R"S[!U5<SU<S[!U5<35 O9UR#SU[!U5[!U55 UR%U5 Un	U(dU	(aFUR&b9UR)U	(aU	OUU	(aU	R*OUUR&5n60UUUUUU	U614v� GM� g7f)a8Make an initial pass across a set of states for INSERT or62UPDATE.63 64This includes splitting out into distinct lists for65each, calling before_insert/before_update, obtaining66key information for each state including its dictionary,67mapper, the connection to use for the execution per state,68and the identity flag.69 70Nz
New instance z with identity key z$ conflicts with persistent instance zPdetected row switch for identity %s.  will update %s, remove %s from transaction)�_connections_for_states�bool�key�_identity_key_from_staterQ�
before_insert�
before_update�_validate_polymorphic_identity�session�identity_mapr�instance_state�was_already_deleted�71is_deletedr�warnr�72_log_debug�remove_state_actionsr?r@�dict)
r0r1r2rr5rrr6�instance_keyr7r"�instance�existings
             rr&r&�s����-D��V�-�(��f��E�I�I����y�y�J�F�$C�$C�E�$J��)-�-�73���O�O�)�)�&�e�D��O�O�)�)�&�e�D��0�0��1�1�&��G��� 6� 6� C� C�C�%�-�-�:�:�<�H�H�!�0�0��:�H�!�5�5�h�?�?�%�0�0��:�:��I�I�%�U�+�\�9�X�;N�P�� �*�*�&�%�!�%�(�!�(�+�
�#�7�7��A�!)�J��J�F�,A�,A�,M� &� J� J�(�74�e�#-�75���5��%�%�!��
�������76�	77�s-�s�HHc��[XU5$)z�Make an initial pass across a set of states for UPDATE78corresponding to post_update.79 80This includes obtaining key information for each state81including its dictionary, mapper, the connection to use for82the execution per state.83 84)rX)r0r1r2s   rrDrD#s��#�;��G�Gr;c#��# �[XU5HUup4pVURRXVU5 URbUR	X4UR5nOSnX4XVU4v� MW g7f)z�Make an initial pass across a set of states for DELETE.85 86This includes calling out before_delete and obtaining87key information for each state including its dictionary,88mapper, the connection to use for the execution per state.89 90N)rXrQ�
before_deleter?r@)r0r1r2rr5rrr"s        rrJrJ/su���-D��V�-�(��f�	���%�%�f�%�@�� � �,� &� J� J��f�3�3�!��!%���V�1B�C�C�-�s�A'A)r)�bulk�return_defaults�render_nulls�include_bulk_keysc	#�2^# �UGH�unmpxXR;aM0n	0n91URUnURUn[U5R	T5H�n
TU
nX�nUcX�;a	U(dMU(dW[US5(d[
U[R5(a'[US5(aUR5OUX�'M{X�UR'M� U(dTURURU	5RU92Vs/sHnURPM sn5HnSU	U'M93 U(aU(akURURU	5nURR!UR"U5(aUR$URU	5nOSnOS=nnUR&SLaQUR(bDUR(UR*U;a'UR'S5X�R(R'U(aYUR,(a&U	R/UR0UR25 U(aU	R5U4SjU55 UTU	UUU94UU4v� GM� gs snf7f)zKIdentify sets of values to use in INSERT statements for a95list of states.96 97N�__clause_element__TFc3�0># �UHoTU4v� M
 g7fr>r�r�krs  �rr�+_collect_insert_commands.<locals>.<genexpr>�s����L�:K�Q�*�Q�-�0�:K���)r*�_propkey_to_col�_insert_cols_evaluating_none�set�intersection�hasattr�98isinstancer�
ClauseElementrsrZ�_insert_cols_as_none�99difference�_pk_keys_by_table�issubsetr0�_prefer_eager_defaults�dialect�_server_default_col_keys�version_id_generatorr?�_cols_by_table�_set_polymorphic_identity�100setdefault�_polymorphic_attr_key�polymorphic_identityr:)r8r4rnrorprqrrr�params�value_params�propkey_to_col�	eval_none�propkey�value�col�c�colkey�has_all_pks�has_all_defaultsrs                    @rr+r+Fs�����2B�-��z�6��,�,�,�������/�/��6���7�7��>�	��>�*�7�7�101�C�G��w�'�E� �)�C��}��!5�l�����3�4�4��e�S�%6�%6�7�7��u�&:�;�;��,�,�.���!�#(�s�w�w��D�"��+�+�E�2���F�#���L�9�L�q�Q�U�U�L�9�:�;��102"&��v��	;���!�2�2�5�9�B�B�6�J�K��!�!�8�8��"�"�E���$*�#B�#B��$��(�6�"�!�$(� �-1�1��{�
�'�'�u�4��%�%�1��%�%��)>�)>�u�)E�E�06�0K�0K��1�F�(�(�,�,�-���/�/��!�!��0�0�&�2M�2M��!��
�
�L�:K�L�L�
��������	103�		104�Y2B��L:�s�DJ�J105�0E'J)rn�use_orm_update_stmtrqc#�^^# �UGH�unmnnn	XR;aMURUn106Ub
URnO0nURUnU(aZ[U5R	T5RURU5V
s0sHn
X�RTU
_M nn
SnGO0n[U5R	UR5H�n
TU
nX�n[US5(d[U[R5(a([US5(aUR5OUUU'MdURU
RR!UURU
5SLdM�UUUR'M� UR"R$SLaUR&UR)U5nOSnU	GbGUR*UR,U;Ga)U(d�U(d�U(dyUR.R15HXnURURRR3UT65nUR8(dMX O GMnUR*nU(+=(a U(+nX�UR:'U(dURU;a0UR<SLa!UR=U	5nUUUR'O6UR<SLaU(aX�UR'OU(d107U(dGMSnSnU(a�[U5R	URU5V
s0sH!n
X�R:TR?U
5_M# sn
m[@RBR	TR155(a2[DRF"SSRIU4SjU10855S3S	S1099eGO=0mU110GH4nUR.URn
URU
RR3UTJ5nUR8(a�URL(aSUU4UR4;a;SnUR8STUR:'UROURS5 OAURLSTUR:'UU;aSnOURPSTUR:'TUR:bGM[RRT"S
U<SU<35e U(aURWU4SjU55 U(dU(a URWT5 UTUUUUUU4v� GMlU(dGMvURXUH,unn[ZR\"UUUUUUUR^5 M. GM� gs sn
fs sn
f7f)aXIdentify sets of values to use in UPDATE statements for a111list of states.112 113This function works intricately with the history system114to determine exactly what values should be updated115as well as how the row should be matched within an UPDATE116statement.  Includes some tricky scenarios where the primary117key of an object might have been changed.118 119NTrsFz,No primary key value supplied for column(s) z, c3�^># �UH"nTURbM[U5v� M$ g7fr>)�_label�str)rr��	pk_paramss  �rr�+_collect_update_commands.<locals>.<genexpr>3s'����"�,/�q�9�Q�X�X�3F�F�C��F�F�C�s�-�-zY; per-row ORM Bulk UPDATE by Primary Key requires that records contain primary key values�bupq)�code�pk_cascadedrzCan't update table �, using NULL for primary key value on column c3�0># �UHoTU4v� M
 g7fr>rrus  �rrr�\s����H�6G��j��m�,�6G�rx)0r*�_valuesryr{r|r��_pk_attr_keys_by_tablerZ�committed_stater}r~rrrs�manager�impl�is_equalr0�eager_defaults�!_server_onupdate_default_col_keysr�r?r��_columntoproperty�values�get_historyr�PASSIVE_NO_INITIALIZE�addedr�r��getr�NONE_SET�sa_exc�InvalidRequestError�join�PASSIVE_OFF�deleted�pop�	unchanged�orm_exc�120FlushErrorr:�_table_to_equatedr�populate�passive_updates)r2r8r3rnr�rqrrrr"�pksr�r�r�r�r�r�r��prop�history�	no_params�valr��expect_pk_cascaded�m�
equated_pairsr�rs                          @@rr,r,�s�����4121�
	�
������,�,�,���"�"�5�)���*�.�6�6�L��L��/�/��6���122 #�>�2���j�)���F�9�9�%�@�A� B�� B�G��'�+�+�Z��-@�@� B�
�� $���F��~�.�;�;��%�%���#�7�+��$�-���5�"6�7�7�:��3�,�,�<�<�123#�5�*>�?�?��0�0�2�"�!��%��M�M�'�*�/�/�8�8��u�4�4�W�=�� � �124',�F�3�7�7�O�-�0�!�!�0�0�D�8��<�<�U�C��(�6�"�!�$(� �
�)��%�%��)>�)>�u�)E�E���<�125#�4�4�;�;�=�D�#�m�m�D�H�H�5�:�:�F�F��z�:�+K�+K��G��}�}�}��>���'�'�C�"�126�7�<�'7�I�!2�3�:�:������v�-��-�-�U�:��1�1�2C�D��"%��s�w�w���,�,��5�)�127#4�s�w�w����L����"���128 #�>�2�?�?��1�1�%�8� �� �G��'�.�.�129���w�0G�G� ��I��}�}�)�)�)�*:�*:�*<�=�=��0�0�B��	�	�"�,/�"���9�9� �130�131�>��I��� �2�2�3�7�;�;���-�-��0�5�5�A�A��:�z�'=�'=����=�=�#�O�O�)�5�#�6�)�4�4�5�.2�*�07�
�
�a�0@�	�#�*�*�-��132�133�3�7�7�D�1�18����0B�	�#�*�*�-��,�.�*/�K��,3�,=�,=�a�,@�I�c�j�j�)��S�Z�Z�(�0�!�,�,�49�3�@���1�:��M�M�H�6G�H�H��\��M�M�)�$������� ��	�	
� �
�%+�$<�$<�U�$C� ��=��
�
�����!�"��*�*��%D�W134��"��f�s<�B
W�W�-CW�8C2W�.C'W�(W�=FW�A5W�=AWc	#�V# �UGH�unnnnn	URUn1350nSnURUH�n
X�;a-URXVU
[RS9X�R136'M5X�;dU
RcMIURU
nURURRRXV[R5nUR(dM�URSnUX�R'SnM� U(dGMU	b�URURU;arURn
X�U
R137'[UR5(a>U
RU;a.UR SLaUR!U	5nUX�R'XVXxU4v� GM� g7f)zjIdentify sets of values to use in UPDATE statements for a138list of states within a post_update operation.139 140F)�passiveNrT)r*r��_get_state_attr_by_columnrr�r��onupdater�r�rZr�r�r�r�r?rYr�)r0r2r8r3rGrrrrr"r�r��hasdatar�r�r�r�r�s                  rrErE|s����141�
	�
������"�"�5�)�������(�(��/�C��z�%+�%E�%E��s�J�4J�4J�&F�&��z�z�"��(�C�L�L�,D��/�/��4���-�-����1�6�6�B�B��z�'G�'G����=�=�=�#�M�M�!�,�E�&+�F�7�7�O�"�G�0��7�!�-��)�)�V�-B�-B�5�-I�I��+�+��%6�s�z�z�"�����O�O����v�-��3�3�5�@� �5�5�6G�H�C�&)�F�7�7�O��V��?�?�K142�s�A4F)�:AF)�(F)�143BF)c#�x# �UH�unnnnnX&R;aM0n	URUHDn144URXEU1455=X�R'nUbM([R"SU<SU146<35e Ub5UR147URU;aX�UR148R'X�4v� M� g7f)zOIdentify values to use in DELETE statements for a list of149states to be deleted.NzCan't delete from table r�)r*r@rZr�r�r?r�)r0r2r8rSrrrrr"r�r�r�s            rrOrO�s����150�
	�
������,�,�,�����'�'��.�C��:�:��s��
�F�7�7�O�e�151�}��(�(�16�s�<���/�
�)��%�%��)>�)>�u�)E�E�0A�6�(�(�,�,�-�� � �/152�s
�AB:�A"B:T)�bookkeepingr��enable_check_rowcountc�D^^^�TRSL=(a TRTRT;mSUR0nSUUU4Sjjn	Ub	U	"U5n153OURST4U	5n154[	US5GH�uup�p�nnSn[U5nU155nUbUR
TTS.5nSnU(dUR"TRT6nS	nU(ajU(dcTRRS	LaJTR(a9URR(aUR"TRT6nS	nTR(aURTR5nS	nURR nU=(a URR"nU(+=(a T(+nU
(a�UH�unnnmnnnnUR%UR'U5UUS1569nU(a5[)TUTUUUUR*R,SUS	UR.5157 UUR0-
nU=(a UnM� GOLU(dzU=(a UnUHhunnnmnnnnUR%UUUS1589nU(a5[)TUTUUUUR*R,SUS	UR.5159 UUR0-
nMj O�UVs/sHnUSPM160 nnU=(a  U=(d U=(a [3U5S:HnUR%UUUS1619nUUR0-
nUHgunnnmnnnnU(dM[)TUTUUUUR*R,SUS	UR*R4(dUR.OS5162 Mi W(aAU[3U5:wa/[6R8"S
TR:[3U5U4-5eGMfT(dGMp[<R>"SWRR@-5 GM� gs snf)z\Emit UPDATE statements corresponding to value lists collected163by _collect_update_commands().N�compiled_cachec	�>�[R"[R5nTRTH>nURU[R"URURS9:H5 M@ T(aYURTR[R"TRRTRRS9:H5 UbURU5nU$TR5RU5nU$�N)�type_)
r�_construct_rawr�and_r*�_append_inplacer�	bindparamr��typer?�wherer:)�
existing_stmt�clausesr��stmtr�needs_version_idr8s    ���r�update_stmt�,_emit_update_statements.<locals>.update_stmt�s����#�2�2�9�>�>�B���'�'��.�C��#�#��s�}�}�S�Z�Z�s�x�x�@�@�
�/�164��#�#��%�%��=�=��)�)�0�0� �/�/�4�4���
��$� �&�&�w�/�D����<�<�>�'�'��0�D��r;r:c�R�US[US5[US5USUS4$�N�r
����r{rY��recs r�<lambda>�)_emit_update_statements.<locals>.<lambda>�2����F���A��K���Q��L���F���F�165r;r)�_emit_update_table�_emit_update_mapperFT��execution_optionsr
r�MUPDATE statement on table '%s' expected to update %d row(s); %d were matched.�MDialect %s does not support updated rowcount - versioning cannot be verified.r>)!r?r��_compiled_cache�_memorrC�	_annotateror*r0r��implicit_returningr��update_returning�_server_onupdate_default_cols�!_version_id_has_server_side_value�supports_sane_rowcount�supports_sane_multi_rowcount�executer��166_postfetch�context�compiled_parameters�returned_defaults�rowcount�len�executemanyr��StaleDataError�descriptionrrd�dialect_description) r0r2rr8r:r�r�r�r�r��cached_stmtr�	paramkeys�hasvaluer�r��records�rows�	statementro�assert_singlerow�assert_multirow�allow_executemanyrrr�r�r��check_rowcountr��multiparamsr�s   ``                           @rr-r-�s����	���T�)�	B��!�!�V�%:�%:�5�%A�A��167*�;�+F�+F�G����.�&�!�"5�6��"�'�'��5�(9�;�G��168169��	170�	171�	�H���K�����w�-���	��*�!�+�+�*/�+1���I� ���!�1�1�6�3G�3G��3N�O�I�"�O�
�$��"�"�1�1�T�9��(�(��"�"�3�3�!�1�1��5�5�e�<��I�#�O��3�3�!�1�1�&�2G�2G�H�I�"�O�%�-�-�D�D��
�
@��"�"�?�?�	�!0�/�H�8H�4H����	������� ���&�&��$�$�\�2��&7�'���172���&���"���	�	�5�5�a�8�$���+�+����173�174�"��!6�!K�;K��)�,%�!6�!K�;K���	������ �$��"�*�*�!�6�=N�+��A�175#�"�"�*�!�!�&���I�I�9�9�!�<�(� ��/�/���A�J�J�&�D�'�*29�9��#�s�1�v���9�!6�"�#�D�(�B�S��-=��-B��176�&�&��{�>O�'�����177�178�"���	������ �$��"�{�"�"�*�!�!�&���I�I�9�9�!�<�(� �()�y�y�'<�'<�!"� 3� 3�%)���&��s�7�|�#��,�,�9��(�(�#�g�,��=�>���$��
��I�I�3��)�)�/�/�0�
�]	179��x:s�P)r��use_orm_insert_stmtr�c�r�UbFUn[Rn	[UR5n180U181=(a UR=(d UnO0Sn182UnURSU4UR5nSUR0n	U(a [RRX�5nOU	nSn[US5GHZuup�nnnnUnUbURUUS.5nU(aTU(dMURU
RU5(a,UR(aU
RR(d�U183(d�U(a�U(d�[U5nUVs/sHnUSPM184 nnU
R!UUUS9nU(a�[#UUR$R&5H`uunnnnnnnnnU(a=[)UUUUUUUUSUR$R*(dUR,OS5185 MS[/UUU5 Mb GMTGMW[U5nU186(d'UR(a�U(d�[1U5S	:�a�U(aU
RR2(d"U(dU
RR4(aS187nOIU188(a=U(aSnOSn[6R8"S
U
RR:SUS35eSnOSnUcGU(d@URU
RU5(aUR<"UR>USU06nUR@bUR=UR@US9nO#U(aUR<"URBSU06nU(GaFUVs/sHnUSPM189 nnU
R!UUUS9nUbUcUnOUREU5nU(a�[GUUR$R&URHURJ=(d S5H�uunnnnnnnnnn n!U c[LRN"SU-5e[#U URPU5HBun"n#URRU#n$URUU$RV5bM3U"UU$RV'MD U(a[)UUUUUUUUSU!5190 M�[/UUU5 M� GMGMU191(aeUGHGunnnnn
nnnU(a!U
R!URYU5UUS9nOU
R!UUUS9nURZn%U%cRN"SU<S35e[#U%URPU5HHun"n#URRU#n$U#U;dURUU$RV5bM9U"UU$RV'MJ U(dM�U(aU[)UUUUUUUR$R&SUSUR$R*(dUR,OS5192 GM:[/UUU5 GMJ GM] UbUc[\R^"5$U$gs snfs snf)z\Emit INSERT statements corresponding to value lists collected193by _collect_insert_commands().NFr9r�c�R�US[US5[US5USUS4$r�r�r�s rr��)_emit_insert_statements.<locals>.<lambda>�r�r;)�_emit_insert_table�_emit_insert_mapperr
r�rTz+ with RETURNING and sort by parameter orderz with RETURNINGz<Can't use explicit RETURNING for bulk INSERT operation with z backend; executemanyz! is not enabled for this dialect.�sort_by_parameter_order)rrz�Multi-row INSERT statement for %s did not produce the correct number of INSERTed rows for RETURNING.  Ensure there are no triggers or special driver issues preventing INSERT from functioning properly.z Single-row INSERT statement for z� did not produce a new primary key result being invoked.  Ensure there are no triggers or special driver issues preventing INSERT from functioning properly.r)0r�194EMPTY_DICTrY�195_returning�_sort_by_parameter_orderr�r9r��196merge_withrr�r�r�r��insert_returningrCr��zipr�r�r�rr��_postfetch_bulk_saver�4insert_executemany_returning_sort_by_parameter_order�insert_executemany_returningr�r�rro�_server_default_colsr?�primary_key�splice_verticallyr�inserted_primary_key_rows�returned_defaults_rowsr�r�r*r�r�rZr��inserted_primary_key�_cursor�null_dml_result)&r0r2rr8r9r�rr�r�exec_opt�returning_is_required_anyway�deterministic_results_reqd�
return_resultr�_rr�r�r	rr�r�resultrrr��197mapper_rec�connr��last_inserted_params�do_executemany�dtr&r��pkr�r�r"s&                                      rr.r.�s����&�)���?�?��(,�,?�,J�,J�'K�$�(�
=�#�<�<�&��	#�198(-�$�%0�"�!�'�'��5�(9�5�<�<�H��$�k�&A�&A�B��� �O�O�6�6��199��%���M�200201��	202�	203�	�@���+�/?�� �	��*�!�+�+�*/�+1���I� �$�&�=�=�"�*�*�E���!�3�3�%�-�-�>�>�1����7�m�G�-4�5�W�c�3�q�6�W�K�5��'�'��;�:K�(��F����&�.�.�"D�"D�E��	��"��"��$�#�(�(��"�&�*�!�!�&�"�0�(�!�(.�~�~�'A�'A�!'� 8� 8�%)��"-�Z��U�K�'F��L�7�m�G�+��(�(��c�'�l�Q�>N�/�"�*�*�_�_�2�"�*�*�G�G�%)�N�1�1�J��.�� �4�4�*�%�-�-�A�A�B�C&�&(�T�)J�L���&+�N�!&��"�*�(�#�:�:�"�*�*�E���!*� 9� 9��4�4�U�;�!�0;�!�I�204�$�$�0�%�5�5��)�)�,7�6��	� �%�5�5��&�&��@K��	��18�9��#�s�1�v���9�#�+�+��{�>O�,���'�2�$�,�(.�
�(5�(G�(G��(O�
��%�����:�:��8�8��5�5�;��	��	�!�&�"�&� �(�'�,�,�,�)�0�7�#*�"4�"4�!8�205;E�!E�#��(+�0�"�0�0��7�(�G�B��$.�#?�#?��#D�D�)�~�~�d�h�h�7�?�79�206�4�8�8� 4�
(�!�&� *� .� %� %� *� &� 4� ,� %� 1��1��Z��O�Y��z8�7�7��	������ ��$�#�!+�!3�!3�%�,�,�\�:�"�.?�"4�"��",�!3�!3�%�"�.?�"4�"��#)�"=�"=�K�"�*�%�0�0�8B�D���$'�#�V�%9�%9�%�%@�$���C� *�;�;�C�@���<�/�)�~�~�d�h�h�7�?�35�J�t�x�x�0�$�#�{� �&� *� .� %� %� *� &� &��� B� B�1� E� ,� %�,2�>�>�+E�+E�%+�$<�$<�)-��"1��Z��O�i�y	207�d�&�� ��*�*�,�,� � �	'��S6��~:s�X/�3X4c
�^^^�SUR0nTRSL=(a TRTRT;mUUU4SjnURST4U5nTR(aURTR5n[
US5GH�up�Sn208[U	5n	USnURRnU=(a URRn
T(+=(d U
nU(dZUnU	HQunnnnnURUUUS9n[UUTUUUURRS5 U209UR-
n210MS O�U	VVVVVs/sHunnnnnUPM
 nnnnnnU
=(d U=(a [!U5S:HnURUUUS9nU211UR-
n212[#U	5H4ununnnnn[UUTUUUURRU5 M6 U(aAU213[!U	5:wa/[$R&"S	TR([!U	5U2144-5eGM�T(dGM�[*R,"S215WRR.-5 GM� gs snnnnnf)zaEmit UPDATE statements corresponding to value lists collected216by _collect_post_update_commands().r�Nc	��>�[R"[R5nTRTH>nURU[R"URURS9:H5 M@ T(aYURTR[R"TRRTRRS9:H5 TR5RU5nU$r�)
rr�rr�r*r�rr�r�r�r?r:r�)r�r�r�rr�r8s   ���rr��1_emit_post_update_statements.<locals>.update_stmts����#�2�2�9�>�>�B���'�'��.�C��#�#��s�}�}�S�Z�Z�s�x�x�@�@�
�/�217��#�#��%�%��=�=��)�)�0�0� �/�/�4�4���
��|�|�~�#�#�G�,���r;rHc�(�US[US54$)N�r�)r{r�s rr��._emit_post_update_statements.<locals>.<lambda>3s��S��V�S��Q��[�)r;rr�rr�r�)r�r?r�r�r�rorrCr�r�r�r��_postfetch_post_updater�r�rr�	enumerater�rrrrdr)r0r2rr8r:r�r�rrZr	r218rrr
rrrrr/r�r�r0r�ir�s  ``                    @rrFrFs����*�;�+F�+F�G��	���T�)�	B��!�!�V�%:�%:�5�%A�A��219�*�!�!�=�%�"8�+�F�I�
�/�/��-�-�f�.C�.C�D�	� ��)�������w�-����V�220�%�-�-�D�D���
@��"�"�?�?�	�!1�0�C�O�� �-�N�EL�A��z�:�z�6��&�&��v�9J�'���'��"������I�I�1�1�!�4����221�222�"��FM�$DK��CJ�?�E�:�z�4���CJ�
��223-�� �:�S��%5��%:�
��"�"��;�:K�#��A�
�A�J�J��D��7�#�
��������&��"������I�I�1�1�!�4��$���s�7�|�#��,�,�9��(�(�#�g�,��=�>���$��
��I�I�3��)�)�/�/�0�
�U��Ds�I>c� ^^^�TRSL=(a TRTRT;mUUU4SjnURST4U5n[US5GH�upxUV	Vs/sHup�U	PM	 n224n	nSUR0n[U2255nSn
SnT(a�WRR(d�URR(a*Sn
U226H!n	URXiUS	9nX�R-
n
M# Oc[R"S227URR-5 URXjUS	9 O%WRXjUS	9nT(dSnURn
UR(dGMU
S:�dGM X�:wdGM(URR(d[U2285S:XdGMUU(a([R"S
TRX�4-5 GM�[ R""S
TRX�4-5e gs snn	f)z\Emit DELETE statements corresponding to value lists collected229by _collect_delete_commands().Nc	��>�[R"[R5nTRTH>nURU[R"URURS9:H5 M@ T(aYURTR[R"TRRTRRS9:H5 TR5RU5$r�)
rr�rr�r*r�rr�rZr�r?rUr�)r�r�r�need_version_idr8s  ���r�delete_stmt�,_emit_delete_statements.<locals>.delete_stmt�s����#�2�2�9�>�>�B���'�'��.�C��#�#��s�}�}�S�W�W�C�H�H�=�=�
�/�230��#�#��%�%��=�=��)�)�-�-�V�5J�5J�5O�5O���
��|�|�~�#�#�G�,�,r;rUc��US$)Nrrr�s rr��)_emit_delete_statements.<locals>.<lambda>�s���A�r;r������Frr�zMDialect %s does not support deleted rowcount - versioning cannot be verified.Trz�DELETE statement on table '%s' expected to delete %d row(s); %d were matched.  Please set confirm_deleted_rows=False within the mapper configuration to prevent this warning.)r?r�r�rr�rr�r�r�r�rrrdr�confirm_deleted_rowsrr�r)r0r2rr8rUrArr�recsr��del_objectsr��expected�rows_matched�	only_warnr�r@s  ``            @rrPrP�s���	���T�)�	B��!�!�V�%:�%:�5�%A�A��231-�$�!�!�8�U�"3�[�A�I�#�F�,>�?��232�8<�=��"4�&�v���=�-�{�/J�/J�K���{�#�����	�
��&�&�C�C��!�!�8�8� ��*�F�"�*�*�!�=N�+��A�!�J�J�.�L�	*��	�	�7� �(�(�<�<�=��233�"�"��>O�#���"�"��:K�#��A�#� �	��:�:�L�
�,�,�,��r�!��(��"�"�?�?��{�#�q�(�234��	�	�=��(�(�(�A�	B���,�,�=��(�(�(�A�	B���y@��=s�)H235c	�X�UGH�up4pVnUR(a�URURVs/sH�nUR(a+UR(a\URUR236;dBUR(aMRUR(aMeURUR237;dM�URPM� sn5n	U	(aUR
UR238U	5 /n239URSLa4U240RURRUR55 URbYURSLaJURRUR;a&U241RURR/5 U242(akUR!U5Ul["R$"U5R'[(5n[*R,"UR.UURUU243S9 U(dUR0R3XVU5 OUR0R5XVU5 URSLdGM_URcGMoXERRbGM�[6R8"S5e gs snf)zrfinalize state on states that have been inserted or updated,244including calling after_insert/after_update events.245 246TNF)�
refresh_state�only_load_propsz2Instance does not contain a non-NULL version value)�_readonly_props�unmodified_intersection�expire_on_flush�deferredrZrg�_expire_attributesr��extend�_unloaded_non_objectr|�&_server_default_plus_onupdate_propkeysr?r��_version_id_prop�unloadedr[r�select�set_label_stylerr247�
load_on_identr_rQ�after_insert�after_updater�r�)r0r2r1rrrrr6�p�readonly�248toload_nowr�s            rr/r/�s*��249@F�;��6�|��!�!��4�4�$�3�3��3���)�)�!"���q�u�u��250�251�/B��-�-��!"�252�253���E�E����3��A�E�E�3���H���(�(����X�>�254�255��%�%��-�����*�*�7�7��A�A��
�
�!�!�-��+�+�u�4��&�&�*�*�e�n�n�<��!�!�6�#:�#:�#>�#>�"?�@��#�<�<�U�C�E�I��=�=��(�8�8�.��D�
�!�!��&�&���	�	�#� *�
���O�O�(�(��U�C��O�O�(�(��U�C�
�'�'�5�0��%�%�1��1�1�5�5�6�>��(�(�H���C@F��s�AJ'256�257J'258�J'259�9J'260c��URSL=(a URURU;nURU5(dAURRR261nURRRn	OU(aS=p�OgU(a[U5UR/-n[URRR5n262U263(a/nUH~nURU;dMX�R;dM&XlRX@RUR'U264(dMVWRURUR5 M� U265(a-W(a&URRRX1U5 U	(aVURUR U	Vs/sH-nX�R;dMURURPM/ sn5 ggs snf)Nr)r?r�rcr��compiled�prefetch�	postfetchrCrY�
class_managerrQ�
refresh_flushrZr�r'rSrg)
rr2r8rr5r.r�r��
prefetch_cols�postfetch_colsrf�load_evt_attrsr�s
             rr;r;0s���	���T�)�	B��!�!�V�%:�%:�5�%A�A��266�$�$�U�+�+����/�/�8�8�
����0�0�:�:��	�*,�+�
��	���]�+�v�/D�/D�.E�E�
���-�-�6�6�D�D�E�M����
���5�5�F�?�q�$<�$<�<�5;�E�E�]�E�*�*�1�-�1�1�2��}��%�%�f�&>�&>�q�&A�&E�&E�F�	������%�%�3�3��>�	267��
� � ��J�J�(�
�'�A��0�0�0�0��(�(��+�/�/�'�
�	268���
s�G=269�G=270c271272�`�URRRn273URRRnURRRnUR274b6UR275URU;a[U2765UR277/-n278[URRR5n
U
(a/nU(a�U	nUb�[X�5H�unnUR(aURR(aM4URR!U5nU(dMXUUUR"'U
(dMpWR%UR"5 M� U279H�nUR"U;dMUUR;dM'URUR"nUUR"UU'UR&R)US5 U
(dMwWR%U5 M� U
(a-W(a&URRRX1U5 U(aDU(a=UR+UVs/sH nUR(dMUU;dMUPM" sn5 U(aVUR-UR.UVs/sH.nUUR;dMURUR"PM0 sn5 UR0UH,unn[2R4"UUUUUUUR65 M. gs snfs snf)z~Expire attributes in need of newly persisted database state,280after an INSERT or UPDATE statement has proceeded for that281state.N)r�rbrcrd�effective_returningr?r�rCrYrerQrfrr"�isinsertr�r�rZr'r�r�rTrSrgr�rr�r�)rr2r8rr5r.r�r��isupdater�rgrh�returning_colsrfri�row�	row_valuer�r�r��pkeyr�r�s                       rr�r�bs��� �N�N�+�+�4�4�M��^�^�,�,�6�6�N��^�^�,�,�@�@�N�	���)��!�!�V�%:�%:�5�%A�A��]�+�v�/D�/D�.E�E�
���-�-�6�6�D�D�E�M��������?�"%�c�":��	�3��?�?�v�~�~�'>�'>���/�/�3�3�C�8���4�&/�E�$�(�(�O�$�}�&�-�-�d�h�h�7�#;� ���5�5�F�?�q�F�$<�$<�<��+�+�A�.�2�2�D�!����-�E�$�K��!�!�%�%�d�D�1��}��%�%�d�+�������%�%�3�3��>�	282��L�	���(�
�'�C��?�?��'*�.�'@��'�
�	283��
� � ��J�J�(�
�'�A���0�0�0�0��(�(��+�/�/�'�
�	284�#�4�4�U�;���=��
�
��
��
����"�"�	285�<��)
��
s�L&�4L&�<L&�*L+286�L+287c�b�URUHup4[R"XU5 M gr>)r�r�bulk_populate_inherit_keys)rr5r8r�r�s     rrr�s*��"�4�4�U�;����'�'��-�@�<r;c#�V# �URR(aURRnOURRU5nSn[	X5HGnU(aU"XR55nURRnXURUW4v� MI g7f)z�Return an iterator of (state, state.dict, mapper, connection).288 289The states are sorted according to _sort_states, then paired290with the connection they should be using for the given291unit of work transaction.292 293N)	r_�connection_callable�transactionrr$�objr�rrg)r0r2r1rurrrs       rrXrX�s�������1�1�,�4�4�H�H��#�/�/�:�:�;�G�294�"���k�2���,�[�)�)�+�F�J����%�%���Z�Z���3�3�
3�s�B'B)c�F�[U5nUVs1sHo3RcMUiM nnURU5 [X@RS9n[U[R"S5S9U-$s snf![295an[R"SU-5UeSnAff=f)N)rZz^Could not sort objects by primary key; primary key values must be sortable in Python (was: %s)�insert_order)296r{rZ�difference_update�sorted�_persistent_sortkey_fn�	TypeErrorr�r��operator�297attrgetter)rr1�pending�s�298persistent�persistent_sorted�errs       rr$r$�s����&�k�G�$�:�W����!�W�J�:����j�)��"��9�9�299��	�w�H�/�/��?�@�300�	���;�����(�(�
:�<?�
@�301��	���s!�A2�A2�A7�7302B �B�B )F)0�__doc__�303__future__r�	itertoolsrrrr~�rr	r�r304r�baserr�rrr�enginerr'r�sql.elementsr�sql.selectablerr%rHrVr&rDrJr+r,rErOr-r.rFrPr/r;r�rrXr$rr;r�<module>r�s����#���!�����������&��,�;�P�f*305�Z(@�VM306�`	H�D�6307����b308�T309���N�b3@�l#!�Z���g�b���A!�H310y�x`�FH�V/311�dg312�TA�3134�4r;
codekingpro/portable-devtools · Team Ai