o
    mmi                     @   s  d dl mZmZ d dlmZ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% ddl&m'Z' ddl(mZ ddl)m*Z*m+Z+ ededZ,G dd deZdS )    )MappingSequence)AnyOptionalTypeVarUnioncastoverload)util)CursorResult)_CoreAnyExecuteParams)ResultScalarResultTupleResult)AsyncSession)_ensure_sync_result)_EXECUTE_OPTIONS)OrmExecuteOptionsParameter)
Executable)
UpdateBase)greenlet_spawn)
deprecated   )Session)SelectSelectOfScalar_TSelectParam)boundc                       s  e Zd ZU eZee ed< eed< 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ddZe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  Z S )r   sync_session_classsync_sessionNparamsexecution_optionsbind_arguments_parent_execute_state
_add_event	statementr!   r"   r#   r$   r%   returnc                      d S N selfr&   r!   r"   r#   r$   r%   r*   r*   s/var/www/html/Resume-Parser/resume-parser-inhouse/venv/lib/python3.10/site-packages/sqlmodel/ext/asyncio/session.pyexec#      
zAsyncSession.execc                   r(   r)   r*   r+   r*   r*   r-   r.   /   r/   c                   r(   r)   r*   r+   r*   r*   r-   r.   ;   r/   c          	   	      s\   |rt |t}nt}t| jj||||||dI d H }ttt	t
 || jI d H }|S )Nr    )r
   immutabledictunionr   r   r   r.   r   r   r   r   )	r,   r&   r!   r"   r#   r$   r%   resultresult_valuer*   r*   r-   r.   G   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 = await session.execute(select(Hero)).scalars().all()
        ```

        instead you could use `exec()`:

        ```Python
        heroes = await session.exec(select(Hero)).all()
        ```
        )r"   r#   r$   r%   c                   s    t  j||||||dI dH S )r4   r    N)superexecuter+   	__class__r*   r-   r6   m   s   0zAsyncSession.executer)   )!__name__
__module____qualname__r   r   type__annotations__r	   r
   
EMPTY_DICTr   r   r   r   r   strr   r   dictr   r.   r   r   r   r   r   r   _Executabler   r   r   r6   __classcell__r*   r*   r7   r-   r      s   
 "
	"
	"
	"	


&	r   N)-collections.abcr   r   typingr   r   r   r   r   r	   
sqlalchemyr
   sqlalchemy.engine.cursorr   sqlalchemy.engine.interfacesr   sqlalchemy.engine.resultr   r   r   sqlalchemy.ext.asyncior   _AsyncSessionsqlalchemy.ext.asyncio.resultr   sqlalchemy.ext.asyncio.sessionr   sqlalchemy.orm._typingr   sqlalchemy.sql.baser   rA   sqlalchemy.sql.dmlr   sqlalchemy.util.concurrencyr   typing_extensionsr   orm.sessionr   sql.basesql.expressionr   r   r   r*   r*   r*   r-   <module>   s&     	