
    Lpj                    R   S SK Jr  S SKJrJr  S SKJrJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJr  \(       a  S SKJr  S S	KJr   S S
Kr\R2                  " 5       r\" \R7                  S5      5      r " S S\	\R:                     5      rSS jrS/r g
! \ a  rSr\" \5      \eS
rCff = f)    )annotations)TYPE_CHECKINGLiteral)DeferredTimeZonenarwhals_to_native_dtype)	LazyFrame)Schema)from_native)Version)CompliantLazyFrameAny)
IntoSchemaNzY`narwhals.sql` requires DuckDB to be installed.

Hint: run `pip install -U narwhals[sql]`z;select value from duckdb_settings() where name = 'TimeZone'c                  N   ^  \ rS rSrSr      SU 4S jjrSS.S	S jjrSrU =r$ )
SQLTable   z/A LazyFrame with an additional `to_sql` method.c                    > [         TU ]  XS9  g )Nlevel)super__init__)selfdfr   	__class__s      H/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/narwhals/sql.pyr   SQLTable.__init__!   s     	)    F)prettyc                   U R                  5       R                  5       nU(       d  U$  SSKnUR                  USSS9$ ! [         a  nSn[	        U5      UeSnAff = f)a  Convert to SQL query.

Arguments:
    pretty: Whether to pretty-print SQL query. If `True`, requires `sqlparse`
        to be installed.

Examples:
    >>> import narwhals as nw
    >>> from narwhals.sql import table
    >>> schema = {"date": nw.Date, "price": nw.Int64, "symbol": nw.String}
    >>> assets = table("assets", schema)
    >>> result = assets.filter(nw.col("price") > 100)
    >>> print(result.to_sql())
    SELECT * FROM main.assets WHERE (price > 100)
r   Nzr`SQLTable.to_sql` with `pretty=True`requires `sqlparse` to be installed.

Hint: run `pip install -U narwhals[sql]`Tupper)reindentkeyword_case)	to_native	sql_querysqlparseImportErrorModuleNotFoundErrorformat)r   r   r"   r#   _excmsgs         r   to_sqlSQLTable.to_sql&   sl      NN$..0		5 y4gNN  	5; 
 &c*4	5s   > 
AAA )r   r   r   z&Literal['full', 'interchange', 'lazy']returnNone)r   boolr,   str)	__name__
__module____qualname____firstlineno____doc__r   r)   __static_attributes____classcell__)r   s   @r   r   r      s4    9*'*0V*	*
 (- O Or   r   c           
        [        U5      R                  5        VVs0 s H%  u  p#U[        U[        R                  [
        5      _M'     nnnSR                  S UR                  5        5       5      n[        R                  SU  SU S35        [        [        R                  U 5      5      n[        UR                  UR                  S9$ s  snnf )u  Generate standalone LazyFrame which you can use to generate SQL.

Note that this requires DuckDB to be installed.

Parameters:
    name: Table name.
    schema: Table schema.

Examples:
    >>> import narwhals as nw
    >>> from narwhals.sql import table
    >>> schema = {"date": nw.Date, "price": nw.List(nw.Int64), "symbol": nw.String}
    >>> table("t", schema)
    ┌────────────────────────────┐
    |     Narwhals LazyFrame     |
    |----------------------------|
    |┌──────┬─────────┬─────────┐|
    |│ date │  price  │ symbol  │|
    |│ date │ int64[] │ varchar │|
    |└──────┴─────────┴─────────┘|
    |           0 rows           |
    └────────────────────────────┘
z, c              3  6   #    U  H  u  pS U SU 3v   M     g7f)"z" Nr+   ).0coldtypes      r   	<genexpr>table.<locals>.<genexpr>a   s!     S<Rjc3%r%)<Rs   z
        CREATE TABLE "z"
        (z);
        r   )r	   itemsr   r   MAINTZjoinCONNsqlr
   tabler   _compliant_frame_level)nameschemar;   r<   column_mappingdtypeslfs          r   rE   rE   E   s    4 !...00JC 	%eW\\2>>0   YYSN<P<P<RSSFHH f 

 	  
TZZ%	&BB''ryy99s   ,C
rE   )rH   r/   rI   r   r,   r   )!
__future__r   typingr   r   narwhals._duckdb.utilsr   r   narwhals.dataframer   narwhals.schemar	   narwhals.translater
   narwhals.utilsr   narwhals._compliant.typingr   narwhals.typingr   duckdbr$   r'   r(   r%   connectrC   rD   rA   DuckDBPyRelationr   rE   __all__r+   r   r   <module>rZ      s    " ) M ( " * "@*- ~~HHJK
$Oy001 $ON":J )s  -	3  c
",-s   B B&B!!B&