
    ɯei                         d dl Z d dlZd dlZd dlmZ  e j                  e      Z ej                  dej                        Z G d de      Zy)    N)SnowparkProfilerz^\s*WITH\s+\w+\s+AS\s+FUNCTIONc                   F     e Zd ZdZ	 	 	 	 d fdZededefd       Z xZ	S )UDFProfilerz6
    Set up profiler to receive profiles of UDFs.
    returnc                 @    t         |   |       d| _        d| _        y )NzRselect * from table(SNOWFLAKE.LOCAL.GET_PYTHON_UDF_PROFILER_OUTPUT('{query_id}'));PYTHON_UDF_PROFILER_MODULES)super__init___output_sql_profiler_module_name)selfsession	__class__s     a/var/www/html/glpi_dashboard/venv/lib/python3.12/site-packages/snowflake/snowpark/udf_profiler.pyr
   zUDFProfiler.__init__   s"     	!o%B"    queryc                     | j                         j                  d      } t        j                  |       d uxs | j	                  d      S )N SELECT)upperstrip$SNOWFLAKE_ANONYMOUS_FUNCTION_PATTERNmatch
startswith)r   s    r   _is_procedure_or_function_callz*UDFProfiler._is_procedure_or_function_call!   sI    ##C(399
 4))(3	4r   )r   zsnowflake.snowpark.Sessionr   N)
__name__
__module____qualname____doc__r
   staticmethodstrboolr   __classcell__)r   s   @r   r   r      sD    C-C 
C 4c 4d 4 4r   r   )loggingresnowflake.snowpark	snowflake.snowflake.snowpark._internal.snowpark_profilerr   	getLoggerr   loggercompile
IGNORECASEr   r    r   r   <module>r.      sN   
  	  K 
		8	$'1rzz%r}}( $
4" 4r   