Viewing File: /opt/hc_python/lib/python3.12/site-packages/sqlalchemy/orm/__pycache__/decl_api.cpython-312.pyc
�
a��g� � �� � d Z ddlmZ ddlZddlZddlZddlmZ ddlmZ ddlmZ ddlm Z ddlm
Z
dd lmZ dd
lmZ ddlm
Z
ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlm!Z! ddlm"Z" ddlm#Z# dd lm$Z$ dd!l%m&Z& dd"l%m'Z' dd#l%m(Z( dd$l%m)Z) dd%l*m+Z+ dd&l*m,Z, dd'l*m-Z- dd(l*m.Z. dd)l*m/Z/ dd*l*m0Z0 dd+l*m1Z1 dd,l2m3Z3 dd-l2m4Z4 dd-l2m4Z5 dd.l6m7Z7 dd/l8m9Z9 dd0l:m;Z; dd1l<m=Z= d2d3lm>Z> d2d4lm?Z? d2d5lm@Z@ d2d6lAmBZB d2d7lCmDZD d2d8lEmFZF d2d9lGmHZH d2d:lImJZJ d2d;l@mKZK d2d<l@mLZL d2d=l@mZM d2d>l@mNZN d2d?lOmPZP d2d@lOmQZQ d2dAlOmRZR d2dBlOmSZS d2dClOmTZT d2dDlOmUZU d2dElOmVZV d2dFlOmWZW d2dGlOmXZX d2dHlOmYZY er0ddIlZm[Z[ ddJlZm\Z\ ddKl*m]Z] ddLlm^Z^ ddMlm_Z_ dd1l<m=Z= d2dNl`maZa d2dOlbmcZc edPe�Q� Zd edRe�Q� ZeeedSf Zfe edSf ZgedTee(ed e)ed eFed f f ZhdzdU�Zi G dV� dWej� Zk G dX� dYeke?j� e7e � Zm eMj� e9e;e3e4e!e"ee#e f �Z� G d[� d\em� � Zo G d]� d^em� Zp d{ d|d_�Zq G d`� da� Zr G db� dcereed � Zs G dd� deej� ed er� Zu G df� dgeued � Zvd}dh�Zwd~di�Zx G dj� dkeo�l� Zy G dm� dne?j� e=e em�l� Zzddo�Z{ G dp� dqe?j� e=e � Z| d�dr�Z}dde~dsdde.epdt� d�du�Z G dv� dw� Z�e�Z�ese�Z\d�dx�Z� e?�j epezem� d�dy�� Z�y)�z1Public API functions and helpers for declarative.� )�annotationsN)�Any)�Callable)�ClassVar)�Dict)� FrozenSet)�Generic)�Iterable)�Iterator)�Mapping)�Optional)�overload)�Set)�Tuple)�Type)�
TYPE_CHECKING)�TypeVar)�Union� )�
attributes)�clsregistry)�instrumentation)�
interfaces)� mapperlib)� composite)�deferred)�
mapped_column)�relationship)�synonym)�InstrumentedAttribute)�_inspect_mapped_class)�_is_mapped_class)�Mapped)�
ORMDescriptor��_add_attribute)�_as_declarative)�_ClassScanMapperConfig)�_declarative_constructor)�_DeferredMapperConfig)�_del_attribute��_mapper)� Composite)�Synonym)�Mapper)�MappedColumn)�RelationshipProperty)�
InstanceState� )�exc)�
inspection)�util)�sqltypes)�_NoArg)�SQLCoreOperations)�MetaData)�
FromClause)�hybridmethod)�hybridproperty)�typing)�warn_deprecated)�CallableReference)�de_optionalize_union_types)�flatten_newtype)�
is_generic)�
is_literal)�
is_newtype)� is_pep695)�Literal)�
LITERAL_TYPES)�Self)�_O)�
_RegistryType)�_DataclassArguments)�ClassManager)�MapperProperty)�_TypeEngineArgument)�_MatchedOnType�_T)�bound�_TTz_TypeEngineArgument[Any].c �J � | j dd D ] }t |dd� �� y y)aK Given a class, return True if any of the classes it inherits from has a
mapped table, otherwise return False.
This is used in declarative mixins to build attributes that behave
differently for the base class vs. a subclass in an inheritance
hierarchy.
.. seealso::
:ref:`decl_mixin_inheritance`
r N� __table__TF)�__mro__�getattr)�cls�class_s �H/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/orm/decl_api.py�has_inherited_tabler\ n s/ � � �+�+�a�b�/���6�;��-�9�� "� � c � � e Zd Zdd�Zdd�Zy)�_DynamicAttributesTypec �j � d| j v rt | ||� y t j | ||� y �N�
__mapper__)�__dict__r&