Team Ai
Datasetpublic

codekingpro/portable-devtools

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

2��j����`�SrSSKJr SSKrSSKrSSKJr SSKJr SSKJr SSKJ	r	 SSKJ3r4 SS	KJr SS5KJr SSKJ
r
 SSKJr SS
KJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJr SSKJ r  SSKJ!r! SSK"J#r# SSK"J$r$ SS KJ%r% SS!KJ&r& SS"K'J(r( \(a6SS#K)J*r* SS$K)J+r+ SS%KJ,r, SS&KJ-r- SS'KJ.r. SS(KJ/r/ SS)KJ0r0 SS*KJ1r1 SS+KJ2r2 \&Rf"S,S-5r4SRS0jr5\S.\6\\\6S14\6\64r7\S2\6\6\7\64r8\S/\6S1\8\64r9\\7r:"S3S4\
5r;SSS5jr<\STSUS6jj5r=\SVS7j5r=SWSXS8jjr=S9r>SYS:jr?S;r@S<rAS=rBS>rCS?rDS@rESArFSZSBjrGSCrH\S[S\SDjj5rI\S]SEj5rIS^S_SFjjrI\S[S\SGjj5rJ\S]SHj5rJS^S_SIjjrJ"SJSK\R^\5rKS`SLjrLSMrMSaSNjrNSOrOSPrPSQrQg)bziFunctions used by compiler.py to determine the parameters rendered9within INSERT and UPDATE statements.10 11�)�annotationsN)�Any)�Callable)�cast)�Dict)�Iterable)�List)�MutableMapping)�12NamedTuple)�Optional)�overload)�Sequence)�Set)�Tuple)�
TYPE_CHECKING)�Union�)�	coercions)�dml)�elements)�roles)�_DefaultDescriptionTuple)�isinsert)�ColumnClause)�default_is_clause_element)�default_is_sequence)�Select)�TableClause�)�exc)�util)�Literal)�_BindNameForColProtocol)�SQLCompiler)�_DMLColumnElement)�DMLState)�13ValuesBase)�
ColumnElement)�KeyedColumnElement)�_SQLExprDefault)�Column�REQUIREDa814Placeholder for the value within a :class:`.BindParameter`15which is required to be present when the statement is passed16to :meth:`_engine.Connection.execute`.17 18This symbol is typically used when a :func:`_expression.insert`19or :func:`_expression.update` statement is compiled without parameter20values present.21 22�ColumnElement[Any]�ColumnClause[Any]c�d�[U[5(d[R"SU<35eU$)Nz5Can't create DML statement against column expression )�23isinstancerr �CompileError)�cs �YD:\code\apps\devtools\python\user_packages\Python313\site-packages\sqlalchemy/sql/crud.py�_as_dml_columnr4Js3���a��&�&����C�A�5�I�24�	25�
�H�r*�KeyedColumnElement[Any]c�T�\rSrSr%S\S'S\S'SrS\S'SrS\S	'S26rS\S'S
rg27)�_CrudParams�jzList[_CrudParamElementStr]�
single_params�$List[Sequence[_CrudParamElementStr]]�all_multi_paramsF�bool�is_default_metavalue_only�use_insertmanyvaluesNzOptional[Sequence[Column[Any]]]�use_sentinel_columns�)	�__name__�28__module__�__qualname__�__firstlineno__�__annotations__r>r?r@�__static_attributes__rAr5r3r8r8js0��-�-�:�:�&+��t�+�!&��$�&�<@��9�@r5r8c�^�/Ul/Ul/Ul/UlUR	SS5nUbURSS5 SU;dS5e[
XU5umnnXplUR(a'UR(a[R"S5eUR(a![UUUSUTUSSUU5 [//5$URc�UR (au[UR"R$Vs/sHInUR&(aMUUR(R+U5[-XSSS9UR.44PMK sn/5$[1U5(aYUR2(aHUR4n	U	ceU	S	n29[7U30R955nU31Vs1sHnT"U5iM
 n
nO�UR:(a6UR<n32UR:nU33ceU34Vs1sHnT"U5iM
 n
nORUR<(a>UR<n35[7U36R955nU37Vs1sHnT"U5iM
 n
nOS=p�URc0nObU(a4U
ceURVs0sHnX�;dM38T"U5[>_M nnO'URVs0sHnT"U5[>_M nn/nUb[AUUUUTUU5 0n[BRD"U5(a$URF(a[IUUUUUUUUU5	 [1U5(a>URJ(a-UR2(ae[MUUUUUTUUUUU5 S39nSnO[OUUUUUTUUUUU5unnU(Ga�U(Ga�[QU5RSU4SjU55RUU5nU(GaL[BRD"U5(Ga[QSU55RUURV/5nURUURX5nU(ajURF(aURZ(dHURZ(dS
nOSn[R"USSR]SU55S35eU(aBURZ(de[R"SSR]SU5535e[R"SSR]SU55-5eS40n[1U5(aTUR2(aCURJ(ae[_UUU[aSU5[aST5U5n[UU5$U(d�URb(a�URdRf(am[iUR"R$S	5UR(R+UR"R$S	5URdRjS4/nSn[U/UUUS9$s snfs snfs snfs snfs snfs snf)a9create a set of tuples representing column/string pairs for use41in an INSERT or UPDATE statement.42 43Also generates the Compiled object's postfetch, prefetch, and44returning column collections, used for default handling and ultimately45populating the CursorResult's prefetch_cols() and postfetch_cols()46collections.47 48�visiting_cteN�accumulate_bind_namesz;Don't know how to handle insert within insert without a CTEzVCan't compile statement that includes returning() and return_defaults() simultaneouslyrAT)�requiredrFc3�8># �UHupT"U5v� M g7f�NrA)�.0�k�v�_column_as_keys   �r3�	<genexpr>�#_get_crud_params.<locals>.<genexpr>Ks����N�8M���.��+�+�8M�s�c3�# �UH9up[U[5(dMURcM+URv� M; g7frM)r0r�table)rNr2rPs   r3rRrSQs5���'� 5���!�!�\�2��78�w�w��A�G�G� 5�s�A�A�Az<Backend does not support additional tables in the SET clausez/Statement is not a multi-table UPDATE statementz'; cannot include columns from table(s) �, c3�B# �UHnSURS3v� M g7f��'N��description�rN�ts  r3rRrSls%���&A�/?�!�)*�!�-�-���&:�/?���z in SET clausez7Multi-table UPDATE statement does not include table(s) c3�B# �UHnSURS3v� M g7frXrZr\s  r3rRrSws$���&8�%6��#$�A�M�M�?�!� 4�%6�r^zUnconsumed column names: %sc3�(# �UHo<v� M49 g7frMrA)rNr2s  r3rRrSs���8�%�Q�Q�[�%�s��Sequence[_CrudParamElementStr]�Callable[..., str])r>r?r@)6�	postfetch�insert_prefetch�update_prefetch�implicit_returning�get�pop�_key_getters_for_crud_column�_get_bind_name_for_col�50_returning�_return_defaultsr r1�isdelete�_setup_delete_return_defaultsr8�column_keys�_no_parametersrU�columns�_omit_from_statements�preparer�
format_column�_create_bind_param�key�_compile_state_isinsert�_has_multi_parameters�_multi_parameters�list�items�_ordered_values�_dict_parametersr,�!_get_stmt_parameter_tuples_paramsr�isupdate�
is_multitable�_get_update_multitable_params�
_select_names�_scan_insert_from_select_cols�51_scan_cols�set�intersection�52difference�	dml_table�_extra_froms�'render_table_with_column_in_update_from�join�_extend_values_for_multiparamsr�for_executemany�dialect�supports_default_metavaluer4�default_metavalue_token)�compiler�stmt�
compile_state�toplevel�kwrI�_getattr_col_key�_col_bind_namer2�mp�spd�stmt_parameter_tuplesrv�spd_str_key�53parameters�values�
check_columnsr?r@�check�tables_mentioned�multi_not_in_from�preambler>�multi_extended_valuesrQs                         @r3�_get_crud_paramsr�rs����P�H��!�H��!�H��"$�H���6�6�.�$�/�L���54	���&��-��r�)�E�D�E�)�	%�X�]�C�	����'5�#����4�0�0����
/�55�	56�57���%������������	58��2�r�"�"����#�
�(D�(D�����+�+�	
�,�A��.�.����%�%�3�3�A�6�&�x�D�4�H��U�U�H�	�,�	
�
�59�	60�(	 �
�.�.��/�/�
�
,�
,���~��~���e�� $�S�Y�Y�[� 1��69�:�c�s�~�c�*�c��:��	�	&�	&��,�,�� -� =� =������69�:�c�s�~�c�*�c��:��	�	'�	'��,�,�� $�S�Y�Y�[� 1��69�:�c�s�~�c�*�c��:��.2�2�����#��61�	��&�&�&� �+�+�62�+���%�
*�N�3���)�+�	�63�64�6>�5I�5I�65�5I�c�N�3���)�5I�	�66�67*,�F��(�)����!����	68�35�M��|�|�M�"�"�}�'B�'B�%����!������69	70��}�-�-�$�2D�2D�!�6�6�6�6�%������������	71� %��#��5?������������672�2��2��+��73�O�
�\�N�8M�N�
N�
�Z�
�
&�	�74��|�|�M�*�*�#&�'� 5�'�$��*�m�5�5�6�7�	!�%5�$?�$?�!�.�.�%�!�$�%�3�3�#�K�K�#�K�K�7�!�N�!��*�*�#�*�%;� �I�I�&A�/?�&A�A�;�(�	+���'�#�K�K�K�K��*�*�$�!�I�I�&8�%6�&8�8������"�"�-��9�9�8�%�8�8�:��
�75!&��	 �
�.�.��/�/��%�%�%�%� >�����0��
�
�%�~�6��76!77���6�#8�9�9���$�$����7�7��t�z�z�1�1�!�4�5��!�!�/�/��78�79�0B�0B�1�0E�F�� � �8�8��	
�80��%)�!���81�";�1�1����u	
��4;��82;��;��83��84s0�
Y�&7Y�9Y�Y85�Y�	Y�Y�Yc��grMrA)r��col�value�processrK�name�force_anonymousr�s        r3ruru�s��r5c��grMrA)r�r�r�r�s    r3ruru����r5c��U(aSnOUcURn[R"XRURUS9nSUlU(aUR86"U40UD6$U$)N)�type_rKT)rvr�
BindParameter�type�_is_crud�_compiler_dispatch)	r�r�r�r�rKr�r�r��	bindparams	         r3ruru�s^�����	
���w�w���&�&��3�8�8�h��I��I����+�+�H�;��;�;��r5c�T�SU;nU(dTUR(aC[UR[R5(aX0R87SUR4'URR(aURUR5nUR"U40UD6$)NrIr�)88�uniquer0rvr�_truncated_label�truncated_namesr��_isnull�_with_binary_element_typer�)r�r�r�r�r��is_ctes      r3�_handle_values_anonymous_paramr��s���(�r�
!�F�
��L�L��u�y�y�(�";�";�<�<�=A� � �+�u�y�y�!9�:��z�z����/�/����9���#�#�H�3��3�3r5c��^^�[R"U5(a{UR(aj[UR5m[R89"[R[R5mSUU4SjjnSU4SjjnSU4SjjnOJ[R90"[R[R5n[R"S5=pEX4U4$)Nrvc�>�T"U5n[US5(a(URT;aURRU4$U$)NrU)�hasattrrUr�)rv�str_key�_et�91c_key_roles  ��r3rQ�4_key_getters_for_crud_column.<locals>._column_as_keys>���!��o�G��s�G�$�$����c�)9��	�	����0�0��r5c�>�URT;a"URRUR4$UR$rM)rUr�rv�r�r�s �r3r��6_key_getters_for_crud_column.<locals>._getattr_col_key$s1����y�y�C���	�	������0�0��w�w�r5c��>�URT;aS[(a![UR[5(deURR<SUR92<3$UR93$)N�_)rUrr0rr�rvr�s �r3r��4_key_getters_for_crud_column.<locals>._col_bind_name,sK����y�y�C�� �=�%�c�i�i��=�=�=�=�"%�)�)�.�.�#�'�'�:�:��w�w�r5)rvzUnion[ColumnClause[Any], str]�return�Union[str, Tuple[str, str]])r�r.r�r�)r�r.r��str)rrr�r��	functools�partialr�
expect_as_keyr�
DMLColumnRole�operator�94attrgetter)r�r�r�rQr�r�r�r�s      @@r3riris�����|�|�M�"�"�}�'A�'A��-�,�,�-���&�&��#�#�U�%8�%8�95�96�	�.�	�
(�	�	�	�"�	�
(�	�	�	�#�*�*��#�#�U�%8�%8�97��-5�,?�,?��,F�F���^�;�;r5c	�Z�URVs/sH!o�RRU"U5PM# nnURSSULdeURURSS'/n
UR98(ap[
U5nURRHKnX�;dM99UR(dMURR(aM:URU5 MM UHenU"U5nUU;aGUU;aAURU5 URUURRU5SS45 MX[XUX�5 Mg U
(a�URU
5 URSSn[!U["5(d0[$R&"SSR)SU
55S35eUR+5n[-UR.5U
VVs/sH100u nnnUPM snn-UlUURSS'ggs snfs snnf)	N������101selectable�insert_from_selectrAz_Can't extend statement for INSERT..FROM SELECT to include additional default-holding column(s) rVc3�@# �UHup n[U5v� M g7frM)�repr)rNr�rvs   r3rR�0_scan_insert_from_select_cols.<locals>.<genexpr>us���L�O�L�A�A�q�d�3�i�i�O�s�z~.  Convert the selectable to a subquery() first, or pass include_defaults=False to Insert.from_select() to skip these columns.)r�rUr2�stack�select�#include_insert_from_select_defaultsr�rq�default�is_sentinel�appendrhrsrt�&_append_param_insert_select_hasdefault�extendr0rr r1r��	_generaterz�_raw_columns)r�r�r�r�r�rQr�r�r�r�r�r��cols�add_select_cols�col_setr�r2�col_key�ins_from_selectr��exprs                     r3r�r�=s��<@�;M�;M�N�;M�4�J�J�L�L���-�.�;M�D�N��>�>�"��l�+�t�3�3�3�/3�{�{�H�N�N�2��+�,�68�O��/�/��d�)���:�:�%�%�C��"��K�K�K����/�/�/����C� �&� ��"�1�%���j� �W�M�%A��N�N�7�#��M�M�1�h�/�/�=�=�a�@�$��K�L�2���?�
�
���
�
�o�&�"�.�.��,�-A�B���/�6�2�2��"�"�8��I�I�L�O�L�L���	��
�*�3�3�5��'+�O�,H�,H�'I�&5�M102�&5�]�Q��4��D�o�M103�(104��$�4C����r��/�0�%��GO��dM105s�(H"�2H'c�^�[XX)5unnn
nnnUR(dUR(deUR(a�URVs/sHnU"U5PM
 nn[	U5nUVs/sHOn[U[5(dMUURR;dM6URRUPMQ snURRVs/sHnURU;dMUPM sn-nOURRn[U5nU(a>UR(d-URRnURRnOS=nnUR (a[	UR 5nO106[	5nUR"nUGH�nU"U5nUU;a UU;a[%UUUUUUUUU
UUUUU1075 GO`U(Ga6UR&(a,U(a%U(a[)XUX�5 GO*[+XUX�5 GOUR,b-UR,R.(aUb[1XUX�U1085 O�UR2bLU
(aUU
;aUR5U5 O�UR&(dUR6R5U5 O�U
(aUU
;aUR5U5 OiUR&(a5UURRLaUR8(d[;U5 O"UR(a[=UUUUU
UU1095 UU;dGM�UU;dGM�UR5U5 GM� U(a6UR?U5mURAU4SjUR 55 UU4$s snfs snfs snf)Nc3�8># �UHnUT;dMUv� M g7frMrA)rNr2�remaining_supplementals  �r3rR�_scan_cols.<locals>.<genexpr>0s#����+110�1���*�*�
�A�1�s�111�	)!�_get_returning_modifiersrr�_parameter_orderingr�r0r�rUr2rvrqrwrx�_autoincrement_columnr��#insert_null_pk_still_autoincrements�_supplemental_returningrf�_append_param_parameter�primary_key�!_append_param_insert_pk_returning�$_append_param_insert_pk_no_returningr�r��_append_param_insert_hasdefault�server_defaultr�rc�nullable�"_warn_pk_with_no_anticipated_value�_append_param_updater�r�)r�r�r�r�r�rQr�r�r�r�r��need_pksrf�implicit_return_defaults�postfetch_lastrowidr?r@rv�parameter_ordering�ordered_keysr2r�r�autoincrement_colr��supplemental_returning�compiler_implicit_returningr�r�s                            @r3r�r��sy���(	!���I���� �����!�!�]�%;�%;�;�;��(�(�+8�+L�+L�112�+L�C�N�3��+L�	�113��-�.��*�114�)���#�s�#�
�(+�t�z�z�|�|�(;�
�D�J�J�L�L���)�115��116�117���B��1����\�(A�Q��B�	C���z�z�!�!��&�}�5�H��
�;�;�!�J�J�<�<�����@�@�	,�CG�F��?��#�#�!$�T�%A�%A�!B��!$���"*�"=�"=��118��#�1�%���j� �W�M�%A�
$��������"�(�#��!�3��
�(��}�}��119&�1206� ��6��9� ��6�����&��y�y�,�,�(�4�3� ��+C�R����!�!�-�,��5M�0M�/�6�6�q�9�����&�&�-�-�a�0��)�a�3K�.K�+�2�2�1�5��
�
��T�Z�Z�=�=�=��121�122�2�1�5��
�
#�
#�
!�����(���
�
�'�'��4�4�'�.�.�q�1�S�V�"8�!B�!B�'�"123��	$�*�*�+124��1�1�+125�	126�&
!�"6�7�7��Q127��128��
Cs$�N3�;N8�N8�4N8�+N=�N=c�8^
�[XX)5t p�nU(dgUR(aURRU5 UR(aE[UR5m
URRU
4SjUR55 gg)Nc3�6># �UHoT;dM129Uv� M g7frMrA)rNr2�ir_sets  �r3rR�0_setup_delete_return_defaults.<locals>.<genexpr>_s����+130�3�!���A�A�3�s�	�	)r��_return_defaults_columnsrfr�r�r�)r�r�r�r�r�rQr�r�r�r�r�r�r�rs             @r3rnrnFs����,D��
�,�(�Q��a�$���$�$��#�#�*�*�+C�D��#�#��X�0�0�1���#�#�*�*�+131��3�3�+132�	133�$r5c���URU5nU
RS5SLnURRX2RS9n[5n[R"U5(a�U(aFUR(a5X;La1U	(aSUl	O"U(aURRU5 [UUU4U[L[U5(aUR(dU"U5O134SU"U5-UUS.U
D6nGO�UR (a�U(agUR"cZUR(aIX;LaEU(aURRU5 O"UR$R(aSUl	['UUU4[U5(aUR(dU"U5O135SU"U5-US.U
D6nGOUR("UR+54SU0U
D6nUR,(aDU(a!X8;aURRU5 O�UR.RU5 O�UR(aFU(aURRU5 OfUR$R(aSUl	OCU(a!X8;aURRU5 OUR.RU5 U136RUUUU45 g)NrI��	use_tableTz%s_m0)rKr�rJr�)r�rJrJ)rhrgrsrt�include_table_with_column_exprsr�r�_is_literalr�r�rfr�rur,rwrx�_is_bind_parameterr�r�r�r��137self_grouprrc)r�r�r�r2r�r�r�rfr�r�r�rr�r�r��has_visiting_cte�	col_value�accumulated_bind_namess                  r3r�r�ds��� 
�N�N�7�#�E��v�v�n�-�T�9���!�!�/�/�	�B�B�0��I�(+�u�����U�#�#�/��
�
��&�138#�/3��,�#��+�+�2�2�1�5�"��
��139��h�&�/�}�=�=�$�:�:��q�!��~�a�0�0�"8�,�140��141��142�	!�	!�/����#��
�
��&�"��+�+�2�2�1�5��!�!�5�5�/3��,�.��
��143�/�}�=�=�$�:�:��q�!��~�a�0�0�"8�144��145��� � �����146�"8�147��148���!�!�'�A�,I��+�+�2�2�1�5��"�"�)�)�!�,��}�}�%��/�/�6�6�q�9��%�%�9�9�37�H�0��)�q�/L��+�+�2�2�1�5��"�"�)�)�!�,�149�M�M�1�i��(>�?�@r5c	�f�URGb�URR(a�URR(a�URR(aURR150(dU[
5nURUURRU5UR"UR4SU0UD6U45 URRU5 gURR(a�[
5nURUURRU5UR"URRR54SU0UD6U45 URRU5 gURUURRU5[X40UD6UR 445 gX!R"R$Ld
UR&bURRU5 gUR((d[+U5 gg)z�Create a primary key expression in the INSERT statement where151we want to populate result.inserted_primary_key and RETURNING152is available.153 154NrJ)r��is_sequencer��supports_sequences�optional�sequences_optionalr�r�rsrtr�rf�is_clause_element�argr�"_create_insert_prefetch_bind_paramrvrUr�r�r�r�)r�r�r2r�r�rs      r3r�r��s���	�y�y���9�9� � ����2�2��I�I�&�&��'�'�:�:�36�5�&��
�
�� �)�)�7�7��:� �(�(��I�I��2H��!��155/�	��
�'�'�.�.�q�1�
�Y�Y�
(�
(�%(�U�"��M�M���%�%�3�3�A�6��$�$��	�	�
�
�0�0�2��.D����156+�	�
�
�'�'�.�.�q�1�157
�M�M���%�%�3�3�A�6�6�x�I�b�I��U�U�H�	�
�158�j�j�.�.�	.�!�2B�2B�2N��#�#�*�*�1�-�
�Z�Z�	+�1�-�r5c	��URblURR(a�URR(a6URR(a�URR159(a�X!RRLa�URR(d�URb6URR(aURR(d(URc_URR(aDURUURRU5[X40UD6UR445 gURcBURc5UR (d$X!RRLa[#U5 gURR(aSUlgg)aWCreate a primary key expression in the INSERT statement where160we want to populate result.inserted_primary_key and we cannot use161RETURNING.162 163Depending on the kind of default here we may create a bound parameter164in the INSERT statement and pre-execute a default generation function,165or we may use cursor.lastrowid if supported by the dialect.166 167 168NT)r�rr�rrrrUr�r��"preexecute_autoincrement_sequencesr�rsrtrrvr�r�r��r�r�r2r�r�s     r3r�r�sE��	169�	�	���	�	�%�%�� � �3�3��	�	�*�*�#�+�+�>�>�	170�Z�Z�
-�
-�-�� � �4�4��I�I�)��	�	�-�-� �(�(�;�;��I�I�%� �(�(�K�K�	�
�
���!�!�/�/��2�2�8�E�"�E�����	
�	171�	172�	�	��
���$��173�174�
�Z�Z�5�5�5�	+�1�-�	�	�	�	-�	-�175(,��$�176.r5c	�x�URR(a�URR(a�URR(aURR177(d�[
5nURUURRU5UR"UR4SU0UD6U45 U(a!X#;aURRU5 gUR(dURRU5 ggggURR(a�[
5nURUURRU5UR"URRR!54SU0UD6U45 U(a!X#;aURRU5 gUR(dURRU5 ggURUURRU5[#X40UD6UR$445 g)NrJ)r�rr�rrrr�r�rsrtr�rfr�rcrrrrrv)r�r�r2r�r�r�rs       r3r�r�cs���	�y�y������.�.��	�	�"�"�(�*:�*:�*M�*M�/2�u�"��M�M���%�%�3�3�A�6��$�$��	�	��.D����178+�	�
�(�A�,I��+�+�2�2�1�5��]�]��"�"�)�)�!�,�#�#+N�/�(179���	$�	$�!$����
�
���!�!�/�/��2�� � ��I�I�M�M�,�,�.��*@����180'�	
�	181�$��(E��'�'�.�.�q�1�������%�%�a�(��	�
�
���!�!�/�/��2�2�8�E�"�E�����	
�	182r5c	���[UR5(a�URR(a~URR(aURR183(dGUR
UURRU5URR5S45 ggg[UR5(aQUR
UURRU5URRR5S45 gUR
UURRU5[X4SS0UD6UR445 g)NrAr�F)rr�r�rrrr�rsrt�184next_valuerrrrrvrs     r3r�r��s#���1�9�9�%�%����.�.��	�	�"�"�(�*:�*:�*M�*M��M�M���%�%�3�3�A�6��I�I�(�(�*��	�
�+N�/�185#�1�9�9�	-�	-��
�
���!�!�/�/��2��	�	�
�
�(�(�*��	
�	186�	�
�
���!�!�/�/��2�2���).��24������

�		187r5c	��URnURGbURR(GdURR(a�UR	UUR188R
UUS9UR"URRR540UD6S45 U(a!X4;aURR	U5 gURR	U5 gUR	UUR189R
UUS9[X40UD6UR445 gURbDU(a!X4;aURR	U5 gURR	U5 gU(aEUR(dUR (d"X4;aURR	U5 gggg)Nr	rA)r�onupdaterrr�rsrtr�rrrfrc�"_create_update_prefetch_bind_paramrv�server_onupdaterrl)r�r�r�r2r�r�r��
include_tables        r3r�r��s���"�A�A�M��z�z��a�j�j�&<�&<�&<��:�:�'�'��M�M���%�%�3�3��"/�4���$�$�Q�Z�Z�^�^�%>�%>�%@�G�B�G���190
�(�A�,I��+�+�2�2�1�5��"�"�)�)�!�,��M�M���%�%�3�3��"/�4��7�x�I�b�I��U�U�H��191
�192�	�	�	&�#��(E��'�'�.�.�q�1����%�%�a�(� �
�
*�
*�$�2G�2G�
�)��#�#�*�*�1�-�
*�3H�	!r5c��grMrA�r�r2r�r�s    r3rr�r�r5c��grMrAr&s    r3rr����#&r5c�Z�[XS4X#S.UD6nURRU5 U$�N)r�r�)rurdr��r�r2r�r�r��params      r3rr�>��
��T�
�#*�
�9;�
�E�
���#�#�A�&��Lr5c��grMrAr&s    r3r"r"r�r5c��grMrAr&s    r3r"r"r(r5c�Z�[XS4X#S.UD6nURRU5 U$r*)rurer�r+s      r3r"r"#r-r5c��\rSrSrSrSrSrSrSr\	RSSj5r\	RSSj5rS	r
g193)�_multiparam_columni1Tc��X lSURUS-4-UlXlURUlURUlg)N�%s_m%dr)�indexrv�originalr�r�)�selfr6r5s   r3�__init__�_multiparam_column.__init__4s=���194��x�|�|�U�Q�Y�7�7��� �
��'�'����M�M��	r5c��[5erM��NotImplementedError)r7�otherr�s   r3�compare�_multiparam_column.compare;���!�#�#r5c��[5erMr;)r7r�s  r3�_copy_internals�"_multiparam_column._copy_internals>r@r5c��[U[5=(a9 URUR:H=(a URUR:H$rM)r0r2rvr6)r7r=s  r3�__eq__�_multiparam_column.__eq__As<���u�0�1�
0��	�	�T�X�X�%�
0����$�-�-�/�	195r5c�B�[R"UR5$�z1used by default.py -> _process_execute_defaults())r�_from_column_defaultr��r7s r3�_default_description_tuple�-_multiparam_column._default_description_tupleHs��(�<�<�T�\�\�J�Jr5c�B�[R"UR5$rH)rrIr!rJs r3�_onupdate_description_tuple�._multiparam_column._onupdate_description_tupleNs��(�<�<�T�]�]�K�Kr5)r�r5rvr6r�N)r�r)rBrCrDrE�_is_multiparam_columnr8r>rBrEr!�memoized_propertyrKrNrGrAr5r3r2r21sT�� ��"�$�$�196�197���K��K�198199���L��Lr5r2c���UR(d[R"SU-5e[UR5(a5UR"URR200R
540UD6$URR(aUR"UR40UD6$[X#5n[U[R5(de[X4SS0UD6$)Nz�INSERT value for column %s is explicitly rendered as a boundparameter in the VALUES clause; a Python-side value or SQL expression is requiredr�T)
r�r r1rr�rrrr2r0r�Insertr)r�r�r2r5r�r�s      r3� _process_multiparam_default_bindrTUs���
�9�9����
@�BC�
D�201�	202�203204#�1�9�9�	-�	-�����	�	�
�
� 8� 8� :�A�b�A�A�	205���	�	�����	�	�0�R�0�0� ��*���$��206�207�+�+�+�+�1��208�#'�209�+-�210�	211r5c	
�N�U=(d SV	V212s0sH+up�[R"[RU	5U213_M- nn	n214URn[5n
URGHlnU(+=(a  URRU5(+nURGH)n	X�;dMU(a$[R"SURS35eU
RU5 X�U"U	5'X�nURX�S9n[R"U5(a+[!UU	U4U["LU"U	5S.UD6nU	R$4nOjUR&(aU"U	5n[)X	U4SU0UD6nU4nO>UR*R-U	5 UR"UR/540UD6nSnUR-U	UUU45 GM, GMo U
GHBnURGH-n	X�;aMU	R0b�U	R0R2(d�U	R0R4(arUR-U	URX�S9UR"U	R0R6R/540UD6S45 UR*R-U	5 M�UR-U	URX�S9[9X	4SU"U	50UD6U	R$445 GMU	R:cGMUR*R-U	5 GM0 GME gs sn215n	f)NrAzdBackend does not support additional tables in the SET clause; cannot include columns from table(s) 'z' in SET clause�r$)rKr�r�)r�expectrr�rr�r�r��is_derived_fromr2r r1r[�addr�rrur,rvr
r�rcr�rr!rrrr"r#)r�r�r�r�r�r�r�r�r�r2r,�normalized_paramsr$�affected_tablesr]�$we_shouldnt_be_here_if_columns_foundr�rr�cbns                    r3r�r�vs��.�3��3��3�H�A�	����,�,�a�0�%�7�3���216"�A�A�M��e�O�
�
'�
'��217��
?�!�+�+�;�;�A�>�>�	-�218���A��%�7��*�*���M�M�?�+%�%��� �#�#�A�&�56�.�q�1�2�)�,��$�,�,�Q�,�L�	��(�(��/�/�.� ����"'�(�!2�+�A�.���
�E�>?�U�U�H�*��-�-�(��+�C�:� �U��14��8:��E�/2�V�*��&�&�-�-�a�0�$�,�,�U�-=�-=�-?�F�2�F�E�-/�*��
�
�q�)�U�4J�K�L�M�(�f�����A��%�����'��219�220�0F�0F��:�:�/�/��M�M��$�,�,�Q�,�L�$�,�,� !�221�222��� 9� 9� ;��?A���
�	��&�&�-�-�a�0��M�M��$�,�,�Q�,�L�>� (��2@��2C��GI���U�U�H�
�	��"�"�.��"�"�)�)�!�,�9���ws�2L!c	�t�UnU/nURS5SLnURn	U	ce[U	SS5H�up�/nUR5V
Vs0sHup�U"U
5U_M nn
nUH�unnnnURU;asURn
[223R"X�5(a&[UUX�4SURU224S-4-US.UD6nO1UR"X�R540UD6nO
[XX�U5nURUUUU45 M� URU5 M� U$s snn
f)NrIrr4)r�r�)rgry�	enumerater{rvrrrur�rrTr�)r�r�r��initial_valuesrQr��values_0r�rr��i�row�	extensionrvrPr��col_exprr,�accumulated_names�	new_params                    r3r�r��s^���H��
�F��v�v�n�-�T�9��	�	(�	(�B�
�>��>��B�q�r�F�#���02�	�47�I�I�K�@�K�&�#�~�c�"�A�%�K��@�7?�3�C��5�"3��w�w�#�~��g�g���(�(���2�2� 2� ����!�'�#�'�'�1�q�5�)9�9�(8�!��
!�I�!)� 0� 0���1D�1D�1F� M�"� M�I�<��C�B��	�
���c�8�Y�8I�J�K�)8@�,	�
�
�i� �7$�:�M��5As�D4c	��UGHupxU"U5n	U	bURX�5 M$URXqRS9n225[R"U5(a1UR"[226R"SX�RS940UD6nOhUR(a6URR(aURUR5nUR"UR540UD6nURXzUS45 GM g)NrV)r�rA)
�227setdefaultr�rrrrr�r�r
r�r�rr�)r�r�r�r�rQr�r�rOrP�colkeyres           r3r~r~228s���&�����"�����!�!�&�,� �'�'��!N�!N�(��H��$�$�Q�'�'��$�$��*�*�4��&�&�A��EG����'�'�A�F�F�N�N��3�3�A�F�F�;�A��$�$�Q�\�\�^�:�r�:��
�M�M�1��2�.�/�=&r5c��URnU=(a� [U5=(a UR(+=(ag UR(+=(d UR=(a UR229=(a) UR(+=(a UR(+nU=(a+ UR=(a URRSLnU=(a� UR=(ap URR=(aS UR=(a@ U(+=(d UR=(d UR=(d UR230nU(aSn[U5(a�U=(a UR231nU=(d UR=(d UR n	U=(aP UR=(a= UR"=(a* U	=(d! UR$=(a UR&SLn232SnU233(a3U	(a,UR((aUR+UR5nO�UR,(aTUR234=(a< URR=(a UR=(a UR.nSn235SnOkUR0(aTUR236=(a< URR=(a UR=(a UR2nSn237SnOSnSn238SnU(aGUR4(d [7URR85nO[7UR45nOSnUU=(d UUUU239U4$)z�determines RETURNING strategy, if any, for the statement.240 241This is where it's determined what we need to fetch from the242INSERT or UPDATE statement after it's invoked.243 244NF)r�rw�_inliner��insert_executemany_returningrlrkrxr�rUr��insert_returning�_primary_tablerf�_supports_implicit_returning�favor_returning_over_lastrowidr�r?�!use_insertmanyvalues_wo_returning�_post_values_clause�_sort_by_parameter_order�_get_sentinel_column_for_tabler�update_returningrm�delete_returningrr�r2)
r�r�r�r�r�r�r�rf�should_implicit_return_defaults�explicit_returningr?r@r�s
             r3r�r�4s�����G�	�		4�#�M�2�		4�����		4��(�(�(�
P��4�4�N��9N�9N�		4�����		4��3�3�3�
� 	�	9��'�'�	9��J�J�,�,�D�8��	�	245�
�$�$�	246�247
�(�(�;�;�	248�
�6�6�	249�$%�
$�
N��(N�(N�
%��2�2�
%��$�$�-�2�#���}�-�-��8�4�#8�#8�	(�
,�
,����
,��+�+�	�
�

��(�(�

��,�,�

�#���=�=�9�250�0�0�D�8�	�" $�� �"��-�-�#+�#J�#J��251�252�$� ��253�	�	��!�!�
)��,�,�?�?�
)��:�:�
)��(�(�		(� %��#��	�	�	��!�!�
)��,�,�?�?�
)��:�:�
)��(�(�		(� %��#��*/�'�$��#��&��,�,�(+�4�:�:�<�<�'8�$�'*�4�+H�+H�'I�$�#'� �	��=�=� ����
�r5c��SURR<SUR<SURR<S3n[URR5S:�aUS-
n[254R"U5 g)NzColumn '�.z6' is marked as a member of the primary key for table 'z�', but has no Python-side or server-side default generator indicated, nor does it indicate 'autoincrement=True' or 'nullable=True', and no explicit value is passed.  Primary key columns typically may not store NULL.ra0 Note that as of SQLAlchemy 1.1, 'autoincrement=True' must be indicated explicitly for composite (e.g. multicolumn) primary keys if AUTO_INCREMENT/SERIAL/IDENTITY behavior is expected for one of the columns in the primary key. CREATE TABLE statements are impacted by this change as well on most backends.)rU�fullnamer��lenr�r!�warn)r2�msgs  r3r�r��sb��
�7�7���Q�V�V�Q�W�W�%5�%5�
	7���1�7�7����!�#��
�	255��	�I�I�c�Nr5)r2r-r�r.)r�r$r�r'r�r&r�r=r�rr�r8).FNF)r�r$r�r-r�rr��
Literal[True]rKr=r��
Optional[str]r�r=r�rr�r�)256r�r$r�r-r�rr�rr�r�)TFNF)r�r$r�r-r�rr�r=rKr=r�r�r�r=r�rr�z'Union[str, elements.BindParameter[Any]])r�r$r�r'r�r&r�z�Tuple[Callable[[Union[str, ColumnClause[Any]]], Union[str, Tuple[str, str]]], Callable[[ColumnClause[Any]], Union[str, Tuple[str, str]]], _BindNameForColProtocol])r�r$r�r'r2r.r�zList[_CrudParamElementSQLExpr]r��Dict[str, Any]r��None).)257r�r$r2r-r�r�r�rr�r�)258r�r$r2r-r�zLiteral[False]r�rr�zelements.BindParameter[Any])TN)r�r$r2r-r�r=r�r�r�rr�z'Union[elements.BindParameter[Any], str])r�r$r�r'r2r6r5�intr�r�r�r�)r�r$r�r'r�r&r`rarQrbr�r�r�r;)R�__doc__�259__future__rr�r��typingrrrrrr	r260rrr
rrrrr�rrrr�baserrrwr�schemarrr�rrr r!�util.typingr"r�r#r$r%r&r'r(r)r*r+�symbolr,r4r��_CrudParamElement�_CrudParamElementStr�_CrudParamElementSQLExpr�_CrudParamSequencer8r�rur�rir�r�rnr�r�r�r�r�r�rr"r2rTr�r�r~r�r�rAr5r3�<module>r�s����#���������!������� ������*�4�"�-�'��#���!��1�%�&���'�,�'���;�;��	���
�����
�c�$�$�%��
�S�M���������S�M����!�����S�M�����+�,��A�*�A�}��}�261�}��}��	}�262�}��
}�@263264�265!���!�	��	�	�	��	��		�266�	��
	��	��	�	�	�267�	�268����	�����	�269	��270�����!����	�����	�271���
�����-��2#4�L3<��3<�!+�3<�<D�3<��3<�lBC�JA8�H272�<rA�j:.�zJ,�Z4273�n&274��&275�276�&277��&278�
+�	&279�280	�&281�282�
&283�R+.�\284�!���������	�285	��286��287�&��&��&��&��	&�288!�&�289�&���	��������	�290��-�
�291�!���������	�292	��293��294�&��&��&��&��	&�295!�&�296�&���	��������	�297��-�
�!L��/�/��4�!L�H298��299�300�301��302��	303�304	�305�	�
306�Bc-�L+��+�307�+��+�3�	+�308'�+�	�
+�*�+�\'0�TN�br5
codekingpro/portable-devtools · Team Ai