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/sql/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

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

���g͞���ddlmZddlmZddlZddlZddlZddlmZddlm	Z	ddlm
Z
ddlmZddlmZddlm
Z
dd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddl m!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%ddl&m'Z'ej*r�dd lm(Z(dd!lm)Z)dd"lm*Z*dd#lm+Z+dd$lm,Z,dd%lm-Z-dd&lm.Z.dd'lm/Z/dd(lm0Z0dd)l1m2Z2dd*l(m3Z3dd+l(m4Z4dd,l(m5Z5dd-l(m6Z6dd.l(m7Z7dd/l(m8Z8dd0l(m9Z9dd1l*m:Z:dd2l+m;Z;dd3l+m<Z<dd4l+m=Z=dd5l+m>Z>dd6l+m?Z?dd7l+m@Z@dd8lmAZAed9ej��:�ZCed;e	d<ef�:�ZDed=ej��:�ZFed>e�:�ZGd?�ZHd@�ZI								d�dA�ZJ								d�dB�ZKe								d�dC��ZLed<dD�									d�dE��ZLe								d�dF��ZLe								d�dG��ZLe								d�dH��ZLe								d�dI��ZLe								d�dJ��ZLe								d�dK��ZLe								d�dL��ZLe								d�dM��ZLe								d�dN��ZLe								d�dO��ZLe								d�dP��ZLed<dQ�									d�dR��ZLe								d�dS��ZLe								d�dT��ZLe								d�dU��ZLdddVdVdW�															d�dX�ZL								d�dY�ZM						d�dZ�ZNGd[�d\�ZOGd]�d^�ZPGd_�d`�ZQGda�dbeO�ZRGdc�ddeO�ZSde#j�ddf											d�de�ZUGdf�dgeO�ZVGdh�dieO�ZWGdj�dkeO�ZXGdl�dmeO�ZYGdn�doeO�ZZGdp�dqeO�Z[Gdr�dseSeO�Z\Gdt�due\eO�Z]Gdv�dweO�Z^Gdx�dyeSeO�Z_Gdz�d{eWeSeO�Z`Gd|�d}eWeO�ZaGd~�deVeO�ZbGd��d�eReO�ZcGd��d�eWeO�ZdGd��d�eWeSeOej��ZfGd��d�efeO�ZgGd��d�efeO�ZhGd��d�eReO�ZiGd��d�eO�ZjGd��d�eQeO�ZkGd��d�ePeWeO�ZlGd��d�ePeReO�ZmGd��d�em�ZnGd��d�eO�ZoGd��d�e\�ZpGd��d�eYeWeO�ZqGd��d�eO�ZrGd��d�eWeO�ZsGd��d�eVeO�ZtGd��d�er�ZuGd��d�eO�ZvGd��d�eO�ZwGd��d�eYeVeO�ZxGd��d�ex�ZyGd��d�ey�ZzGd��d�eYeVeO�Z{Gd��d�eVeO�Z|Gd��d�eVeO�Z}iZ~ee�D]PZ�e�ee��Z�e��jd��s�e��j	d�d��Z�e�e��vs�<e��e�e��Z�e�e~e�<�Res/e~e�jZ�e�e�e�e�fD]Z�e�e~e�je�<�yy)��)�annotationsN)�Any)�Callable)�cast)�Dict)�Iterable)�Iterator)�List)�NoReturn)�Optional)�overload)�Sequence)�Tuple)�Type)�
TYPE_CHECKING)�TypeVar)�Union�)�roles)�visitors)�is_from_clause)�ExecutableOption)�Options)�HasCacheKey)�	Visitable�)�exc)�
inspection)�util)�Literal)�elements)�lambdas)�schema)�
selectable)�_ColumnExpressionArgument)�_ColumnsClauseArgument)�_DDLColumnArgument)�_DMLTableArgument)�_FromClauseArgument)�_DMLTableElement)�
BindParameter)�
ClauseElement)�ColumnClause)�
ColumnElement)�NamedColumn)�SQLCoreOperations)�
TextClause)�Column)�_ColumnsClauseElement)�_JoinTargetProtocol)�
FromClause)�HasCTE)�
SelectBase)�Subquery)�_TraverseCallableType�_SR)�bound�_F.�_StringOnlyR�_Tc�b�t|ttjf�xr
t	|d�S)zhReturn whether or not the element is a "literal" in the context
    of a SQL expression construct.

    �__clause_element__)�
isinstancerr#�SchemaEventTarget�hasattr)�elements �I/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/sql/coercions.py�_is_literalrFNs<����	�F�,�,�-���5��g�3�4�
4�5�c�r�t|tj�r%t|t�s|D]}t	|�r�yyt|t
tjtttjjf�xr3t|d�xr$t|t�xst|t�S)aReturn whether or not the element is a "literal" in the context
    of a SQL expression construct.

    does a deeper more esoteric check than _is_literal.   is used
    for lambda elements that have to distinguish values that would
    be bound vs. not without any context.

    FTr@)rA�collections_abcr�str�_deep_is_literalrr#rBrrr�langhelpers�symbolrC�type�
issubclass)rD�elems  rErKrKZs����'�?�3�3�4�Z���>��D�#�D�)����
����(�(���� � �'�'�
�	
�		
�	
���!5�6�6�	
��7�D�)�)�
4��g�{�3�3�rGc�<�tj|d|�d|�d��S)Nz.. warning:: The z
 argument to z� can be passed as a Python string argument, which will be treated as **trusted SQL text** and rendered as given.  **DO NOT PASS UNTRUSTED INPUT TO THIS PARAMETER**.)r�add_parameter_text)�	paramname�meth_rst�	param_rsts   rE�_document_text_coercionrV�s&���"�"���h�	 �
�
rGc���|rjt|dtttf�rLt	|�dk(r>t|dt�rtjd|�d|�d���td|d�Std|�S)NrrzThe "z" argument to zt(), when referring to a sequence of items, is now passed as a series of positional elements, rather than as a list. �Sequence[_T])rA�list�set�dict�lenr�
ArgumentErrorr)�attrname�fnname�argss   rE�!_expression_collection_was_a_listra�s}��
�
�4��7�T�3��$5�6�3�t�9��>��d�1�g�t�$��#�#���z���x�84�4��
��N�D��G�,�,����%�%rGc��y�N���rolerD�kws   rE�expectrh����
rG��as_keyc��yrcrd)rfrDrkrgs    rErhrh�s��rGc��yrcrdres   rErhrh�s��
rGc��yrcrdres   rErhrh����
"rGc��yrcrdres   rErhrh�rorGc��yrcrdres   rErhrh�s��
-0rGc��yrcrdres   rErhrh�s��
rGc��yrcrdres   rErhrh�s��rGc��yrcrdres   rErhrh�s��rGc��yrcrdres   rErhrh�s��
rGc��yrcrdres   rErhrh�s��
rGc��yrcrdres   rErhrh���
rGc��yrcrdres   rErhrhrxrG)�explicit_subqueryc��yrcrd)rfrDrzrgs    rErhrhs��rGc��yrcrdres   rErhrh s��
 rGc��yrcrdres   rErhrh(s��
rGc��yrcrdres   rErhrh1rirGF)�apply_propagate_attrs�argname�post_inspect�disable_inspectionc	��|jrCt|�r8t|d�r,tj||tj
di|��|��St|}|}t|tjtjtjtjf�s�d}	|jr|j|fi|��}	n�|}d}
|j rt||�rt|d�rd}
n:t|d�r.d}
t#|dd�s|j%�}nn
t|d�r�.|
s^|j&r:|s8t)j*|d��}|�|r|j,	|j%�}	|	�H|j|fd|i|��}	n2|}	n/t|tj�r|j2di|��}	n|}	|�Rt4j6rt|	t8t:f�sJ�|j<st#|	d	d�r|	j<|_|j>|	j@jBvr$|jDr|jD|	f||d
�|��}	|	S|jF||	fd|i|��S#t.$r|j1||�Y��wxYw)N�__code__)rFr@T�is_clause_element)�raiseerrr��_propagate_attrs)r��original_elementrd)$�
allows_lambda�callablerCr"�
LambdaElement�
LambdaOptions�_impl_lookuprAr!�CompilerElementr#�
SchemaItem�FetchedValue�	PyWrapper�_resolve_literal_only�_literal_coercion�$_skip_clauseelement_for_target_match�getattrr@�_use_inspectionr�inspect�
_post_inspect�AttributeError�_raise_for_expected�_sa__py_wrapper_literal�typingrr0r,r��_role_class�	__class__�__mro__�_post_coercion�_implicit_coercions)rfrDrr�r�r�rg�implr��resolvedr��insps            rErhrh9s���	
���

�W���G�Z�(��$�$����!�!�'�B�'�"7�	
�	
����D������$�$����������		
�����%�%�-�t�-�-�g�<��<�H�&�� %���9�9��w��-��G�%9�:�$(�!��g�';�<�(,�%�"�7�,?��G�")�"<�"<�">���
�g�';�<�%��'�'�0B�%�-�-�g��F�D��'�'� �.�.�P�'+�'>�'>�'@�H��#�5�t�5�5�� �)0� �46� �H�#��	�G�W�.�.�	/�2�7�2�2�8�R�8�����(�����h�):�M�(J�K�K�K�$�5�5�'��(�$�;
�6>�5N�5N�!�2����8�-�-�5�5�5����*�t�*�*����!1���	�H���'�t�'�'��h�
�07�
�;=�
�	
��C .�P� �4�4�5E�w�O�P�s�"I,�,J�
Jc�D�|jdd�t||fddi|��S)NrkT)�poprhres   rE�
expect_as_keyr��s)���F�F�8�T���$��3��3��3�3rGc#�K�|D]u}d}d}t||�}t|t�rt|t�sJ�|x}}n.g}|j}t	j
|id|i�|r|d}|�|n|}||||f���wy�w)N�columnr)rhrArJ�appendr�traverse)	rf�expressions�expr�strnamer�r��cols�
col_append�add_elements	         rE� expect_col_expression_collectionr��s�����������,2�4��,>���h��$��d�C�(�(�(�!%�%�G�h�&(�D�=A�[�[�J����h��X�z�,B�C���a��� &� 2�f�������4�4�!�s�A<A>c��eZdZUdZd�ZdZded<dZdZd�Z		d									dd�Z
		d
dddd	�															dd
�Zy)�RoleImpl)r��namer�c��t��rc)�NotImplementedError��selfrDrgs   rEr�zRoleImpl._literal_coercion�s��!�#�#rGNrr�Fc�r�||_|j|_t|tj
�|_yrc)r��
_role_namer�rOr�UsesInspectionr�)r��
role_classs  rE�__init__zRoleImpl.__init__�s,��%����)�)��	�)�*�e�6J�6J�K��rGc�*�|j|||�yrc�r��r�rDr�r�rgs     rEr�zRoleImpl._implicit_coercions�s��	
� � ��'�8�<rG��advice�code�errc���|�
||ur	|�d|�d�}nt|�}|r|j�d|�d|�d�}	n|j�d|�d�}	|r|	d|zz
}	tj|	|��|�)	Nz object resolved from z objectz expected for argument z; got �.z expected, got � )r�)�reprr�rr])
r�rDr�r�r�r�r�rg�got�msgs
          rEr�zRoleImpl._raise_for_expected�sq����H�G�$;�9A�7�K�C��w�-�C���	�	����C�-1�I�I�s�;�C���3��<��C�����$�/�S�8rGrc�
rDrr�rr��
Optional[str]rgr�returnr�NN�rDrr�r�r�z
Optional[Any]r�r�r�r�r��Optional[Exception]rgrr�r)�__name__�
__module__�__qualname__�	__slots__r�r��__annotations__r�r�r�r�r�rdrGrEr�r��s���:�I�$��N�C��!��+0�(�L�"&�	=��=��=��	=�
�=�

�
=�"&�"&�	9�!%�"�#'�9��9��9� �	9��
9��9�!�9��9�
�9rGr�c��eZdZdZd�Zy)�_Deannotaterdc��ddlm}||�S)Nr)�_deep_deannotate)rr�)r�r�rgr�s    rEr�z_Deannotate._post_coercions��*���)�)rGN�r�r�r�r�r�rdrGrEr�r�	s���I�*rGr�c��eZdZdZdZy)�_StringOnlyrdTN)r�r�r�r�r�rdrGrEr�r�s
���I� �rGr�c��eZdZdZdd�Zd�Zy)�_ReturnsStringKeyrdNc�N�t|t�r|S|j|||�yrc�rArJr�r�s     rEr�z%_ReturnsStringKey._implicit_coercionss#���g�s�#��N��$�$�W�g�x�@rGc��|Srcrdr�s   rEr�z#_ReturnsStringKey._literal_coercion!����rGrc�r�r�r�r�r�r�rdrGrEr�r�s���I�A�rGr�c��eZdZdZd�Zdd�Zy)�_ColumnCoercionsrdc�.�tjd�y)Nz|implicitly coercing SELECT object to scalar subquery; please use the .scalar_subquery() method to produce a scalar subquery.)r�warn)r�s rE�"_warn_for_scalar_subquery_coercionz3_ColumnCoercions._warn_for_scalar_subquery_coercion(s���	�	�
�	
rGNc��|}t|dd�s|j|||�y|jr |j�|j	�S|j
rDt
|tj�r*|j�|jj	�S|jjr|jr|S|j|||�y)Nr�F)
r�r��_is_select_baser��scalar_subquery�_is_from_clauserAr$r8rDr�r��_is_lambda_element)r�rDr�r�rgr�s      rEr�z$_ColumnCoercions._implicit_coercions/s���"���x�!4�e�<��$�$�%5�w��I�
�
%�
%��3�3�5��+�+�-�-�
�
%�
%�*��j�)�)�+
�
�3�3�5��#�#�3�3�5�5�
�
�
�
+�
+��0K�0K��O��$�$�%5�w��IrGrc)r�r�r�r�r�r�rdrGrEr�r�%s���I�
�JrGr�c�d�|dtj|�|rd|��nd|rd|zndd�z�|�)Nzc%(extra)sTextual SQL expression %(expr)r %(argname)sshould be explicitly declared as text(%(expr)r)�
for argument �z%s )r�r��extra)r�ellipses_string)rDr��exc_clsr�r�s     rE�_no_text_coercionr�AsJ���	0��(�(��1�9@�G�5�b�&+�U�U�]��
�	
���rGc��eZdZdZdd�d�Zy)�_NoTextCoercionrdN�r�c��t|t�r1ttj|j
�r
t
||�y|j||�yrc)rArJrOr!r1r�r�r��r�rDr�rgs    rEr�z!_NoTextCoercion._literal_coercionVs@���g�s�#�
�����!1�!1�)
�
�g�w�/��$�$�W�g�6rG�r�r�r�r�r�rdrGrEr�r�Ss���I�48�7rGr�c�0�eZdZdZdZdZdZdd�Zdd�d�Zy)�_CoerceLiteralsrdFNc��t||�Src�r��r�rDr�s   rE�_text_coercionz_CoerceLiterals._text_coercione��� ��'�2�2rGr�c���t|t�r<|jr|dk(rtjdd��S|j
||fi|��S|jrF|�tj�S|durtj�S|durtj�S|jr:t|tj�r tjt|�d��S|j||�y)N�*T)�
is_literalF)rArJ�_coerce_starr!r-r�_coerce_consts�Null�False_�True_�_coerce_numerics�numbers�Numberr�r�s    rEr�z!_CoerceLiterals._literal_coercionhs����g�s�#�� � �W��^��,�,�S�T�B�B�*�t�*�*�7�G�B�r�B�B�������}�}��&��E�!����(�(��D���~�~�'�'�� � �Z��'�.�.�%J��(�(��W��$�G�G�� � ��'�2rGrc)	r�r�r�r�rrrrr�rdrGrEr�r�_s&���I��N��L���3�59�3rGr�c�(�eZdZdZ	dddd�d�Zd�Zy)�LiteralValueImplTNF)�type_�literal_executec�x�t|�s|j|f||d�|��tjd||d|��S)N)r�r�T)r�uniquer)rFr�r!r+)r�rDr�r�rrrgs       rEr�z$LiteralValueImpl._implicit_coercions�sU���8�$�$�D�$�$��
�"*�G�
�?A�
��%�%�����+�
�	
rGc��|Srcrdr�s   rEr�z"LiteralValueImpl._literal_coercion�r�rGrc)r�r�r�r�r�r�rdrGrErr}s$�� ���	
���
�.rGrc�R��eZdZdZ		ddddd�															d�fd�Z�xZS)�_SelectIsNotFromrdNr�c	����|st|tj�st|tj�rd|�|jn|�d�}d}nd}t	�|�|f|||||d�|��J�)NzTo create a FROM clause from a z$ object, use the .subquery() method.�89ve)r�r�r�r�r�)rAr�SelectStatementRoler��superr�)	r�rDr�r�r�r�r�rgr�s	        �rEr�z$_SelectIsNotFrom._raise_for_expected�s������7�E�$=�$=�>��(�E�$=�$=�>��
*2�)=�8�%�%�7�J�M�
�
�D��D�
��#��	
������
	
��	
�	�urGr�r��r�r�r�r�r��
__classcell__�r�s@rErr�sx����I�
"&�"&�	#�!%�"�#'�#��#��#� �	#��
#��#�!�#��#�
�#�#rGrc�4�eZdZdZ	d									dd�Zd�Zy)�HasCacheKeyImplrdNc�N�t|t�r|S|j|||�yrc)rArr�r�s     rEr�z#HasCacheKeyImpl._implicit_coercions�s%���g�{�+��N��$�$�W�g�x�@rGc��|Srcrdr�s   rEr�z!HasCacheKeyImpl._literal_coercion�r�rGrcr�r�rdrGrErr��L���I�"&�	
A��
A��
A��	
A�
�
A�

�
A�rGrc�4�eZdZdZ	d									dd�Zd�Zy)�ExecutableOptionImplrdNc�N�t|t�r|S|j|||�yrc)rArr�r�s     rEr�z(ExecutableOptionImpl._implicit_coercions�s&���g�/�0��N��$�$�W�g�x�@rGc��|Srcrdr�s   rEr�z&ExecutableOptionImpl._literal_coercion�r�rGrcr�r�rdrGrEr$r$�r"rGr$c�4��eZdZdZdddd�d�Zd�fd�	Z�xZS)�ExpressionElementImplrdNF)r�r�is_crudc���|�$|s"|�|jstj�S	tj|||d|��S#tj
$r}|j
||��Yd}~yd}~wwxYw)NT)r�_is_crud�r�)�should_evaluate_noner!rr+rr]r�)r�rDr�rr)rgr�s       rEr�z'ExpressionElementImpl._literal_coercion�sx��
�O����e�&@�&@�
�=�=�?�"�
;��-�-��'�5�������$�$�
;��(�(��c�(�:�:��
;�s�A�A2�A-�-A2c���t|tj�rd}nt|tj�rd}nd}t�|�|f|||d�|��S)NzTTo create a column expression from a VALUES clause, use the .scalar_values() method.z`To create a column expression from a FROM clause row as a whole, use the .table_valued() method.�r�r�r�)rAr$�Valuesr�AnonymizedFromClauseRolerr��r�rDr�r�rgr�r�s      �rEr�z)ExpressionElementImpl._raise_for_expectedsi����g�z�0�0�1�3�
����!?�!?�
@�>�
�
�F��w�*��
�$�x��
�JL�
�	
rGr�)r�r�r�r�r�r�rrs@rEr(r(�s ����I� $�4��;�(
�
rGr(c�*�eZdZdZddd�d�Zdd�d�Zy)�BinaryElementImplrdN)�bindparam_typer�c��	|j|||��S#tj$r}|j||��Yd}~yd}~wwxYw)N)rr,)�_bind_paramrr]r�)r�rDr��operatorr5r�rgr�s        rEr�z#BinaryElementImpl._literal_coercionsK��	7��#�#�H�g�^�#�L�L��� � �	7��$�$�W�#�$�6�6��	7�s��A�A�A)r5c��|jjr5|jjs|j|�|n|j�}|Src)rN�_isnull�_with_binary_element_type)r�r�r�r5rgs     rEr�z BinaryElementImpl._post_coercion's@���=�=� � ����):�):��9�9�"0�"<��$�)�)��H��rG)r�r�r�r�r�r�rdrGrEr4r4s ���I���
7�@D�rGr4c�j�eZdZdZ	d									d	d�Zd�Zejd�d��Zd�Z	y)
�
InElementImplrdNc�b�|jr�t|tj�rD|jj
r.|j
|�|j|jfi|��S|j
|�|j|j�fi|��S|j|||�yrc)
r�rAr$�AliasrDr��_warn_for_implicit_coercionr��selectr�r�s     rEr�z!InElementImpl._implicit_coercions2s����#�#��8�Z�%5�%5�6��$�$�4�4��0�0��:�*�t�*�*�8�+;�+;�B�r�B�B��0�0��:�*�t�*�*�8�?�?�+<�C��C�C��$�$�W�g�x�@rGc�\�tjd|jjz�y)Nz_Coercing %s object into a select() for use in IN(); please pass a select() construct explicitly)rr�r�r�)r�rPs  rEr@z)InElementImpl._warn_for_implicit_coercionFs%���	�	�
:��~�~�&�&�
(�	
rGzsqlalchemy.sql.elementsc	���tj|�r�i}t|�}|D]a}t|�r�t	|tj
jj�s t|d�s|j|fi|���]|||<�c|r9tj|D�cgc]}||vr||n|j||���c}�S|j||d��S|j|fi|��ycc}w)Nr@T)�	expanding)
r�is_non_string_iterablerYrFrA�	preloaded�sql_elementsr.rCr�r!�
ClauseListr7)r�rDr�r8rg�non_literal_expressions�os       rEr�zInElementImpl._literal_coercionMs���&�&�w�/��
$��7�m�G���"�1�~�%��4�>�>�6�6�D�D��%�a�)=�>�0��0�0��?�B�?�67�/��2��'��*�*�")�
�")�A� !�$;�;�4�A�6�!%�!1�!1�(�A�!>�?�")�
�	�	��'�'��'�T�'�J�J�
%�D�$�$�W�3��3��s�"C,c��|jr|j�St|tj�r,t|j�dk(rJ�|j|��St|tj�r"|jd��}d|_
||_|St|tj�r|j�S|S)Nr)�againstT)�maintain_key)r�r�rAr!rHr\�clauses�
self_groupr+�_clonerD�	expand_opr$r0�
scalar_values)r�rDr�r8rgs     rEr�zInElementImpl._post_coercionps����"�"��*�*�,�,�
���!4�!4�
5��7�?�?�+�q�0�0�0��%�%�h�%�7�7�
���!7�!7�
8��n�n�$�n�7�G� $�G�� (�G���N�
���!2�!2�
3��(�(�*�*��NrGrcr�)
r�r�r�r�r�r@r�preload_moduler�r�rdrGrEr=r=/st���I�"&�	A��A��A��	A�
�A�

�
A�(
��T���2�3� 4�4� 4�DrGr=c�&�eZdZdZdZd�Zdd�d�Zy)�OnClauseImplrdTc�&�|j|�yrcr�r�s   rEr�zOnClauseImpl._literal_coercion�s��� � ��)rGN)r�c�>�t|tj�r|S|Src)rAr�JoinTargetRole)r�r�r�rgs    rEr�zOnClauseImpl._post_coercion�s ���&��(<�(<�=�#�#��rG)r�r�r�r�rr�r�rdrGrErUrU�s���I��N�*�<@�rGrUc��eZdZdZdZdd�Zy)�WhereHavingImplrdTNc��t||�Srcr�rs   rErzWhereHavingImpl._text_coercion�rrGrc�r�r�r�r�rrrdrGrErZrZ�s���I��N�3rGrZc��eZdZdZdZdd�Zy)�StatementOptionImplrdTNc�,�tj|�Src�r!r1rs   rErz"StatementOptionImpl._text_coercion�s���"�"�7�+�+rGrcr\rdrGrEr^r^�s���I��N�,rGr^c��eZdZdZy)�ColumnArgumentImplrdN�r�r�r�r�rdrGrErbrb�����IrGrbc��eZdZdZy)�ColumnArgumentOrKeyImplrdNrcrdrGrErfrf�rdrGrfc��eZdZdZdd�Zy)�StrAsPlainColumnImplrdNc�,�tj|�Src)r!r-rs   rErz#StrAsPlainColumnImpl._text_coercion�s���$�$�W�-�-rGrc)r�r�r�r�rrdrGrErhrh�s���I�.rGrhc��eZdZdZdZdd�Zy)�ByOfImplrdTNc�,�tj|�Src)r!�_textual_label_referencers   rErzByOfImpl._text_coercion�s���0�0��9�9rGrcr\rdrGrErkrk�s���I��N�:rGrkc��eZdZdZd�Zy)�OrderByImplrdc�t�t||j�r!|j�tj|�S|Src)rAr��_order_by_label_elementr!�_label_reference)r�r�rgs   rEr�zOrderByImpl._post_coercion�s4���x��!1�!1�2��0�0�<��,�,�X�6�6��OrGNr�rdrGrEroro�s���I�rGroc�.�eZdZdZ	d									dd�Zy)�GroupByImplrdNc�T�t|�rtj|j�S|Src)rr!rH�cr�s     rEr�zGroupByImpl._implicit_coercions�s&���(�#��&�&��
�
�3�3��OrGrcr��r�r�r�r�r�rdrGrErtrt�sA���I�"&�	
��
��
��	
�
�
�

�
rGrtc��eZdZdZdd�d�Zy)�
DMLColumnImplrdFrjc�"�|r|jS|Src)�key)r�rDrkrgs    rEr�zDMLColumnImpl._post_coercion�s����;�;���NrGNr�rdrGrEryry�s���I�05�rGryc��eZdZdZdd�d�Zy)�
ConstExprImplrdNr�c��|�tj�S|durtj�S|durtj�S|j	||�y)NFT)r!rr	r
r�r�s    rEr�zConstExprImpl._literal_coercion�sL���?��=�=�?�"�
��
��?�?�$�$�
��_��>�>�#�#��$�$�W�g�6rGr�rdrGrEr}r}�s���I�48�7rGr}c�4�eZdZdZ	d									dd�Zd�Zy)�TruncatedLabelImplrdNc�N�t|t�r|S|j|||�yrcr�r�s     rEr�z&TruncatedLabelImpl._implicit_coercions�s%���g�s�#��O��$�$�W�g�x�@rGc�d�t|tj�r|Stj|�S)z�coerce the given value to :class:`._truncated_label`.

        Existing :class:`._truncated_label` and
        :class:`._anonymous_label` objects are passed
        unchanged.
        )rAr!�_truncated_labelr�s   rEr�z$TruncatedLabelImpl._literal_coercions*���g�x�8�8�9��N��,�,�W�5�5rGrcr�r�rdrGrEr�r��sL���I�"&�	
A��
A��
A��	
A�
�
A�

�
A�6rGr�c��eZdZdZdZdd�Zy)�DDLExpressionImplrdTNc�,�tj|�Srcr`rs   rErz DDLExpressionImpl._text_coercions��
�"�"�7�+�+rGrcr\rdrGrEr�r�s���I��N�,rGr�c��eZdZdZy)�DDLConstraintColumnImplrdNrcrdrGrEr�r�!rdrGr�c��eZdZdZy)�DDLReferredColumnImplrdNrcrdrGrEr�r�%rdrGr�c�4�eZdZdZ	d									dd�Zd�Zy)�LimitOffsetImplrdNc�0�|�y|j|||�yrcr�r�s     rEr�z#LimitOffsetImpl._implicit_coercions,s������$�$�W�g�x�@rGc�d�|�ytj|�}tj|||d��S)NT)rr)r�asintr$�_OffsetLimitParam)r�rDr�rrg�values      rEr�z!LimitOffsetImpl._literal_coercion8s6���?���J�J�w�'�E��/�/��e�5���
rGrcr�r�rdrGrEr�r�)sL���I�"&�	
A��
A��
A��	
A�
�
A�

�
A�	rGr�c�:��eZdZdZ	d									d�fd�
Z�xZS)�LabeledColumnExprImplrdc���t|tj�r|jd�St	�|�||fd|i|��}t|tj�r|jd�S|j
|||�y�Nr�)rAr�ExpressionElementRole�labelrr�r�)r�rDr�r�rg�newr�s      �rEr�z)LabeledColumnExprImpl._implicit_coercionsGsz����h�� ;� ;�<��>�>�$�'�'��'�-����+2��68��C��#�u�:�:�;��y�y���&��(�(��'�8�DrGrcr�)r�r�r�r�r�rrs@rEr�r�DsN����I�"&�	E��E��E��	E�
�E�

�
E�ErGr�c�z��eZdZdZdZdZdZejdej�Z
	ddd��fd�Zd	d�Z�xZ
S)
�ColumnsClauseImplrdTz^\w\S*$N)r�c���|s,t|t�rddjd�|D���d�}t�|�|f|||d�|��S)NzDid you mean to say select(z, c3�2K�|]}t|����y�wrc)r�)�.0�es  rE�	<genexpr>z8ColumnsClauseImpl._raise_for_expected.<locals>.<genexpr>is����6�g��T�!�W�g�s�z)?r/)rArY�joinrr�)r�rDr�r�r�rgr�s      �rEr�z%ColumnsClauseImpl._raise_for_expectedcs`����*�W�d�3�-��9�9�6�g�6�6�7�r�;�
�
�w�*��
�$�x��
�JL�
�	
rGc���t|�}|jj|�}tjdtj|�|rd|��nd|rdndd�z��)Nz�Textual column expression %(column)r %(argname)sshould be explicitly declared with text(%(column)r), or use %(literal_column)s(%(column)r) for more specificityr�r��literal_columnr�)r�r�r�)rJ�_guess_straight_column�matchrr]rr�)r�rDr��guess_is_literals    rErz ColumnsClauseImpl._text_coercionpsi���g�,��#�:�:�@�@��I�I�����
#�
�.�.�w�7�=D��9�"�(8�$�h�	�	

�
�	
rGr�rc)r�r�r�r�rrr�re�compile�Ir�r�rrrs@rEr�r�ZsF����I��N����L�'�R�Z�Z�
�B�D�D�9��/3�
�>B�
�
rGr�c��eZdZdZy)�ReturnsRowsImplrdNrcrdrGrEr�r��rdrGr�c�F��eZdZdZdd�d�Z	d									d�fd�
Z�xZS)�
StatementImplrdNr�c��||urt|t�s	|j|S|S#t$rt	j
d|zd�Y|SwxYw)NaObject %r should not be used directly in a SQL statement context, such as passing to methods such as session.execute().  This usage will be disallowed in a future release.  Please use Core select() / update() / delete() etc. with Session.execute() and other statement execution methods.�1.4)rArJ�_execute_on_connectionr�r�warn_deprecated)r�r�r�r�rgs     rEr�zStatementImpl._post_coercion�sl���+�+�J��c�5
�

� �7�7���x���"�

��$�$��"2�
2��	���

�s�&�"A�Ac�F��|jr|St�|�||fd|i|��Sr�)r�rr�)r�rDr�r�rgr�s     �rEr�z!StatementImpl._implicit_coercions�s:����&�&��O��7�.����+2��68��
rGrcr�)r�r�r�r�r�r�rrs@rEr�r��sQ����I�6:��8"&�	������	�
��

�
�rGr�c�.�eZdZdZ	d									dd�Zy)�SelectStatementImplrdNc�b�|jr|j�S|j|||�yrc)�_is_text_clause�columnsr�r�s     rEr�z'SelectStatementImpl._implicit_coercions�s.���#�#��#�#�%�%��$�$�W�g�x�@rGrcr�rwrdrGrEr�r��sG���I�"&�	
A��
A��
A��	
A�
�
A�

�
ArGr�c��eZdZdZy)�
HasCTEImplrdNrcrdrGrEr�r��rdrGr�c��eZdZdZy)�	IsCTEImplrdNrcrdrGrEr�r��rdrGr�c�H�eZdZdZdZdd�d�Z	d	dd�											d
d�Zy)�JoinTargetImplrdTNr�c�(�|j||�yrcr�r�s    rEr�z JoinTargetImpl._literal_coercion�s��� � ��'�2rGF)�legacyc��t|tj�r|S|r%|jrt	j
dd��|S|j
|||�y�Nz�Implicit coercion of SELECT and textual SELECT constructs into FROM clauses is deprecated; please call .subquery() on any Core select or ORM Query object in order to produce a subquery object.r�)�version)rArrXr�rr�r�)r�rDr�r�r�rgs      rEr�z"JoinTargetImpl._implicit_coercions�sW���g�u�3�3�4��N�
��0�0�� � �6��
��O��$�$�W�g�x�@rGrc)rDrr�rr�r�r��boolrgrr�r)r�r�r�r�r�r�r�rdrGrEr�r��sk���I�+/�(�48�3�"&�	A��
A��A��A��	A��
A��A�

�ArGr�c�J�eZdZdZ	d	ddd�													d
d�Zdd�d�Zy)�FromClauseImplrdNFT)rz�allow_selectc���|jr8|r|j�S|r#tjdd��|jSy|j
r|S|j
|||�yr�)r��subqueryrr��_implicit_subqueryr�r�)r�rDr�r�rzr�rgs       rEr�z"FromClauseImpl._implicit_coercions�so���#�#� ��(�(�*�*���$�$�:�"�� �2�2�2���
%�
%��O��$�$�W�g�x�@rG)�
deannotatec�*�|r|j�S|Src)�_deannotate)r�rDr�rgs    rEr�zFromClauseImpl._post_coercions����&�&�(�(��NrGrc)rDrr�rr�r�rzr�r�r�rgrr�r)r�r�r�r�r�r�rdrGrEr�r��su���I�"&�	A�#(�!�A��A��A��	A� �
A��A��A�

�A�65:�rGr�c�8�eZdZdZ	ddd�											dd�Zy)�StrictFromClauseImplrdNF)r�c��|jr%|r#tjdd��|jS|j	|||�yr�)r�rr�r�r�)r�rDr�r�r�rgs      rEr�z(StrictFromClauseImpl._implicit_coercionssG���#�#��� � �#��
��.�.�.��$�$�W�g�x�@rGrc)rDrr�rr�r�r�r�rgrr�rrwrdrGrEr�r�s]���I�"&�	A�#�
A��A��A��	A��
A��A�

�ArGr�c��eZdZdZddd�d�Zy)�AnonymizedFromClauseImplrdFN)�flatr�c�.�|�J�|j|��S)N)r�)�_anonymous_fromclause)r�rDr�r�rgs     rEr�z'AnonymizedFromClauseImpl._post_coercion1s ���|��|��,�,�$�,�7�7rGr�rdrGrEr�r�.s���I�.3�$�8rGr�c��eZdZdZd�Zy)�DMLTableImplrdc�@�d|jvr|jdS|S)N�	dml_table)�_annotationsr�s   rEr�zDMLTableImpl._post_coercion:s&���'�.�.�.��'�'��4�4��NrGNr�rdrGrEr�r�7s���I�rGr�c�.�eZdZdZ	d									dd�Zy)�
DMLSelectImplrdNc���|jrLt|tj�r"|jj
r|jS|j
�S|j|||�yrc)r�rAr$r?rDr�rAr�r�s     rEr�z!DMLSelectImpl._implicit_coercionsDsW���#�#��8�Z�%5�%5�6��$�$�4�4��'�'�'����(�(��$�$�W�g�x�@rGrcr�rwrdrGrEr�r�AsG���I�"&�	A��A��A��	A�
�A�

�
ArGr�c�$��eZdZdZd�fd�	Z�xZS)�CompoundElementImplrdc���t|tj�r|jrd}nd}nd}t	�|�|f|||d�|��S)NzFUse the plain select() object without calling .subquery() or .alias().z9To SELECT from any FROM clause, use the .select() method.r/)rAr�FromClauseRole�_is_subqueryrr�r2s      �rEr�z'CompoundElementImpl._raise_for_expectedZsa����g�u�3�3�4��#�#�7��P���F��w�*��
�$�x��
�JL�
�	
rGr�rrs@rEr�r�Ws����I�
�
rGr��Role�Impl)rSrJrTrJrUrJr�zCallable[[_F], _F])r^rJr_rJr`z+Union[Sequence[_T], Sequence[Sequence[_T]]]r�rX)rfzType[roles.TruncatedLabelRole]rDrrgrr�rJ)
rf�Type[roles.DMLColumnRole]rDrrk�
Literal[True]rgrr�rJ)rfzType[roles.LiteralValueRole]rDrrgrr�zBindParameter[Any])rfz!Type[roles.DDLReferredColumnRole]rDrrgrr��Union[Column[Any], str])rf�#Type[roles.DDLConstraintColumnRole]rDrrgrr�r�)rfzType[roles.StatementOptionRole]rDrrgrr�z%Union[ColumnElement[Any], TextClause])rfz&Type[roles.LabeledColumnExprRole[Any]]rD�_ColumnExpressionArgument[_T]rgrr�zNamedColumn[_T])rfzgUnion[Type[roles.ExpressionElementRole[Any]], Type[roles.LimitOffsetRole], Type[roles.WhereHavingRole]]rDr�rgrr�zColumnElement[_T])rfz�Union[Type[roles.ExpressionElementRole[Any]], Type[roles.LimitOffsetRole], Type[roles.WhereHavingRole], Type[roles.OnClauseRole], Type[roles.ColumnArgumentRole]]rDrrgrr�zColumnElement[Any])rfzType[roles.DMLTableRole]rDr(rgrr�r*)rfzType[roles.HasCTERole]rDr6rgrr�r6)rfzType[roles.SelectStatementRole]rDr7rgrr�r7)rf�Type[roles.FromClauseRole]rDr)rgrr�r5)
rfr�rDr7rzr�rgrr�r8)rfzType[roles.ColumnsClauseRole]rDz_ColumnsClauseArgument[Any]rgrr�r3)rfzType[roles.JoinTargetRole]rDr4rgrr�r4)rf�	Type[_SR]rDrrgrr�r)rfr�rDrrzOptional[ClauseElement]r�r�r�r�r�r�rgrr�r)rfr�rDrrgrr�rJ)rfr�r�zIterable[_DDLColumnArgument]r�zwIterator[Tuple[Union[str, Column[Any]], Optional[ColumnClause[Any]], Optional[str], Optional[Union[Column[Any], str]]]])rDrr�r�r�zType[exc.SQLAlchemyError]r�r�r�r�r�r)��
__future__r�collections.abc�abcrIrr�r�rrrrrr	r
rrr
rrrrrrr�rr�_typingr�baserr�	cache_keyrrrrr�util.typingr r!r"r#r$r%r&r'r(r)�dmlr*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9�SQLRoler:r<�
StringRoler=r>rFrKrVrarhr�r�r�r�r�r�r�r]r�r�r�rrrr$r(r4r=rUrZr^rbrfrh�ByOfRolerkrortryr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��dirr�r��cls�endswith�replace�globalsr�r��ee_impl�intr�rJ�float�py_typerdrGrE�<module>r�sH	��#�)��	�
�������������� �����#�"��"�����!�	�������2�/�+�*�,�%�'�'�&�'�%�+�$��1�/�&�"�&�$�/�
�e�5�=�=�)���T��#�s�(�+�,���~�U�-=�-=�>���T����	5�#�L
��
�!�
�.1�
��
� &��&��&�6�&��	&�$
��
(��
����	�	�
��
�
 �	�
#��
��
�	�
��	�
�
��
��
&��
�����	�
��
�"�
+�"�
�"��"��	"�
�"�
�"�
-�"�
�"��"��	"�
�"�
�0�
)�0�
�0��0�+�	0�
�0�
��
0��
*�����	�
��
����+�
�����
��
�
��
��
��
��
�
�
�
��
"��
�����	�
��
��
 ��
�����	�
��
��
)��
�����	�
��
��
$��
 �����	�
��
�
(+�	�
$��
��%�	�
���
�
��
� �
'� �
(� �� ��	 �
� �
��
$��
 �����	�
��
��
��
����	�	�
��6:�!��$�q
�
�q
�
�q
�3�	q
�
�q
��
q
��q
��q
�	�q
�h4�
#�4�.1�4�9<�4��4�5�
-�5�-�5��5�<49�49�n*�*�!�!�
��
�J�x�J�<"�),�):�):��#��
��
��'���	�

���
�$	7�h�	7�3�h�3�<�x��<&�x�&�R�h��&�8��&(
�,�h�(
�V�-�x��4S�H�S�l�#�X��&3�o�'7��3�,�/�8�,���(���/���.�?�H�.�:�� 0�(�E�N�N�:�
�(�H�
�
�(�H�
� �%�x��7�H�7�6��h�6�:
,��_�h�
,��k�+<�h���3���h��6E�1�E�,&
�(�/�8�&
�R�h��'�O�X�'�T
A�/�8�
A� ������$A�X�$A�N"�%���"�JA�>�A�28�3�8��#�_�h��A�O�X�A�,
�/�8�
�*��
��J�D�
�%��
�C��}�}�V���|�|�F�F�+���7�9��"�7�9�T�?�3�'�D� $�L���

���5�6�6�7�G���s�E�*��=D��U�0�0��9�:�+�rG

ZeroDay Forums Mini