o
    mmi                     @   s   d dl mZmZ d dlmZmZmZmZmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlm Z  d dl!mZ d dl"m#Z#m$Z$ d dl%m&Z& ededZ'G dd deZdS )    )MappingSequence)AnyOptionalTypeVarUnionoverload)util)CursorResult)_CoreAnyExecuteParams)ResultScalarResultTupleResult)Query)Session)OrmExecuteOptionsParameter)_ColumnsClauseArgument)
Executable)
UpdateBase)SelectSelectOfScalar)
deprecated_TSelectParam)boundc                       s  e Zd Zedejdddddee dee	e
eef ee
eef  f  de
eef deeeef  dee dee d	ee fd
dZedejdddddee dee	e
eef ee
eef  f  de
eef deeeef  dee dee d	ee fddZedejdddddedee	e
eef ee
eef  f  de
eef deeeef  dee dee d	ee fddZdejddddde	ee ee ee ef dee	e
eef ee
eef  f  de
eef deeeef  dee dee d	e	ee ee ee f f fddZeddd	dejdddddedee dedeeeef  dee dee d	ee f fddZeddee ded	ee f fddZ  ZS )r   Nparamsexecution_optionsbind_arguments_parent_execute_state
_add_event	statementr   r   r   r   r   returnc                C      d S N selfr    r   r   r   r   r   r$   r$   k/var/www/html/Resume-Parser/resume-parser-inhouse/venv/lib/python3.10/site-packages/sqlmodel/orm/session.pyexec      
zSession.execc                C   r"   r#   r$   r%   r$   r$   r'   r(   (   r)   c                C   r"   r#   r$   r%   r$   r$   r'   r(   4   r)   c                   s.   t  j||||||d}t|tr| S |S )Nr   )superexecute
isinstancer   scalars)r&   r    r   r   r   r   r   results	__class__r$   r'   r(   @   s   
  
        🚨 You probably want to use `session.exec()` instead of `session.execute()`.

        This is the original SQLAlchemy `session.execute()` method that returns objects
        of type `Row`, and that you have to call `scalars()` to get the model objects.

        For example:

        ```Python
        heroes = session.execute(select(Hero)).scalars().all()
        ```

        instead you could use `exec()`:

        ```Python
        heroes = session.exec(select(Hero)).all()
        ```
        )category)r   r   r   r   c                   s   t  j||||||dS )r1   r   )r*   r+   r%   r/   r$   r'   r+   ]   s   1zSession.execute'  
        🚨 You probably want to use `session.exec()` instead of `session.query()`.

        `session.exec()` is SQLModel's own short version with increased type
        annotations.

        Or otherwise you might want to use `session.execute()` instead of
        `session.query()`.
        entitieskwargsc                    s   t  j|i |S )r3   )r*   query)r&   r4   r5   r/   r$   r'   r6      s   zSession.queryr#   ) __name__
__module____qualname__r   r	   
EMPTY_DICTr   r   r   r   r   strr   r   dictr   r(   r   r   r   r
   r   r   _Executabler   r   r   r+   r   _Queryr6   __classcell__r$   r$   r/   r'   r      s    "
	"
	"
	"	

	%r   N)(collections.abcr   r   typingr   r   r   r   r   
sqlalchemyr	   sqlalchemy.engine.cursorr
   sqlalchemy.engine.interfacesr   sqlalchemy.engine.resultr   r   r   sqlalchemy.ormr   r>   r   _Sessionsqlalchemy.orm._typingr   sqlalchemy.sql._typingr   sqlalchemy.sql.baser   r=   sqlalchemy.sql.dmlr   sqlmodel.sql.basesqlmodel.sql.expressionr   r   typing_extensionsr   r   r$   r$   r$   r'   <module>   s"    