
    ˀhU                        d dl mZ d dlm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 e G d	 d
             Ze G d d             Ze G d d             Ze G d d             Zed   Zed   Zy)    )annotations)	dataclass)TYPE_CHECKINGLiteral)issue_unstable_warning)DuplicateError)Schema)datetime)DataTypec                  l    e Zd ZU dZded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   d
ed<   ded<   y)CatalogInfoz-Information for a catalog within a metastore.strname
str | Nonecommentdict[str, str]
propertiesoptionsstorage_locationdatetime | None
created_at
created_by
updated_at
updated_byN__name__
__module____qualname____doc____annotations__     w/var/www/html/wine-match-dev/backend/winematch-backend/venv/lib/python3.12/site-packages/polars/catalog/unity/models.pyr   r      s:    7
I  r"   r   c                  b    e Zd ZU dZded<   ded<   ded<   ded<   d	ed
<   ded<   d	ed<   ded<   y)NamespaceInfoz
    Information for a namespace within a catalog.

    This is also known by the name "schema" in unity catalog terminology.
    r   r   r   r   r   r   r   r   r   r   r   r   Nr   r!   r"   r#   r%   r%      s8     I  r"   r%   c                      e Zd ZU dZded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   ded<   ded<   ded<   ddZy)	TableInfoz Information for a catalog table.r   r   r   r   table_id	TableType
table_typer   zDataSourceFormat | Nonedata_source_formatzlist[ColumnInfo] | Nonecolumnsr   r   r   r   r   r   r   c                    t        d       | j                  yt               }| j                  D ]G  }|j                  |v rd|j                   }t	        |      |j                         ||j                  <   I |S )z
        Get the native polars schema of this table.

        .. warning::
            This functionality is considered **unstable**. It may be changed
            at any point without it being considered a breaking change.
        z9`get_polars_schema` functionality is considered unstable.Nzduplicate column name: )r   r,   r	   r   r   get_polars_dtype)selfschemacolumn_infomsgs       r#   get_polars_schemazTableInfo.get_polars_schemaB   s     	G	
 <<<< 	FK6)/0@0@/AB$S))'2'C'C'EF;##$		F r"   N)returnzSchema | None)r   r   r   r   r    r3   r!   r"   r#   r'   r'   1   sP    *
IM  //$$r"   r'   c                  `    e Zd ZU dZded<   ded<   ded<   ded<   ded<   d	ed
<   ded<   ddZy)
ColumnInfoz0Information for a column within a catalog table.r   r   	type_name	type_text	type_jsonz
int | Nonepositionr   r   partition_indexc                Z    t        d       ddlm} |j                  | j                        S )z
        Get the native polars datatype of this column.

        .. warning::
            This functionality is considered **unstable**. It may be changed
            at any point without it being considered a breaking change.
        z8`get_polars_dtype` functionality is considered unstable.r   )PyCatalogClient)r   polars.polarsr=   type_json_to_polars_typer9   )r/   r=   s     r#   r.   zColumnInfo.get_polars_dtypeg   s)     	F	
 	277GGr"   N)r4   r   )r   r   r   r   r    r.   r!   r"   r#   r6   r6   [   s1    :
INNNHr"   r6   )MANAGEDEXTERNALVIEWMATERIALIZED_VIEWSTREAMING_TABLEMANAGED_SHALLOW_CLONEFOREIGNEXTERNAL_SHALLOW_CLONE)DELTACSVJSONAVROPARQUETORCTEXTUNITY_CATALOGDELTASHARINGDATABRICKS_FORMATREDSHIFT_FORMATSNOWFLAKE_FORMATSQLDW_FORMATSALESFORCE_FORMATBIGQUERY_FORMATNETSUITE_FORMATWORKDAY_RAAS_FORMAT
HIVE_SERDEHIVE_CUSTOMVECTOR_INDEX_FORMATN)
__future__r   dataclassesr   typingr   r   polars._utils.unstabler   polars.exceptionsr   polars.schemar	   r
   polars.datatypes.classesr   r   r%   r'   r6   r)   DataSourceFormatr!   r"   r#   <module>rd      s    " ! ) 9 ,  !1      " & & &R H H H8 		  r"   