o
    i                     @   s  d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ G dd dZG dd deZ G dd deZ!G d	d
 d
eZ"G dd deZ#G dd deZ$G dd deZ%G dd deZ&G dd deZ'G dd deZ(G dd deZ)G dd deZ*G dd deZ+G dd deZ,G dd  d eZ-G d!d" d"eZ.G d#d$ d$eZ/G d%d& d&eZ0G d'd( d(eZ1G d)d* d*eZ2G d+d, d,eZ3G d-d. d.eZ4G d/d0 d0eZ5G d1d2 d2eZ6G d3d4 d4eZ7G d5d6 d6eZ8G d7d8 d8eZ9G d9d: d:eZ:G d;d< d<eZ;G d=d> d>eZ<G d?d@ d@eZ=G dAdB dBeZ>G dCdD dDeZ?g dEZ@dFS )G    )Any)BIGINTBITBLOBBOOLEANDATEDOUBLEFLOATHUGEINTINTEGERINTERVALSMALLINTSQLNULLTIMETIME_TZ	TIMESTAMPTIMESTAMP_MSTIMESTAMP_NSTIMESTAMP_STIMESTAMP_TZTINYINTUBIGINTUHUGEINTUINTEGER	USMALLINTUTINYINTUUIDVARCHARDuckDBPyTypec                   @   s0   e Zd ZdededdfddZdefddZdS )	ValueobjecttypereturnNc                 C   s   || _ || _d S N)r    r!   )selfr    r!    r%   R/home/ubuntu/.local/lib/python3.10/site-packages/duckdb/value/constant/__init__.py__init__%   s   
zValue.__init__c                 C   s
   t | jS r#   )strr    r$   r%   r%   r&   __repr__)   s   
zValue.__repr__)__name__
__module____qualname__r   r   r'   r(   r*   r%   r%   r%   r&   r   $   s    r   c                       s   e Zd Zd fddZ  ZS )	NullValuer"   Nc                    s   t  d t d S r#   )superr'   r   r)   	__class__r%   r&   r'   1      zNullValue.__init__)r"   N)r+   r,   r-   r'   __classcell__r%   r%   r0   r&   r.   0   s    r.   c                       &   e Zd Zdeddf fddZ  ZS )BooleanValuer    r"   Nc                       t  |t d S r#   )r/   r'   r   r$   r    r0   r%   r&   r'   6   r2   zBooleanValue.__init__r+   r,   r-   r   r'   r3   r%   r%   r0   r&   r5   5       r5   c                       r4   )UnsignedBinaryValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'   >   r2   zUnsignedBinaryValue.__init__r8   r%   r%   r0   r&   r:   =   r9   r:   c                       r4   )UnsignedShortValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'   C   r2   zUnsignedShortValue.__init__r8   r%   r%   r0   r&   r;   B   r9   r;   c                       r4   )UnsignedIntegerValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'   H   r2   zUnsignedIntegerValue.__init__r8   r%   r%   r0   r&   r<   G   r9   r<   c                       r4   )UnsignedLongValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'   M   r2   zUnsignedLongValue.__init__r8   r%   r%   r0   r&   r=   L   r9   r=   c                       r4   )BinaryValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'   U   r2   zBinaryValue.__init__r8   r%   r%   r0   r&   r>   T   r9   r>   c                       r4   )
ShortValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'   Z   r2   zShortValue.__init__r8   r%   r%   r0   r&   r?   Y   r9   r?   c                       r4   )IntegerValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'   _   r2   zIntegerValue.__init__r8   r%   r%   r0   r&   r@   ^   r9   r@   c                       r4   )	LongValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'   d   r2   zLongValue.__init__r8   r%   r%   r0   r&   rA   c   r9   rA   c                       r4   )HugeIntegerValuer    r"   Nc                    r6   r#   )r/   r'   r
   r7   r0   r%   r&   r'   i   r2   zHugeIntegerValue.__init__r8   r%   r%   r0   r&   rB   h   r9   rB   c                       r4   )UnsignedHugeIntegerValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'   n   r2   z!UnsignedHugeIntegerValue.__init__r8   r%   r%   r0   r&   rC   m   r9   rC   c                       r4   )
FloatValuer    r"   Nc                    r6   r#   )r/   r'   r	   r7   r0   r%   r&   r'   v   r2   zFloatValue.__init__r8   r%   r%   r0   r&   rD   u   r9   rD   c                       r4   )DoubleValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'   {   r2   zDoubleValue.__init__r8   r%   r%   r0   r&   rE   z   r9   rE   c                       .   e Zd Zdedededdf fddZ  ZS )DecimalValuer    widthscaler"   Nc                    &   dd l }|||}t || d S Nr   )duckdbdecimal_typer/   r'   )r$   r    rH   rI   rL   rM   r0   r%   r&   r'         zDecimalValue.__init__)r+   r,   r-   r   intr'   r3   r%   r%   r0   r&   rG          &rG   c                       r4   )StringValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   zStringValue.__init__r8   r%   r%   r0   r&   rQ      r9   rQ   c                       r4   )	UUIDValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   zUUIDValue.__init__r8   r%   r%   r0   r&   rR      r9   rR   c                       r4   )BitValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   zBitValue.__init__r8   r%   r%   r0   r&   rS      r9   rS   c                       r4   )	BlobValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   zBlobValue.__init__r8   r%   r%   r0   r&   rT      r9   rT   c                       r4   )	DateValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   zDateValue.__init__r8   r%   r%   r0   r&   rU      r9   rU   c                       r4   )IntervalValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   zIntervalValue.__init__r8   r%   r%   r0   r&   rV      r9   rV   c                       r4   )TimestampValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   zTimestampValue.__init__r8   r%   r%   r0   r&   rW      r9   rW   c                       r4   )TimestampSecondValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   zTimestampSecondValue.__init__r8   r%   r%   r0   r&   rX      r9   rX   c                       r4   )TimestampMillisecondValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   z"TimestampMillisecondValue.__init__r8   r%   r%   r0   r&   rY      r9   rY   c                       r4   )TimestampNanosecondValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   z!TimestampNanosecondValue.__init__r8   r%   r%   r0   r&   rZ      r9   rZ   c                       r4   )TimestampTimeZoneValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   zTimestampTimeZoneValue.__init__r8   r%   r%   r0   r&   r[      r9   r[   c                       r4   )	TimeValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   zTimeValue.__init__r8   r%   r%   r0   r&   r\      r9   r\   c                       r4   )TimeTimeZoneValuer    r"   Nc                    r6   r#   )r/   r'   r   r7   r0   r%   r&   r'      r2   zTimeTimeZoneValue.__init__r8   r%   r%   r0   r&   r]      r9   r]   c                       s*   e Zd Zdededdf fddZ  ZS )	ListValuer    
child_typer"   Nc                    $   dd l }||}t || d S rK   )rL   	list_typer/   r'   )r$   r    r_   rL   ra   r0   r%   r&   r'         
zListValue.__init__r+   r,   r-   r   r   r'   r3   r%   r%   r0   r&   r^      s    "r^   c                       2   e Zd Zdedeeef ddf fddZ  ZS )StructValuer    childrenr"   Nc                    r`   rK   )rL   struct_typer/   r'   )r$   r    rf   rL   rg   r0   r%   r&   r'      rb   zStructValue.__init__	r+   r,   r-   r   dictr(   r   r'   r3   r%   r%   r0   r&   re          *re   c                       rF   )MapValuer    key_type
value_typer"   Nc                    rJ   rK   )rL   map_typer/   r'   )r$   r    rl   rm   rL   rn   r0   r%   r&   r'      rN   zMapValue.__init__rc   r%   r%   r0   r&   rk      rP   rk   c                       rd   )	UnionTyper    membersr"   Nc                    r`   rK   )rL   
union_typer/   r'   )r$   r    rp   rL   rq   r0   r%   r&   r'      rb   zUnionType.__init__rh   r%   r%   r0   r&   ro      rj   ro   )r>   rS   rT   r5   rU   rG   rE   rD   rB   r@   rV   rA   r.   r?   rQ   r]   r\   rY   rZ   rX   r[   rW   rR   r:   rC   r<   r=   r;   r   N)Atypingr   duckdb.sqltypesr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r.   r5   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rG   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   re   rk   ro   __all__r%   r%   r%   r&   <module>   sH   x 
