o
    i                     @   s  d dl mZmZmZmZ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 )    )
AnyDictMappingOptionalSequenceType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,   b/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/sqlmodel/ext/asyncio/session.pyexec&      
zAsyncSession.execc                   r*   r+   r,   r-   r,   r,   r/   r0   2   r1   c                   r*   r+   r,   r-   r,   r,   r/   r0   >   r1   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!   r0   r   r
   r   r   )	r.   r(   r#   r$   r%   r&   r'   resultresult_valuer,   r,   r/   r0   J   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 )r6   r"   N)superexecuter-   	__class__r,   r/   r8   p   s   0zAsyncSession.executer+   )!__name__
__module____qualname__r   r    r   __annotations__r   r   
EMPTY_DICTr   r   r   r	   r   strr   r   r   r   r0   r   r   r   r   r   r   _Executabler   r   r   r8   __classcell__r,   r,   r9   r/   r   "   s   
 "
	"
	"
	"	


&	r   N).typingr   r   r   r   r   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$   0 