Sindbad~EG File Manager
�
MٜgH� � �� � 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( ddl)m*Z*m+Z+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8c m9Z: ddl7m;Z; ddl<m=Z= ddl>m?Z? er*ddl@mAZAmBZB ddlCmDZD ddlEmFZFmGZG ddlHmIZImJZJmKZKmLZLmMZM ddl.mNZN d� ZO dO dPd�ZPd � ZQ dQ dRd#�ZR dS dTd$�ZSdddd"d%� dUd&�ZTdVd'�ZUe dW dXd(�� ZVe dW dYd)�� ZVddd!dddej� f dZd*�ZVe dW d[d+�� ZXe dW d\d,�� ZXdd!ddddej� f d]d-�ZXe d^ d_d.�� ZYe d^ d`d/�� ZYdd!ddddej� df dad0�ZY db dcd1�ZZdVddd2�Z[e[Z\ de dfd4�Z] G d5� d6e6� Z^ G d7� d3e6e� Z_ G d8� d9� Z` G d:� d;e`� Zadgd<�Zb G d=� d>e_� Zc G d?� d@e_� ZddAdBdCdDdEdFdCdG�ZedhdH�ZfdhdI�Zg G dJ� dKe^� Zh G dL� dMe_� Zi di djdN�Zjy)kz|
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_pyarrow_string_dtype)�lib��import_optional_dependency)�AbstractMethodError�
DatabaseError)�find_stack_level)�check_dtype_backend)�is_dict_like�is_list_like)�
ArrowDtype�DatetimeTZDtype)�isna)�
get_option)� DataFrame�Series)�ArrowExtensionArray)�PandasObject)�maybe_make_list)�convert_object_array)�to_datetime)�Iterator�Mapping)�Table)�Select�
TextClause)�DateTimeErrorChoices�DtypeArg�DtypeBackend�
IndexLabel�Self)�Indexc �@ � | du s| �| du rg } | S t | d� s| g} | S )z3Process parse_dates argument for read_sql functionsTF�__iter__)�hasattr)�parse_datess �8/usr/local/lib/python3.12/site-packages/pandas/io/sql.py�_process_parse_dates_argumentr7 ^ s>