Hacked By AnonymousFox
�
�܋f[f � �j � d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ej d d
� � Z ej d� � Z ej d� � Z
ej d
� � Zd� Zd� Z
d&d�Zd� Zd� Zd� Zd� Zd� Zd'd�Zd'd�Z G d� dej � � Zd� Zd� Zd� Zd� Zd � Zd!� Zd"� Zd#� Zd$� Z d%� Z!dS )(ziFunctions used by compiler.py to determine the parameters rendered
within INSERT and UPDATE statements.
� N� )�dml)�elements� )�exc)�util�REQUIREDa8
Placeholder for the value within a :class:`.BindParameter`
which is required to be present when the statement is passed
to :meth:`_engine.Connection.execute`.
This symbol is typically used when a :func:`_expression.insert`
or :func:`_expression.update` statement is compiled without parameter
values present.
�ISINSERT�ISUPDATE�ISDELETEc �� � | j }| j }| j }|p|p|pt | j � � dk pd|v }|t
u rd| _ d| _ n5|t u rd| _ d| _ n|t u r
|sd| _ n
J d� � � |t
t fv r&t | |fi |��|r|| _ || _ || _ S S |r|| _ || _ || _ d S d S # |r|| _ || _ || _ w xY w)Nr �visiting_cteFTz(ISINSERT, ISUPDATE, or ISDELETE expected) �isinsert�isupdate�isdelete�len�stackr
r r �_get_crud_params)�compiler�stmt�local_stmt_type�kw�restore_isinsert�restore_isupdate�restore_isdelete�should_restores �J/opt/cloudlinux/venv/lib64/python3.11/site-packages/sqlalchemy/sql/crud.py�_setup_crud_paramsr '