o
    'i                     @   sh   d dl mZmZmZmZmZmZ ddlmZ erddl	m
Z
 eeef ZedZG dd dZdgZdS )	    )TYPE_CHECKINGAnyCallableOptionalTypeVarUnion   )DataType)SparkSessionUserDefinedFunctionLikec                	   @   s   e Zd ZdddZ	ddedeed	ef d
f ded dd
fddZ		ddededed ddfddZ
dededdfddZdS )UDFRegistrationsparkSessionr
   returnNc                 C   s
   || _ d S N)r   )selfr    r   _/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/duckdb/experimental/spark/sql/udf.py__init__   s   
zUDFRegistration.__init__namef.r   
returnTypeDataTypeOrStringc                 C   s   | j jj|||d d S )N)return_type)r   conncreate_function)r   r   r   r   r   r   r   register   s   zUDFRegistration.registerjavaClassNamec                 C      t r   NotImplementedError)r   r   r   r   r   r   r   registerJavaFunction   s   z$UDFRegistration.registerJavaFunctionc                 C   r   r   r   )r   r   r   r   r   r   registerJavaUDAF!   s   z UDFRegistration.registerJavaUDAF)r   r
   r   Nr   )__name__
__module____qualname__r   strr   r   r   r   r   r    r!   r   r   r   r   r      s.    


r   N)typingr   r   r   r   r   r   typesr	   sessionr
   r%   r   r   r   __all__r   r   r   r   <module>   s    
