$58 GRAYBYTE WORDPRESS FILE MANAGER $19

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.15.130 | ADMIN IP 216.73.216.174
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/hc_python/lib/python3.12/site-packages/sqlalchemy/sql/__pycache__/

HOME
Current File : /opt/hc_python/lib/python3.12/site-packages/sqlalchemy/sql/__pycache__//crud.cpython-312.pyc
�

M��g���� �dZddlmZddlZddlZddlmZddlmZddlmZddlm	Z	ddlm
Z
dd	lmZdd
lmZddlm
Z
ddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddl"m#Z#ddl"m$Z$dd lm%Z%dd!lm&Z&dd"l'm(Z(er6dd#l)m*Z*dd$l)m+Z+dd%lm,Z,dd&lm-Z-dd'lm.Z.dd(lm/Z/dd)lm0Z0dd*lm1Z1dd+lm2Z2e&jfd,d-�Z4dRd0�Z5ed.e6eee6d1fe
e6fZ7ed2e6e6e
e6fZ8ed/e6d1e
e6fZ9ee7Z:Gd3�d4e
�Z;												dSd5�Z<e			dT															dUd6��Z=e										dVd7��Z=			dW															dXd8�Z=d9�Z>								dYd:�Z?d;�Z@d<�ZAd=�ZBd>�ZCd?�ZDd@�ZEdA�ZF												dZdB�ZGdC�ZHe	d[									d\dD��ZIe										d]dE��ZI		d^											d_dF�ZIe	d[									d\dG��ZJe										d]dH��ZJ		d^											d_dI�ZJGdJ�dKej^e�ZK												d`dL�ZLdM�ZM														dadN�ZNdO�ZOdP�ZPdQ�ZQy)bziFunctions used by compiler.py to determine the parameters rendered
within INSERT and UPDATE statements.

�)�annotationsN)�Any)�Callable)�cast)�Dict)�Iterable)�List)�MutableMapping)�
NamedTuple)�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)�
ValuesBase)�
ColumnElement)�KeyedColumnElement)�_SQLExprDefault)�Column�REQUIREDa8
Placeholder for the value within a :class:`.BindParameter`
which is required to be present when the statement is passed
to :meth:`_engine.Connection.execute`.

This symbol is typically used when a :func:`_expression.insert`
or :func:`_expression.update` statement is compiled without parameter
values present.

�ColumnElement[Any]�ColumnClause[Any]c�V�t|t�stjd|����|S)Nz5Can't create DML statement against column expression )�
isinstancerr �CompileError)�cs �D/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/sql/crud.py�_as_dml_columnr4Js0���a��&����C�A�5�I�
�	
�
�H�r*�KeyedColumnElement[Any]c�L�eZdZUded<ded<dZded<dZded<d	Zd
ed<y	)�_CrudParams�_CrudParamSequence�
single_params�$List[Sequence[_CrudParamElementStr]]�all_multi_paramsF�bool�is_default_metavalue_only�use_insertmanyvaluesNzOptional[Sequence[Column[Any]]]�use_sentinel_columns)�__name__�
__module__�__qualname__�__annotations__r>r?r@�r5r3r8r8js0��%�%�:�:�&+��t�+�!&��$�&�<@��9�@r5r8c
�\	��g|_g|_g|_g|_|j	dd�}|�|jdd�d|vsJd��t
|||�\�}}||_|jr!|jrtjd��|jr!t|||d|�|dd||�tgg�S|j�{|j rot|j"j$D�cgc]E}|j&s7||j(j+|�t-||dd��|j.ff��Gc}g�St1|�rP|j2rD|j4}	|	�J�|	d	}
t7|
j9��}|
D�chc]
}�|���}
}n�|j:r2|j<}
|j:}|
�J�|
D�chc]
}�|���}
}nM|j<r;|j<}
t7|
j9��}|
D�chc]
}�|���}
}ndx}x}
}
|j�i}nS|r-|
�J�|jD�cic]}||
vr
�|�t>��}}n$|jD�cic]}�|�t>��}}g}|�tA||||�||�i}tCjD|�r|jFrtI|||||||||�	t1|�r4|jJr(|j2rJ�tM|||||�|||||�d
}d}ntO|||||�|||||�\}}|rd|rbtQ|�jS�fd�|D��jU|�}|r.tjdd
jWd�|D��z��d
}t1|�rJ|j2r>|jJrJ�tY|||t[d|�t[d��|�}t||�S|s�|j\r�|j^j`rmtc|j"j$d	�|j(j+|j"j$d	�|j^jddfg}d}t|g|||��Scc}wcc}wcc}wcc}wcc}wcc}w)aQcreate a set of tuples representing column/string pairs for use
    in an INSERT or UPDATE statement.

    Also generates the Compiled object's postfetch, prefetch, and
    returning column collections, used for default handling and ultimately
    populating the CursorResult's prefetch_cols() and postfetch_cols()
    collections.

    �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() simultaneouslyrET)�requiredrFc3�4�K�|]\}}�|����y�w�NrE)�.0�k�v�_column_as_keys   �r3�	<genexpr>z#_get_crud_params.<locals>.<genexpr>Ks�����N�8M���1�.��+�8M�s�zUnconsumed column names: %s�, c3�"K�|]}|����	y�wrKrE)rLr2s  r3rPz#_get_crud_params.<locals>.<genexpr>Qs����8�%�Q�Q�[�%�s�
�Sequence[_CrudParamElementStr]�Callable[..., str])r>r?r@)3�	postfetch�insert_prefetch�update_prefetch�implicit_returning�get�pop�_key_getters_for_crud_column�_get_bind_name_for_col�
_returning�_return_defaultsr r1�isdelete�_setup_delete_return_defaultsr8�column_keys�_no_parameters�table�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�
_scan_cols�set�intersection�
difference�join�_extend_values_for_multiparamsr�for_executemany�dialect�supports_default_metavaluer4�default_metavalue_token)�compiler�stmt�
compile_state�toplevel�kwrG�_getattr_col_key�_col_bind_namer2�mp�spd�stmt_parameter_tuplesri�spd_str_key�
parameters�values�
check_columnsr?r@�checkr>�multi_extended_valuesrOs                      @r3�_get_crud_paramsr�rsw���P�H��!�H��!�H��"$�H���6�6�.�$�/�L���
	���&��-��r�)�E�D�E�)�	%�X�t�]�C�	����'5�H�#����4�0�0����
/�
�	
�
���%������������	
��2�r�"�"����#�
�(D�(D�����+�+�	
�,�A��.�.�
��%�%�3�3�A�6�&�x��D�4�H��U�U�H�	�,�	
�
�
�	
�(	 �
�.��/�/�
�
,�
,���~��~���e�� $�S�Y�Y�[� 1��69�:�c�s�~�c�*�c��:�	�	&�	&��,�,�� -� =� =������69�:�c�s�~�c�*�c��:�	�	'�	'��,�,�� $�S�Y�Y�[� 1��69�:�c�s�~�c�*�c��:�48�8��8��k����#��
�	��&�&�&� �+�+�
�+���+�%�
�3���)�+�	�
�6>�5I�5I�
�5I�c�N�3���)�5I�	�
�
')�F��(�)����!����	
�35�M��|�|�M�"�}�'B�'B�%����!������
	
��}�-�$�2D�2D�!�6�6�6�6�%������������	
� %��#��5?������������6
�2��2��+��
�O�
�\�N�8M�N�
N�
�Z�
�
&�	�
��"�"�-��9�9�8�%�8�8�:��
�
!&��	 �
�.��/�/��%�%�%�%� >�����0��
�
�%�~�6��
!
���6�#8�9�9���$�$����7�7��t�z�z�1�1�!�4�5��!�!�/�/��
�
�0B�0B�1�0E�F�� � �8�8��	
�
��%)�!���
�";�1�1����Y	
��4;��
;��;��
��
s%�6A
R�R�R�R�R$�:R)c��yrKrE)r��col�value�processrI�namer�s       r3rhrh�s��r5c��yrKrE)r�r�r�r�s    r3rhrh����r5c��|�|j}tj|||j|��}d|_|r|j
|fi|��S|S)N)�type_rIT)rir�
BindParameter�type�_is_crud�_compiler_dispatch)r�r�r�r�rIr�r��	bindparams        r3rhrh�sZ���|��w�w���&�&��e�3�8�8�h��I��I���+�y�+�+�H�;��;�;��r5c�,�d|v}|sK|jr?t|jtj�r||j
d|jf<|jjr|j|j�}|j|fi|��S)NrGr�)
�uniquer0rir�_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��#�5�#�#�H�3��3�3r5c����tj|�ro|jrct|j��t	j
tjtj��				d��fd�}				d�fd�}d�fd�}nIt	j
tjtj�}tjd�x}}|||fS)Nric�|���|�}t|d�r&|j�vr|jj|fS|S)Nrc)�hasattrrcr�)ri�str_key�_et�
c_key_roles  ��r3rOz4_key_getters_for_crud_column.<locals>._column_as_key�s;���!��o�G��s�G�$����c�)9��	�	����0�0��r5c�|��|j�vr"|jj|jfS|jSrK)rcr�ri�r�r�s �r3r�z6_key_getters_for_crud_column.<locals>._getattr_col_key�s1����y�y�C���	�	������0�0��w�w�r5c����|j�vrGtrt|jt�sJ�|jj�d|j
��S|j
S)N�_)rcrr0rr�rir�s �r3r�z4_key_getters_for_crud_column.<locals>._col_bind_name�sF����y�y�C�� �%�c�i�i��=�=�=�"%�)�)�.�.�#�'�'�:�:��w�w�r5)rizUnion[ColumnClause[Any], str]�return�Union[str, Tuple[str, str]])r�r.r�r�)r�r.r��str)rrr�_extra_fromsrx�	functools�partialr�
expect_as_keyr�
DMLColumnRole�operator�
attrgetter)r�r�r�rOr�r�r�r�s      @@r3r[r[�s�����|�|�M�"�}�'A�'A��-�,�,�-���&�&��#�#�U�%8�%8�
�
�	�.�	�
(�	�	�"�	�
(�	�	�#�*�*��#�#�U�%8�%8�
��-5�,?�,?��,F�F��>��+�^�;�;r5c	��|jD�cgc]!}|jj||���#}}|jdd|usJ�|j|jdd<g}
|j
r`t
|�}|jjD]<}||vs�|js�|jjr�,|j|��>|D]a}||�}||vrD||vr@|j|�|j||jj|�ddf��St||||
|
��c|
r�|j|
�|jdd}t!|t"�s/t%j&ddj)d�|
D���d���|j+�}t-|j.�|
D��cgc]	\}}}}|��c}}z|_||jdd<yycc}wcc}}w)	N����
selectable�insert_from_selectrEz_Can't extend statement for INSERT..FROM SELECT to include additional default-holding column(s) rQc3�<K�|]\}}}}t|����y�wrK)�repr)rLr�ris   r3rPz0_scan_insert_from_select_cols.<locals>.<genexpr>Bs����L�O�L�A�s�A�q�d�3�i�O�s�z~.  Convert the selectable to a subquery() first, or pass include_defaults=False to Insert.from_select() to skip these columns.)rurcr2�stack�select�#include_insert_from_select_defaultsrxrd�default�is_sentinel�appendrZrfrg�&_append_param_insert_select_hasdefault�extendr0rr r1r{�	_generaterm�_raw_columns)r�r�r�r�r�rOr�r�r�r�r�r��cols�add_select_cols�col_setr�r2�col_key�ins_from_selectr��exprs                     r3rvrv
s��<@�;M�;M�N�;M�4�D�J�J�L�L���-�.�;M�D�N��>�>�"��l�+�t�3�3�3�/3�{�{�H�N�N�2��+�,�68�O��/�/��d�)���:�:�%�%�C��7�"��K�K����/�/����C� �&� ��"�1�%���j� �W�M�%A��N�N�7�#��M�M�1�h�/�/�=�=�a�@�$��K�L�2��$��?�B�
�
���
�
�o�&�"�.�.��,�-A�B���/�6�2��"�"�8��I�I�L�O�L�L���	��
�*�3�3�5��'+�O�,H�,H�'I�&5�M
�&5�]�Q��4��D�o�M
�(
��$�4C����r��/�0�%��GO��dM
s�&G7�
G<c���t||||	�\}}}
}}}|js|jsJ�|jr�|jD�cgc]
}||���}}t	|�}|D�cgc]C}t|t�r1||jjvr|jj|��Ec}|jjD�cgc]}|j|vs�|��c}z}n|jj}t|�}|r9|js-|jj}|jj}ndx}}|j rt	|j �}n
t	�}|j"}|D�]p}||�}||vr||vrt%|||||||||
|||||
��n&|�r|j&r%|r#|rt)|||||
��nt+|||||
�n�|j,�)|j,j.r|��t1||||
||
�n�|j2�@|
r||
vr|j5|�n�|j&s�|j6j5|�nq|
r||
vr|j5|�nY|j&rM||jjur5|j8s)t;|�n|jrt=|||||
||
�||vs��Z||vs��`|j5|���s|r5|j?|��|jA�fd�|j D��||fScc}wcc}wcc}w)Nc3�*�K�|]
}|�vr|���y�wrKrE)rLr2�remaining_supplementals  �r3rPz_scan_cols.<locals>.<genexpr>�s"�����+
�1���*�*�
�1�s�)!�_get_returning_modifiersrrr�_parameter_orderingrxr0r�rcr2rirdrjrk�_autoincrement_columnr~�#insert_null_pk_still_autoincrements�_supplemental_returningrX�_append_param_parameter�primary_key�!_append_param_insert_pk_returning�$_append_param_insert_pk_no_returningr�r��_append_param_insert_hasdefault�server_defaultr�rU�nullable�"_warn_pk_with_no_anticipated_value�_append_param_updaterzr�)r�r�r�r�r�rOr�r�r�r�r��need_pksrX�implicit_return_defaults�postfetch_lastrowidr?r@ri�parameter_ordering�ordered_keysr2r�r�autoincrement_colr��supplemental_returning�compiler_implicit_returningr�r�s                            @r3rwrwOs~���(	!��4���I���� �����!�!�]�%;�%;�;�;��(�(�+8�+L�+L�
�+L�C�N�3��+L�	�
��-�.��*�
�)���#�s�#��t�z�z�|�|�(;�
�J�J�L�L���)�
��
�
���B��1����\�(A�Q��B�	C���z�z�!�!��&�}�5�H��
�;�;�!�J�J�<�<�����@�@�	,�CG�F��?��#�#�!$�T�%A�%A�!B��!$���"*�"=�"=��
��#�1�%���j� �W�M�%A�
$��������"�(�#��!�3��
�(��}�}��
&�
6� �$��6�2��9� �$��6�2�����&��y�y�,�,�(�4�3� �$��+C�V�R���!�!�-�,��5M�0M�/�6�6�q�9�����&�&�-�-�a�0�)�a�3K�.K�+�2�2�1�5��
�
��T�Z�Z�=�=�=��
�
�2�1�5�
�
#�
#�
!�����(���
�
�'�'��4�4�'�.�.�q�1�S�V�"8�!B�!B�'�"
��	$�*�*�+
��1�1�+
�	
�&
!�"6�7�7��Q
��
��
Cs�L4�+AL9�
L>�!L>c��
�t||||	�^}}}}|sy|jr|jj|�|jrDt|j��
|jj�
fd�|jD��yy)Nc3�,�K�|]}|�vs�|���
y�wrKrE)rLr2�ir_sets  �r3rPz0_setup_delete_return_defaults.<locals>.<genexpr>,s�����+
�3�!�q���A�3�s�	�)r��_return_defaults_columnsrXr�r�rx)r�r�r�r�r�rOr�r�r�r�r�r�r�r�s             @r3r`r`s����,D��$�
�x�,�(�Q��#�a�$���$�$��#�#�*�*�+C�D��#�#��X�0�0�1���#�#�*�*�+
��3�3�+
�	
�$r5c���|j|�}|jj||j��}t	�}tj|�r{|r7|jr+||ur'|	rd|_n|r|jj|�t|||f|tut|�r|js||�n
d||�z|d�|
��}�n�|jr�|rW|j �K|jr?||ur;|r|jj|�n|j"jrd|_t%|||ft|�r|js||�n
d||�z|d�|
��}n�|j&|j)�fd|i|
��}|j*r>|r ||vr|jj|�n�|j,j|�n�|jr<|r|jj|�n[|j"jrEd|_n=|r ||vr|jj|�n|j,j|�|
j||||f�y)N��	use_tableTz%s_m0)rIr�rH)r�rHrH)rZrfrg�include_table_with_column_exprsrxr�_is_literalr�r�rXr�rhr,rjrk�_is_bind_parameterr�r~r�r��
self_grouprrrU)r�r�r�r2r�r�r�rXr�r�r�r�r�r�r��	col_value�accumulated_bind_namess                 r3r�r�1s}�� 
�N�N�7�#�E��!�!�/�/�	�]�B�B�0��I�(+�u�����U�#�/��
�
��&�&�
#�/3��,�#��+�+�2�2�1�5�"��
��

��h�&�/�}�=�$�:�:��q�!��~�a�0�0�"8�

��

��
�	!�	!�/����#��
�
��&�&�"��+�+�2�2�1�5��!�!�5�5�/3��,�.��
��
�/�}�=�$�:�:��q�!��~�a�0�0�"8�
��
��!�� � �����
�"8�
��
���!�!�'�A�1I�,I��+�+�2�2�1�5��"�"�)�)�!�,��}�}�%��/�/�6�6�q�9��%�%�9�9�37�H�0�)�q�4L�/L��+�+�2�2�1�5��"�"�)�)�!�,�
�M�M�1�i��(>�?�@r5c	�(�|j���|jjr�|jjr�|jjr|jj
sUt
�}|j||jj|�|j|jfd|i|��|f�|jj|�y|jjr�t
�}|j||jj|�|j|jjj�fd|i|��|f�|jj|�y|j||jj|�t||fi|��|j ff�y||j"j$us|j&�|jj|�y|j(st+|�yy)z�Create a primary key expression in the INSERT statement where
    we want to populate result.inserted_primary_key and RETURNING
    is available.

    NrH)r��is_sequencer~�supports_sequences�optional�sequences_optionalrxr�rfrgr�rX�is_clause_element�argr��"_create_insert_prefetch_bind_paramrircr�r�r�r�)r�r�r2r�r�r�s      r3r�r��s���	�y�y���9�9� � ����2�2��I�I�&�&��'�'�:�:�36�5�&��
�
�� �)�)�7�7��:�(��(�(��I�I��2H��!��
/�	��
�'�'�.�.�q�1�
�Y�Y�
(�
(�%(�U�"��M�M���%�%�3�3�A�6�$�H�$�$��	�	�
�
�0�0�2��.D����
+�	�
�
�'�'�.�.�q�1�

�M�M���%�%�3�3�A�6�6�x��I�b�I��U�U�H�	�
�
�d�j�j�.�.�	.�!�2B�2B�2N��#�#�*�*�1�-�
�Z�Z�	+�1�-�r5c	�2�|j�X|jjr�|jjr,|jjr�|jj
r�||jjur�|jjs�|j�,|jjr|jjs"|j�[|jjrE|j||jj|�t||fi|��|jff�y|j�<|j�0|j s$||jjurt#|�y|jjrd|_yy)aoCreate a primary key expression in the INSERT statement where
    we want to populate result.inserted_primary_key and we cannot use
    RETURNING.

    Depending on the kind of default here we may create a bound parameter
    in the INSERT statement and pre-execute a default generation function,
    or we may use cursor.lastrowid if supported by the dialect.


    NT)r�r�r~r�r�r�rcr�r��"preexecute_autoincrement_sequencesr�rfrgr�rir�r�r��r�r�r2r�r�s     r3r�r��sK��	
�	�	���	�	�%�%�� � �3�3��	�	�*�*�#�+�+�>�>�	
�T�Z�Z�
-�
-�-�� � �4�4��I�I�)��	�	�-�-� �(�(�;�;��I�I�%� �(�(�K�K�	�
�
���!�!�/�/��2�2�8�Q�E�"�E�����	
�	
�	
�	�	��
���$��
�
�
�T�Z�Z�5�5�5�	+�1�-�	�	�	�	-�	-�
(,��$�
.r5c	��|jjr�|jjr�|jjr|jj
s�t
�}|j||jj|�|j|jfd|i|��|f�|r ||vr|jj|�y|js|jj|�yyyy|jjr�t
�}|j||jj|�|j|jjj!�fd|i|��|f�|r ||vr|jj|�y|js|jj|�yy|j||jj|�t#||fi|��|j$ff�y)NrH)r�r�r~r�r�r�rxr�rfrgr�rXr�rUr�r�r�r�ri)r�r�r2r�r�r�r�s       r3r�r�.s���	�y�y������.�.��	�	�"�"�(�*:�*:�*M�*M�/2�u�"��M�M���%�%�3�3�A�6�$�H�$�$��	�	��.D����
+�	�
�(�A�1I�,I��+�+�2�2�1�5��]�]��"�"�)�)�!�,�#�#+N�/�(
���	$�	$�!$����
�
���!�!�/�/��2� �� � ��I�I�M�M�,�,�.��*@����
'�	
�	
�$��-E�(E��'�'�.�.�q�1�������%�%�a�(��	�
�
���!�!�/�/��2�2�8�Q�E�"�E�����	
�	
r5c	��t|j�r�|jjrt|jjr|jj
sG|j
||jj|�|jj�df�yyyt|j�rQ|j
||jj|�|jjj�df�y|j
||jj|�t||fddi|��|jff�y)NrEr�F)rr�r~r�r�r�r�rfrg�
next_valuerr�r�r�rirs     r3r�r�es���1�9�9�%����.�.��	�	�"�"�(�*:�*:�*M�*M��M�M���%�%�3�3�A�6��I�I�(�(�*��	�
�+N�/�
#�1�9�9�	-��
�
���!�!�/�/��2��	�	�
�
�(�(�*��	
�	
�	�
�
���!�!�/�/��2�2��a��).��24������

�		
r5c	�j�|j}|j��|jjs�|jjr�|j	||j
j
||��|j|jjj�fi|��df�|r ||vr|jj	|�y|jj	|�y|j	||j
j
||��t||fi|��|jff�y|j�>|r ||vr|jj	|�y|jj	|�y|r:|js|j s!||vr|jj	|�yyyy)Nr�rE)r��onupdater�r�r�rfrgr�r�r�rXrU�"_create_update_prefetch_bind_paramri�server_onupdater�r^)r�r�r�r2r�r�r��
include_tables        r3r�r��s���"�A�A�M��z�z��a�j�j�&<�&<��:�:�'�'��M�M���%�%�3�3��"/�4��%�H�$�$�Q�Z�Z�^�^�%>�%>�%@�G�B�G���

�(�A�1I�,I��+�+�2�2�1�5��"�"�)�)�!�,��M�M���%�%�3�3��"/�4��7�x��I�b�I��U�U�H��

�
�	�	�	&�#��-E�(E��'�'�.�.�q�1����%�%�a�(� �
�
*�
*�$�2G�2G�
�)�)��#�#�*�*�1�-�
*�3H�	!r5c��yrKrE�r�r2r�r�s    r3r�r��r�r5c��yrKrErs    r3r�r�����#&r5c�^�t||df||d�|��}|jj|�|S�N)r�r�)rhrVr��r�r2r�r�r��params      r3r�r���B��
��!�T�
�#*��
�9;�
�E�
���#�#�A�&��Lr5c��yrKrErs    r3rr�r�r5c��yrKrErs    r3rr�rr5c�^�t||df||d�|��}|jj|�|Sr)rhrWr�rs      r3rr�rr5c�t�eZdZdZd�Zd�Zd�Zd�Zejd	d��Z
ejd	d��Zy)
�_multiparam_columnTc��||_d|j|dzfz|_||_|j|_|j|_y)N�%s_m%dr)�indexri�originalr�r�)�selfrrs   r3�__init__z_multiparam_column.__init__�sA����
��x�|�|�U�Q�Y�7�7��� ��
��'�'����M�M��	r5c��t��rK��NotImplementedError)r�otherr�s   r3�comparez_multiparam_column.compare���!�#�#r5c��t��rKr )rr�s  r3�_copy_internalsz"_multiparam_column._copy_internals	r$r5c��t|t�xr4|j|jk(xr|j|jk(SrK)r0rrir)rr"s  r3�__eq__z_multiparam_column.__eq__s<���u�0�1�
0��	�	�T�X�X�%�
0����$�-�-�/�	
r5c�@�tj|j�S�z1used by default.py -> _process_execute_defaults())r�_from_column_defaultr��rs r3�_default_description_tuplez-_multiparam_column._default_description_tuples��(�<�<�T�\�\�J�Jr5c�@�tj|j�Sr*)rr+rr,s r3�_onupdate_description_tuplez._multiparam_column._onupdate_description_tuples��(�<�<�T�]�]�K�Kr5N)r�r)rArBrC�_is_multiparam_columnrr#r&r(r!�memoized_propertyr-r/rEr5r3rr�sT�� ��"�$�$�
�
���K��K�

���L��Lr5rc��|jstjd|z��t|j�r5|j|jj
j
�fi|��S|jjr|j|jfi|��St||�}t|tj�sJ�t||fddi|��S)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�r�r�r�rr0r�Insertr�)r�r�r2rr�r�s      r3� _process_multiparam_default_bindr4 s���
�9�9����
@�BC�
D�
�	
�

#�1�9�9�	-��x����	�	�
�
� 8� 8� :�A�b�A�A�	
���	�	� �x����	�	�0�R�0�0� ��E�*���$��
�
�+�+�+�1��c�
�#'�
�+-�
�	
r5c	
�Z�|xsdD�	�
cic]*\}	}
tjtj|	�|
��,}}	}
|j}t�}
|jD�]}|jD]�}	|	|vs�|
j|�|	|||	�<||	}|j|	|��}tj|�r+t||	|f|tu||	�d�|��}|	jf}nf|jr||	�}t||	|fd|i|��}|f}n>|j j#|	�|j|j%�fi|��}d}|j#|	|||f�����|
D�]6}|jD�]#}	|	|vr�	|	j&��|	j&j(s�|	j&j*ru|j#|	|j|	|��|j|	j&j,j%�fi|��df�|j j#|	���|j#|	|j|	|��t/||	fd||	�i|��|	jff���|	j0���	|j j#|	���&��9ycc}
}	w)NrE�r
)rIr�r�)r�expectrr�r�rxr�r2�addr�r�rhr,rir�r�rUr�r�rr�r�r�rr	)r�r�r�r�r�r�r�r�r�r2r�normalized_paramsr
�affected_tables�tr�r�r��cbns                   r3rtrtAs���.�3��3��3�H�A�u�	����,�,�a�0�%�7�3���
"�A�A�M��e�O�
�
'�
'�����A��%�%��#�#�A�&�56�
�.�q�1�2�)�!�,��$�,�,�Q�m�,�L�	��(�(��/�.� ����"'�(�!2�+�A�.���
�E�>?�U�U�H�*��-�-�(��+�C�:� �!�U��14��8:��E�/2�V�*��&�&�-�-�a�0�,�H�,�,�U�-=�-=�-?�F�2�F�E�-/�*��
�
�q�)�U�4J�K�L�7�(�>�����A��%�%�����'��
�
�0F�0F��:�:�/�/��M�M��$�,�,�Q�m�,�L�,�H�,�,� !�
�
��� 9� 9� ;��?A���
�	��&�&�-�-�a�0��M�M��$�,�,�Q�m�,�L�>� (�!��2@��2C��GI���U�U�H�
�	��"�"�.��"�"�)�)�!�,�9���Os�/J'c
�:�|}|g}|j}|�J�t|dd�D]�\}	}
g}|
j�D��
cic]\}}
||�|
��}
}}
|D]�\}}}}|j|
vro|j}t	j
|
|�r&t
|||
|fdd|j|	dzfzi|��}n4|j|
|j�fi|��}nt||||	|�}|j||||f���|j|���|Scc}
}w)Nrr�r)rl�	enumeraternrirr�rhr�r�r4r�)r�r�r��initial_valuesrOr��values_0r�r��i�row�	extensionrirNr��col_exprr�accumulated_names�	new_params                   r3r|r|�sT���H��
�F�	�	(�	(�B�
�>��>��B�q�r�F�#���3�02�	�47�I�I�K�@�K�&�#�q�~�c�"�A�%�K��@�7?�3�C��5�"3��w�w�#�~��g�g���(�(��S��2� 2� ���C��!�&����!�a�%�(8�8�	!�
�!�I�!1�� 0� 0��S��1D�1D�1F� M�"� M�I�<��d�C��B��	�
���c�8�Y�8I�J�K�'8@�*	�
�
�i� �5$�8�M��3As�Dc��|D]�\}}||�}	|	�|j|	|��#|j||j��}
tj|�r4|jtjd||j��fi|��}n^|jr1|jjr|j|j�}|j|j�fi|��}|j||
|df���y)Nr6)r�rE)
�
setdefaultr�r�rr�rr�r�r�r�r�r�r�)r�r�r�r�rOr�r�rMrN�colkeyrDs           r3rqrq�s���&���1���"�����!�!�&�!�,� �'�'���!N�!N�(��H��$�$�Q�'�$�H�$�$��*�*�4��!�&�&�A��EG����'�'�A�F�F�N�N��3�3�A�F�F�;�A�$�H�$�$�Q�\�\�^�:�r�:��
�M�M�1�h��2�.�/�=&r5c�0�|j}|xrct|�xrV|jxrG|jxs|jxr|j
xr|jxr
|j}|xr&|jxr|jjdu}|xra|jxrS|jjxr;|jxr-|xs|jxs|jxs|j
}|rd}t|�r�|xr|j
}|xs|jxs|j }	|xr,|jxr|j"xr|	xs|j$}
d}|
r�|	r�|j&r�|j)|j�}n�|j*rE|j
xr2|jjxr|jxr|j,}d}
d}nW|j.rE|j
xr2|jjxr|jxr|j0}d}
d}nd}d}
d}|rB|j2s t5|jj6�}nt5|j2�}nd}||xs||||
|fS)z�determines RETURNING strategy, if any, for the statement.

    This is where it's determined what we need to fetch from the
    INSERT or UPDATE statement after it's invoked.

    NF)r~rj�_inliner}�insert_executemany_returningr^r]rkr�rcr��insert_returning�_primary_tablerX�_supports_implicit_returning�favor_returning_over_lastrowidr�r?�!use_insertmanyvalues_wo_returning�_sort_by_parameter_order�_get_sentinel_column_for_tablerr�update_returningr_�delete_returningr�rxr2)
r�r�r�r�r~r�r�rX�should_implicit_return_defaults�explicit_returningr?r@r�s
             r3r�r��s������G�	�		4�#�M�2�		4�����		4��(�(�(�
P��4�4�N��9N�9N�		4�����		4��3�3�3�
� 	�	9��'�'�	9��J�J�,�,�D�8��	�	
�
�$�$�	
�

�(�(�;�;�	
�
�6�6�	
�$%�
$�
N��(N�(N�
%��2�2�
%��$�$�-�2�#���}�-��8�4�#8�#8�	(�
,�
,����
,��+�+�	�
�
��(�(�
��,�,�
�#�O�g�&O�&O�	� $�� �"��-�-�#+�#J�#J��
�
�$� �
�	�	��!�!�
)��,�,�?�?�
)��:�:�
)��(�(�		(� %��#��	�	�	��!�!�
)��,�,�?�?�
)��:�:�
)��(�(�		(� %��#��*/�'�$��#��&��,�,�(+�4�:�:�<�<�'8�$�'*�4�+H�+H�'I�$�#'� �	��=�=� ����
�r5c��d|jj�d|j�d|jj�d�}t|jj�dkDr|dz
}tj|�y)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.)rc�fullnamer��lenr�r!�warn)r2�msgs  r3r�r�rsb��
�7�7���Q�V�V�Q�W�W�%5�%5�
	7���1�7�7����!�#��
�	
��	�I�I�c�Nr5)r2r-r�r.)r�r$r�r'r�r&r�r=r�rr�r8).FN)r�r$r�r-r�rr��
Literal[True]rIr=r��
Optional[str]r�rr�r�)
r�r$r�r-r�rr�rr�r�)TFN)r�r$r�r-r�rr�r=rIr=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).)
r�r$r2r-r�r^r�rr�r�)
r�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'r2r6r�intr�r`r�r�)r�r$r�r'r�r&r?rSrOrTr�r`r�r;)R�__doc__�
__future__rr�r��typingrrrrrr	r
rrr
rrrrr�rrrr�baserrrjr�schemarrr�rrr r!�util.typingr"r�r#r$r%r&r'r(r)r*r+�symbolr,r4r��_CrudParamElement�_CrudParamElementStr�_CrudParamElementSQLExprr9r8r�rhr�r[rvrwr`r�r�r�r�r�r�r�rrr4rtr|rqr�r�rEr5r3�<module>rns����#���������!������� ������*�4�"�-�'��#���!��1�%�&���'�,�'���4�;�;��	���
�����
�c�$�$�%��
�S�M���������S�M����!�����S�M�����+�,��A�*�A�O��O�
�O��O��	O�
�O��
O�d
�
!���
���	�����	�
���
���	��
��
����	�����	�
	��
�����
���	�����	�
���
���-��*#4�L3<��3<�!+�3<�<D�3<��3<�lBC�JA8�H
�<pA�f:.�zJ,�Z4
�n&
��&
�
�&
��&
�
+�	&
�
	�&
�
�
&
�R+.�\
�!���������	�
	��
��
�&��&��&��&��	&�
!�&�
�&���	��������	�
��-�
�
�!���������	�
	��
��
�&��&��&��&��	&�
!�&�
�&���	��������	�
��-�
�!L��/�/��4�!L�H
��
�
�
��
��	
�
	�
�	�

�BO-�d)��)�
�)��)�3�	)�
'�)�	�
)�*�)�X'0�TF�Rr5


Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
4 Apr 2025 8.03 AM
root / root
0755
__init__.cpython-312.pyc
4.557 KB
4 Apr 2025 8.03 AM
root / root
0644
_dml_constructors.cpython-312.pyc
3.881 KB
4 Apr 2025 8.03 AM
root / root
0644
_elements_constructors.cpython-312.pyc
64.02 KB
4 Apr 2025 8.03 AM
root / root
0644
_orm_types.cpython-312.pyc
0.592 KB
4 Apr 2025 8.03 AM
root / root
0644
_py_util.cpython-312.pyc
2.876 KB
4 Apr 2025 8.03 AM
root / root
0644
_selectable_constructors.cpython-312.pyc
22.733 KB
4 Apr 2025 8.03 AM
root / root
0644
_typing.cpython-312.pyc
14.533 KB
4 Apr 2025 8.03 AM
root / root
0644
annotation.cpython-312.pyc
20.818 KB
4 Apr 2025 8.03 AM
root / root
0644
base.cpython-312.pyc
95.578 KB
4 Apr 2025 8.03 AM
root / root
0644
cache_key.cpython-312.pyc
34.788 KB
4 Apr 2025 8.03 AM
root / root
0644
coercions.cpython-312.pyc
47.768 KB
4 Apr 2025 8.03 AM
root / root
0644
compiler.cpython-312.pyc
265.578 KB
4 Apr 2025 8.03 AM
root / root
0644
crud.cpython-312.pyc
44.384 KB
4 Apr 2025 8.03 AM
root / root
0644
ddl.cpython-312.pyc
56.464 KB
4 Apr 2025 8.03 AM
root / root
0644
default_comparator.cpython-312.pyc
19.006 KB
4 Apr 2025 8.03 AM
root / root
0644
dml.cpython-312.pyc
72.514 KB
4 Apr 2025 8.03 AM
root / root
0644
elements.cpython-312.pyc
206.643 KB
4 Apr 2025 8.03 AM
root / root
0644
events.cpython-312.pyc
18.751 KB
4 Apr 2025 8.03 AM
root / root
0644
expression.cpython-312.pyc
5.008 KB
4 Apr 2025 8.03 AM
root / root
0644
functions.cpython-312.pyc
73.986 KB
4 Apr 2025 8.03 AM
root / root
0644
lambdas.cpython-312.pyc
53.543 KB
4 Apr 2025 8.03 AM
root / root
0644
naming.cpython-312.pyc
8.245 KB
4 Apr 2025 8.03 AM
root / root
0644
operators.cpython-312.pyc
87.765 KB
4 Apr 2025 8.03 AM
root / root
0644
roles.cpython-312.pyc
11.938 KB
4 Apr 2025 8.03 AM
root / root
0644
schema.cpython-312.pyc
239.802 KB
4 Apr 2025 8.03 AM
root / root
0644
selectable.cpython-312.pyc
255.188 KB
4 Apr 2025 8.03 AM
root / root
0644
sqltypes.cpython-312.pyc
148.117 KB
4 Apr 2025 8.03 AM
root / root
0644
traversals.cpython-312.pyc
41.336 KB
4 Apr 2025 8.03 AM
root / root
0644
type_api.cpython-312.pyc
85.104 KB
4 Apr 2025 8.03 AM
root / root
0644
util.cpython-312.pyc
53.054 KB
4 Apr 2025 8.03 AM
root / root
0644
visitors.cpython-312.pyc
35.206 KB
4 Apr 2025 8.03 AM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF