o
    ?Di9                     @   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
   c                 C   s
   || _ d S N)r   )selfr    r   Z/var/www/Datamplify/venv/lib/python3.10/site-packages/duckdb/experimental/spark/sql/udf.py__init__   s   
zUDFRegistration.__init__Nnamef.r   
returnTypeDataTypeOrStringreturnc                 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   )__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    
