XylotrechusZ
�
Ȓ�g�. � � � d Z ddlmZ ddlmZ ddlmZ ddlZddlZddlm Z ddlm
Z
ddlmZ ddlmZ dd lm
Z
dd
lmZ ddlmZ ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ esesddlmZ nddl mZ erddl!m"Z" ddl!m#Z# ddl!m$Z$ ede �� Z% edee d f �� Z& G d!� d"eee ee& � Z'eZ(e'Z) G d#� d$e� Z* G d%� d&e*ejV d' ejX e � Z- G d(� d)e*ej\ d'e f � Z/ G d*� d+eej d'e f � Z0y),z.Define row constructs including :class:`.Row`.� )�annotations)�ABCN)�Any)�Callable)�Dict)�Generic)�Iterator)�List)�Mapping)�NoReturn)�Optional)�overload)�Sequence)�Tuple)�
TYPE_CHECKING)�TypeVar)�Union� )�util)�
deprecated)�HAS_CYEXTENSION� )�BaseRow)�_KeyType)�_ProcessorsType)� RMKeyView�_T)�bound�_TP.c � � e Zd ZdZdZd d�Zd!d�Zd"d�Z edd� d"d�� Z e
d"d �� Ze
edd
� d"d�� � Ze
d#d�� Z
d$d
�Zesd%d�Z ed� Z ed� Zd&d�Zd'd�Zej, Zered(d�� Zed)d�� Zd*d�Zd+d�Zd+d�Zd+d�Zd+d�Zd+d�Zd+d�Zd,d�Ze
d-d�� Z d.d�Z!y)/�Rowa Represent a single result row.
The :class:`.Row` object represents a row of a database result. It is
typically associated in the 1.x series of SQLAlchemy with the
:class:`_engine.CursorResult` object, however is also used by the ORM for
tuple-like results as of SQLAlchemy 1.4.
The :class:`.Row` object seeks to act as much like a Python named
tuple as possible. For mapping (i.e. dictionary) behavior on a row,
such as testing for containment of keys, refer to the :attr:`.Row._mapping`
attribute.
.. seealso::
:ref:`tutorial_selecting_data` - includes examples of selecting
rows from SELECT statements.
.. versionchanged:: 1.4
Renamed ``RowProxy`` to :class:`.Row`. :class:`.Row` is no longer a
"proxy" object in that it contains the final form of data within it,
and now acts mostly like a named tuple. Mapping-like functionality is
moved to the :attr:`.Row._mapping` attribute. See
:ref:`change_4710_core` for background on this change.
� c � � t d� �)Nzcan't set attribute��AttributeError)�self�name�values �F/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/engine/row.py�__setattr__zRow.__setattr__P s � ��2�3�3� c � � t d� �)Nzcan't delete attributer$ )r&