
    XIg9                     x    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      ZdgZy)	    )TYPE_CHECKINGAnyCallableOptionalTypeVarUnion   )DataType)SparkSessionUserDefinedFunctionLikec            	           e Zd ZddZ	 ddedeedef   df   ded   d	dfd
Z		 ddededed   d	dfdZ
deded	dfdZy)UDFRegistrationc                     || _         y N)sparkSession)selfr   s     ^/var/www/html/answerous/venv/lib/python3.12/site-packages/duckdb/experimental/spark/sql/udf.py__init__zUDFRegistration.__init__   s
    (    Nnamef.r   
returnTypeDataTypeOrStringreturnc                 T    | j                   j                  j                  |||       y )N)return_type)r   conncreate_function)r   r   r   r   s       r   registerzUDFRegistration.register   s%     	..tQJ.Or   javaClassNamec                     t         r   NotImplementedError)r   r   r    r   s       r   registerJavaFunctionz$UDFRegistration.registerJavaFunction   s
     "!r   c                     t         r   r"   )r   r   r    s      r   registerJavaUDAFz UDFRegistration.registerJavaUDAF!   s    !!r   )r   r   r   )__name__
__module____qualname__r   strr   r   r   r   r   r$   r&    r   r   r   r      s    ) 48	PP #s(#%>>?P /0	P
 
#P 48	"" " /0	"
 
""S " " "r   r   N)typingr   r   r   r   r   r   typesr
   sessionr   r*   r   r   r   __all__r+   r   r   <module>r0      sC    I I %3' !";< " "0 
r   