관리-도구
편집 파일: crud.cpython-37.pyc
B ��4]�d � @ s" d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ e�d d �Ze�d�Z e�d�Z e�d �Zdd� Zdd� Z d:dd�Zdd� Zdd� Zdd� Zdd� Zdd� Zd;d d!�Zd<d"d#�ZG d$d%� d%ej�Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zd4d5� Zd6d7� Z d8d9� Z!dS )=ziFunctions used by compiler.py to determine the parameters rendered within INSERT and UPDATE statements. � N� )�dml)�elements� )�exc)�util�REQUIREDa1 Placeholder for the value within a :class:`.BindParameter` which is required to be present when the statement is passed to :meth:`.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 K s� | j }| j}| j}|p*|p*|p*t| j�dk}|tkrBd| _d| _ n6|tkrXd| _d| _ n |tkrl|sxd| _ndsxtd��z|ttfkr�t | |f|�S W d |r�|| _ || _|| _X d S )Nr FTz(ISINSERT, ISUPDATE, or ISDELETE expected) �isinsert�isupdateZisdelete�len�stackr r r �AssertionError�_get_crud_params)�compiler�stmtZlocal_stmt_type�kwZrestore_isinsertZrestore_isupdateZrestore_isdeleteZshould_restore� r �F/opt/alt/python37/lib64/python3.7/site-packages/sqlalchemy/sql/crud.py�_setup_crud_params'