File: //opt/alt/python37/lib64/python3.7/site-packages/sqlalchemy/sql/__pycache__/dml.cpython-37.pyc
B
��4]t� � @ s d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z dd lm
Z
dd
lmZ ddlmZ ddl
mZ dd
l
mZ ddl
mZ ddl
mZ ddlmZ ddlmZ G dd� deeeee�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZdS )zC
Provide :class:`.Insert`, :class:`.Update` and :class:`.Delete`.
� )�
_from_objects)�_generative)�
DialectKWArgs)�
Executable)�_clone)�_column_as_key)�_literal_as_text)�and_)�
ClauseElement)�Null)�_interpret_as_from)�_interpret_as_select)�HasCTE)�HasPrefixes� )�exc)�utilc @ s| e Zd ZdZdZej�ddi�Ze� � Z
dZdZdZ
dd � Zd
d� Zdd
� Zdd� Zeee�Zedd� �Zeddd��ZdS )�
UpdateBasezJForm the base for ``INSERT``, ``UPDATE``, and ``DELETE`` statements.
Zupdate_baseZ
autocommitTN� Fc s� �fdd�� �j rZ|d k rZt|t�r6|r>t|d t�s>td��dd� |D ��_t|�dfS t|ttf�r�|r�t|d tttf�r��js�t� d��� fd d�|D �d
fS � |�dfS d S )Nc s2 t | ttf�r*tdd� t� jj| �D ��S | S d S )Nc s s | ]\}}|j |fV qd S )N)�key)�.0�cZpvalr r �E/opt/alt/python37/lib64/python3.7/site-packages/sqlalchemy/sql/dml.py� <genexpr>2 s zHUpdateBase._process_colparams.<locals>.process_single.<locals>.<genexpr>)�
isinstance�list�tuple�dict�zip�tabler )�p)�selfr r �process_single0 s z5UpdateBase._process_colparams.<locals>.process_single� zOWhen preserve_parameter_order is True, values() only accepts a list of 2-tuplesc S s g | ]\}}|�qS r r )r r �valuer r r �
<listcomp>>