�
���h�� � �� � d Z ddlmZ ddlmZmZ ddlmZmZ ddl m
Z
m Z mZ ddlm
Z
ddlZddlmZmZmZmZmZmZ ddlZddlZdd lmZ dd
lmZ ddlmZ ddlm Z m!Z! dd
l"m#Z# ddl$m%Z% ddl&m'Z'm(Z(m)Z)m*Z* ddl+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2m3Z3 ddl4m5Z5 ddl6m7Z7 ddl8m9Z9 ddl:m;c m<Z= ddl:m>Z> ddl?m@Z@ ddlAmBZB ddlCmDZD er*ddlEmFZFmGZG ddlHmIZI ddlJmKZKmLZL ddlMmNZNmOZOmPZPmQZQmRZR ddl/mSZS d � ZT d�d�d&�ZUd'� ZV d�d�d/�ZW d�d�d2�ZXdddd)d3�d�d5�ZYd�d6�ZZe d�d�dC�� � Z[e d�d�dF�� � Z[ddd(dddej\ fd�dK�Z[e d�d�dN�� � Z]e d�d�dO�� � Z]dd(ddddej\ fd�dP�Z]e d�d�dR�� � Z^e d�d�dS�� � Z^dd(ddddej\ dfd�dT�Z^ d�d�d`�Z_d�d�da�Z`e`Za d�d�dd�Zb G de� dfe9� � Zc G dg� dce9e� � Zd G dh� di� � Ze G dj� dkee� � Zfd�dl�Zg G dm� dned� � Zh G do� dped� � Zidqdrdsdtdudvdsdw�Zjd�dy�Zkd�dz�Zl G d{� d|ec� � Zm G d}� d~ed� � Zn d�d�d�ZodS )�z|
Collection of query wrappers / abstractions to both facilitate data
retrieval and to reduce dependency on DB-specific API.
� )�annotations)�ABC�abstractmethod)� ExitStack�contextmanager)�date�datetime�time)�partialN)�
TYPE_CHECKING�Any�Callable�Literal�cast�overload)�using_string_dtype)�lib��import_optional_dependency)�AbstractMethodError�
DatabaseError)�find_stack_level)�check_dtype_backend)�is_dict_like�is_list_like�is_object_dtype�is_string_dtype)�DatetimeTZDtype)�isna)�
get_option)� DataFrame�Series)�ArrowExtensionArray)�StringDtype)�PandasObject)�maybe_make_list)�convert_object_array)�to_datetime)�arrow_table_to_pandas)�Iterator�Mapping)�Table)�Select�
TextClause)�DateTimeErrorChoices�DtypeArg�DtypeBackend�
IndexLabel�Self)�Indexc �F � | du s| �| du rg } nt | d� � s| g} | S )z3Process parse_dates argument for read_sql functionsTNF�__iter__)�hasattr)�parse_datess �D/opt/cloudlinux/venv/lib64/python3.11/site-packages/pandas/io/sql.py�_process_parse_dates_argumentr: ` sD � � �d���k�1�[�E�5I�5I����
�[�*�
-�
-� $�"�m���� F�utc�bool�format�str | dict[str, Any] | Nonec � � t |t � � rT|� dd � � pd}|dk r' t | fi |��S # t t
f$ r | cY S w xY wt | fd|i|��S |�Jt
| j j t j
� � s$t
| j j t j � � rd}|dv rt | d||�� � S t | j t � � rt | d�� � S t | d||� � � S )
N�errors�ignore�s)�D�d�h�mrC �ms�us�ns�coerce)rA �unitr< |