
    q-Ph                        d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	 d dl
mZ erd dlmZ d dlmZ d d	lmZ d"dZ	 	 	 	 	 d#d$dZ	 d%d&d Zd'd!ZdS )(    )annotationsN)TYPE_CHECKINGAny)parse_version)
from_arrow)import_optional)	Coroutine)	DataFrame)
SchemaDictcoCoroutine[Any, Any, Any]returnr   c                x    ddl }ddl}|j        j                                         |                    |           S )z/Run asynchronous code as if it was synchronous.r   N)asynciopolars._utils.nest_asyncio_utilsnest_asyncioapplyrun)r   r   polarss      Y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/polars/io/database/_utils.py
_run_asyncr      s>    NNN%%%%
M$$&&&;;r??    querystr | list[str]connection_uristrpartition_on
str | Nonepartition_rangetuple[int, int] | Nonepartition_num
int | Noneprotocolschema_overridesSchemaDict | Noner
   c           	     R   t          d          }	 t          |j                  dk     rdnd}|                    || |||||          }	nN# t          $ rA}
t          j        ddt          |
                    } t          |
          |          |
d }
~
ww xY wt          |	|          S )	N
connectorx)r         arrow2arrow)connr   return_typer   r    r"   r$   z://[^:]+:[^:]+@z://***:***@r%   )
r   r   __version__read_sqlBaseExceptionresubr   typer   )r   r   r   r    r"   r$   r%   cxr.   tblerrerrmsgs               r   _read_sql_connectorxr:      s     
	&	&B)"/"?"?)"K"KhhQXkk#%+'  
 
  ) ) ))=#c((CCd3iiS()
 c,<====s   8A
 

B<BBexecute_optionsdict[str, Any] | Nonec                   t          |          5 }|                                5 } |j        | fi |pi  |                                }d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t	          ||          S )Nr/   )_open_adbc_connectioncursorexecutefetch_arrow_tabler   )r   r   r%   r;   r-   r?   r7   s          r   _read_sql_adbcrB   8   s	    
~	.	. )$ )u88!6B888&&(() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) c,<====s4   A-%A
A-A	A-A	A--A14A1c                2   |                      dd          d                                         }ddi}|                    ||          }d| d}t          |dd	d
| d          }|dv rt	          j        d| dd|           } |                    |           S )N:   r   postgres
postgresqladbc_driver_z.dbapiADBCzdriver not detectedzDIf ADBC supports this database, please run: pip install adbc-driver-z pyarrow)
err_prefix
err_suffixinstall_message)sqlite	snowflake^z:/{,3} )splitlowergetr   r3   r4   connect)r   driver_namemodule_suffix_mapmodule_suffixmodule_nameadbc_drivers         r   r>   r>   D   s     &&sA..q17799K 	L) &))+{CCM6666K!(t_jttt	  K --- 9K 9 9 92~NN~...r   )r   r   r   r   )NNNNN)r   r   r   r   r   r   r    r!   r"   r#   r$   r   r%   r&   r   r
   )N)
r   r   r   r   r%   r&   r;   r<   r   r
   )r   r   r   r   )
__future__r   r3   typingr   r   polars._utils.variousr   polars.convertr   polars.dependenciesr   collections.abcr	   r   r
   polars._typingr   r   r:   rB   r>    r   r   <module>rb      s'   " " " " " " 				 % % % % % % % % / / / / / / % % % % % % / / / / / / *))))))      ))))))     $.2 $*.> > > > >B .2		> 	> 	> 	> 	>/ / / / / /r   