
    ɯei|                        d dl mZmZ d dlmZmZmZmZmZ d dl	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'm(Z(m)Z) d dl*m+Z+m,Z, d dl-m.Z.m/Z/ d dl0m1Z1m2Z2m3Z3 d dl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJ d d	lKmLZLmMZM d d
lNmOZO d dlPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZY d dlZm[Z[ d dl\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZe d dlfmgZgmhZhmiZimjZjmkZkmlZl d dlmmnZnmoZompZpmqZq d dlrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z} d dl~mZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZmZmZmZ d dlmZ  G d d      Zy)    )Counterdefaultdict)DefaultDictDictListOptionalUnionN)alias_expressionbinary_arithmetic_expressionblock_expressioncase_when_expressioncast_expressioncollate_expression
column_sumdelete_merge_statementflatten_expressionfunction_expressionin_expressioninsert_merge_statementlike_expressionlist_aggnamed_arguments_functionorder_expression
quote_namerange_statement rank_related_function_expressionregexp_expression!specified_window_frame_expressionsubfield_expressionsubquery_expressiontable_function_partition_specunary_expressionupdate_merge_statementwindow_expression window_frame_boundary_expressionwindow_spec_expressionwithin_group_expression)BinaryArithmeticExpressionBinaryExpression)JoinSetOperation)numeric_to_sql_without_cast
str_to_sqlto_sql)	AttributeCaseWhenCollate	ColumnSum
ExpressionFunctionExpressionInExpressionIntervalLikeListAggLiteralMultipleExpressionNamedExpressionNamedFunctionExpressionRegExpScalarSubquerySnowflakeUDFStarSubfieldIntSubfieldStringUnresolvedAttributeWithinGroup)GroupingSetGroupingSetsExpression)SnowflakePlan)	CopyIntoLocationNodeCopyIntoTableNodeLimitLogicalPlanRangeReadFileNodeSnowflakeCreateTableSnowflakeTableSnowflakeValues)	SortOrder)	FlattenFunctionGeneratorTableFunctionLateralNamedArgumentsTableFunctionPosArgumentsTableFunctionTableFunctionExpressionTableFunctionJoin$TableFunctionPartitionSpecDefinitionTableFunctionRelation)DeleteMergeExpressionInsertMergeExpressionTableDelete
TableMergeTableUpdateUpdateMergeExpression)AliasCastUnaryExpressionUnresolvedAlias)	AggregateCreateDynamicTableCommandCreateViewCommandFilterPivotProjectRenameSampleSampleBySortUnpivot)RankRelatedFunctionExpressionSpecialFrameBoundarySpecifiedWindowFrameUnspecifiedFrameWindowExpressionWindowSpecDefinition)SnowparkClientExceptionMessages)TelemetryField)MockExecutionPlan)MockSnowflakePlanBuilder)MockSelectableMockSelectableEntityMockSelectExecutionPlanMockSelectStatement)_NumericTypec            
          e Zd ZddZ	 	 	 ddeeef   deee	e
e	e	f   f      dee	ee	   f   fdZ	 ddedee	e
e	e	f   f   de	fdZ	 	 ddedee	e
e	e	f   f   de	fdZ	 ddedee	e
e	e	f   f   de	fd	Zdedee	e
e	e	f   f   de	fd
Zde	de	fdZ	 ddedee	e
e	e	f   f   de	fdZdedefdZdedefdZdede
eef   dee	e
e	e	f   f   defdZd Zd Zd Zy)MockAnalyzerreturnNc                     || _         t        | j                         | _        g | _        i | _        d | _        | j                   j                  | _        y N)sessionry   plan_buildersubquery_plansgenerated_alias_mapsalias_maps_to_use_conn)selfr   s     c/var/www/html/glpi_dashboard/venv/lib/python3.12/site-packages/snowflake/snowpark/mock/_analyzer.py__init__zMockAnalyzer.__init__   sC    4T\\B $&!!%\\''
    expr$df_aliased_col_name_to_real_col_namec                 :   t        |t              r!| j                  j                  dt               t        |t
              rBt        | j                  |j                  ||      | j                  |j                  ||            S t        |t              rpt        | j                  |j                  ||      | j                  |j                  ||      |j                  !| j                  |j                  ||            S d      S t        |t              rO|r|j                  j                         n|j                  }t!        | j                  |j                  ||      |      S t        |t"        t$        f      rU|j&                  }|r t        |t(              r|j                         }t+        | j                  |j                  ||      |      S t        |t,              rzt/        |j0                  D cg c]+  \  }}| j                  |||      | j                  |||      f- c}}|j2                  r!| j                  |j2                  ||            S d      S t        |t4              rlg }	|j6                  D ]P  }
| j8                  j:                  r| j=                  |
||      }n| j                  |
||      }|	j?                  |       R tA        |	      S t        |tB              rg }|jD                  D ]P  }
| j8                  j:                  r| j=                  |
||      }n| j                  |
||      }|j?                  |       R tG        | j                  |jH                  ||      |      S t        |tJ              r!| j                  j                  dt               t        |tL              rDtO        | j                  |jP                  ||      | j                  |jR                  ||            S t        |tT              r}tW        |jX                  D cg c]  }| j                  |||       c}|jZ                  D cg c]  }| j                  |||       c}| j                  |j\                  ||            S t        |t^              rsta        |jb                  jd                  | jg                  | j=                  |jh                  i             | jg                  | j=                  |j                  i                   S t        |tj              ryt        |tl              r|jd                  S t        |tn              r5tq        |jr                  |jt                        }|r|j                         }| S t        |tv              r^| jx                  r;| jx                  j{                  |j|                  |j~                        }t        |      S |j~                  }t        |      S t        |t              r|j~                  S t        |t              r|j                  R| j8                  j                  j                  j                  |j                  t        j                  jr                         |j~                  j                         }g }|j                  D ]G  }| j=                  ||      }t        |t              r|j                  |       7|j?                  |       I t        |||j                        S t        |t              r|j                  R| j8                  j                  j                  j                  |j                  t        j                  jr                         |r|j~                  j                         n|j~                  }t        ||j                  j                         D ci c]  \  }}|| j=                  ||       c}}      S t        |t              r7|j6                  sy|j6                  D cg c]  }| j                  ||       c}S t        |t              r|j                  R| j8                  j                  j                  j                  |j                  t        j                  jr                         |r|j                  j                         n|j                  }t        ||j                  D cg c]  }| j                  |||       c}d      S t        |t              r| j                  ||      S t        |t              rt        |j                  |jX                  r+|jX                  D cg c]  }| j                  |||       c}ng |jZ                  r/|jZ                  D cg c]  }| j                  |||       c}      S g       S t        |t              r| j                  ||||	      S t        |t              rPt        | j                  |j                  ||      |j                  jd                  |j                  jd                        S t        |t              rQ| j                  j?                  |j                         t        |j                  j                  d
   jd                        S t        |t              rOt        | j                  |j                  ||      |j                  D cg c]  }| j                  ||       c}      S t        |t              r| j                  |||      S t        |t              rt        |j                  r| j                  |j                  |      nd|j                  D cg c]  }| j                  ||       c}|jD                  D cg c]  }| j                  ||       c}      S t        |t              rt        |j                  r| j                  |j                  |      nd|j                  j                         D ci c](  \  }}| j                  ||      | j                  ||      * c}}      S t        |t              r7t        |j                  r | j                  |j                  |            S d      S t        |t              rEt        | j                  |j                  ||      t        |j                        |j                        S t        |t              r4t        |j                  D cg c]  }| j                  |||       c}      S t        |t              rt        |jd                  | j                  |j                  ||      |j                  |j                  r,| j                  |j                  ||      |j                        S d|j                        S t        |t               rt)        |      S t        j                  t)        |            c c}}w c c}w c c}w c c}}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}}w c c}w )a$  
        Args:
            keep_alias: if true, return the column name as "aa as bb", else return the desired column name.
            e.g., analyzing an expression sum(col('b')).as_("totB"), we want keep_alias to be true in the
            sql simplifier process, which returns column name as sum('b') as 'totB',
            so that it will detect column name change.
            however, in the result calculation, we want to column name to be the output name, which is 'totB',
            so we set keep_alias to False in the execution.
        z DataFrame.group_by_grouping_setsexternal_feature_nameraise_errorNNULL)r   parse_local_name *F)
keep_alias)
isinstancerF   r   log_not_supported_errorNotImplementedErrorr7   r   analyzer   patternr=   r   
parametersr1   collation_specupperr   rB   rA   fieldstrr   r0   r   branches
else_valuer:   expressionsr   (eliminate_numeric_sql_value_cast_enabledto_sql_try_avoid_castappendr   r5   valuesr   columnsrE   rt   r$   window_functionwindow_specru   r&   partition_spec
order_spec
frame_specrr   r   
frame_typesqlwindow_frame_boundarylowerrs   rq   r9   r.   valuedatatyper/   r   getexpr_idnamer   rC   r4   api_call_source_telemetry_clientsend_function_usage_telemetryrw   FUNC_CAT_USAGEchildrenlistextendr   is_distinctr<   r   named_argumentsitemsr@   r?   udf_namerW   #table_function_expression_extractorrY   r!   overrc   unary_expression_extractorrQ   r   child	directionnull_orderingr>   r   planr    queriesrD   r'   order_by_colsr)   binary_operator_extractorr\   r   	conditionkeysr`   r#   assignmentsr[   r   r8   r   colr-   	delimiterr2   r   exprsrp   r   offsetdefaultignore_nullsr6   rv   PLAN_INVALID_TYPE)r   r   r   r   r   r   r   r   r   block_expressions
expressionresolved_expr	in_valuesin_valuexr   r   	func_namer   c	extractedkeyekvr   s                             r   r   zMockAnalyzer.analyze   sH   $ d23JJ..&H/ / 
 dD!"IICEU LL"FHX	  dF#$IICEU LL"FHX ??. OO8$     dG$/?##))+TEXEX  &IICEU 	  d^[9:JJEJuc$:&IICEU 	  dH%' -1MM )	5 %@,
 !@,( ?? OO8$! , - 2 d./ "".. 8
<<HH$($>$>"<(%M %)LL"<(%M "((78 $$566dL)I"kk +
<<HH#99"<( H  $||"<( H   *+ !LL"FHX 	  dK(JJ..&H/ / 
 d,-$((9]%5  
 $$9]%5    d01) "00  LL=a)9 !  "__  LL=a)9 !  OO9]%5  # 0 d014##**4+E+EdjjRT+UV**4+E+EdjjRT+UV  d,-d0188OdG$T]]3CiikUOdI& %%--11$,,		J d## yyd##d/099d./##/""44RR((.*G*G*M*M 		)IH]] / 66;	 i.OOI.OOI./ '    d34##/""44RR((.*G*G*M*M .>		)499I+
 '+&:&:&@&@&B	 #U 33C   dD!## "-- LL$HI 
 dL)##/""44RR((.*G*G*M*M 2B++-t}}I&
 "]]	  LL?AQ 	 	 d34;;:  d@A0		 && "00	  LL?AQ  ?? "__	  LL?AQ " # ( dO,224 %	 3   dI&#JJ DFV """"&&  dN+&&tyy1&tyy'8'8'<'@'@AAdK(*IICEU
 "// LL$HI	  d,-114   d12)>> T^^-QR "YY LL$HI "[[ LL$HI  d12)>> T^^-QR
 !% 0 0 6 6 8	 1 LL$HI4<<?L 	
 
 d12)>> T^^-QR    dG$HHBDT 4>>*    dI&
  $zz	  LLACS  d9:3IICEU  << LL"FHX
 !!  !!  dH%t9-??I
 	
w
r^"H$4sN   20w
w?w$
-w)=w/w4
w9
9w>x
x
=x8-x,xc                    t        |t              rRt        | j                  |j                  ||      |j
                  |j                  |j                  |j                        S t        |t              rAt        |j                  |j                  D cg c]  }| j                  |||       c}d      }nut        |t        t        f      rTt        |j                  |j                  j!                         D ci c]  \  }}|| j                  |||       c}}      }nt#        d      |j$                  r| j                  |j$                  |      nd}| d| S c c}w c c}}w )NFzA table function expression should be any of PosArgumentsTableFunction, NamedArgumentsTableFunction, GeneratorTableFunction, or FlattenFunction.r    )r   rR   r   r   inputpathouter	recursivemoderV   r   r   argsrU   rS   r   r   	TypeErrorr   )	r   r   r   r   r   r   r   r   partition_spec_sqls	            r   r   z0MockAnalyzer.table_function_expression_extractorJ  si    dO,%JJ DFV 		

		  78%
 "YY	  LL?AQ 	C :<RST*
 '+iioo&7	 #U CEU C [  "" LL,,.RS 	
 a*+,,9s   E
7Ec           	      j   t        |t              rLt        |j                        }t        |j                  t
              r|| j                  |j                  j                  <   | j                  J | j                  j                         D ].  \  }}||j                  j                  k(  s || j                  |<   0 |rL|j                         D ]9  }|j                         D ]$  \  }}||j                  j                  k(  s |||<   & ; t        | j                  |j                  ||      |      }	|r|	n|j                  xs |}
|r|
j                         }
|
S |
}
|
S t        |t              r| j                  |j                  ||      }
t        |
t        t         f      sJ t        |
t              r+|r|
j                         }
t        |
j#                               S t%        d |
D              sJ dj'                  |
D cg c]  }t        |j#                                c}      S t        |t(              r<t+        | j                  |j                  ||      |j,                  |j.                        S t1        | j                  |j                  ||      |j2                  |j4                        S c c}w )Nc              3   <   K   | ]  }t        |t                y wr   )r   r   ).0r   s     r   	<genexpr>z:MockAnalyzer.unary_expression_extractor.<locals>.<genexpr>  s     @!:a-@s   ,)r   ra   r   r   r   r/   r   r   r   r   r   r
   r   r   rd   r   r   stripalljoinrb   r   totry_r"   sql_operatoroperator_first)r   r   r   r   r   quoted_namer   r   df_alias_dict	alias_expexpr_strr   s               r   r   z'MockAnalyzer.unary_expression_extractor{  sm    dE"$TYY/K$**i0@K))$***<*<=--999 2288: CDAqDJJOO+7B11!4C 8)M)T)T)V ?$1$7$7$9 ?DAq DJJOO33>a 0??
 )JJ DFV 	I %/yDII4KH+;x~~'HO BJHOdO,||

@BRH hd444(C(#'~~/H!(.."233@x@@@@xx I1AGGI!6 IJJd#"JJ DFV 		  $JJ DFV !!##  !Js    J0c                    | j                   j                  r;| j                  |j                  ||      }| j                  |j                  ||      }n:| j                  |j                  ||      }| j                  |j                  ||      }|j                  j                         }t        |t              rt        |||      S t        |||gd      S NF)r   r   r   leftrightr   r   r   r   r(   r   r   )r   r   r   r   left_sql_exprright_sql_exproperators          r   r   z&MockAnalyzer.binary_operator_extractor  s     <<@@ 66		?AQM "77

4 N !LL		?AQM "\\

@BRN $$**,d67/  '!"  r   c                     | j                  t        |j                  j                         |j                  D cg c]   }t        |t              r|j                  n|" c}d      |      S c c}w r  )r   r4   pretty_namer   r   r   ra   r   )r   r   r   r   s       r   grouping_extractorzMockAnalyzer.grouping_extractor  sa    
 ||  &&(AEOAJq%0a7O
 1
 	
 Ps   %A*r   c                 ~    	 t        |      }t        t        t        |            |dk\        S # t        $ r |cY S w xY w)Nr   )intr%   r   abs	Exception)r   r   nums      r   r   z"MockAnalyzer.window_frame_boundary  s=    	f+C3CCM3!8LL 	M	s   +. <<c                     t        |t              r:t        |j                  t              r t	        |j
                  |j                        S | j                  |||      S r   )r   r9   r   r~   r,   r   r   )r   r   r   r   s       r   r   z"MockAnalyzer.to_sql_try_avoid_cast  sJ     dG$DMM<)P.tzz4==II<<:<L r   logical_planc                 z    g | _         i | _        | j                  |      }|j                  | j                         |S r   )r   r   
do_resolveadd_aliases)r   r  results      r   resolvezMockAnalyzer.resolve  s9     $&!.4445r   c           	      \   i }t        t              }|j                  D ]3  }| j                  |      }|j	                  |j
                         |||<   5 t        |t              r.|j                  J |j                  j                         | _
        ni }t               }|j                         D ]A  }|j                  s|j	                  t        |j                  j                                      C |j                         D ]U  }|j                  s|j	                  |j                  j                         D 	
ci c]  \  }	}
||	   dk  s|	|
 c}
}	       W || _
        | j!                  |||      }t#        |d      sJ d|d       |j
                  j	                  |       |S c c}
}	w )N   r   zThe resolved plan z? should have the attribute df_aliased_col_name_to_real_col_name)r   dictr   r  updater   r   rz   expr_to_aliascopyr   r   r   r   r   r   !do_resolve_with_resolved_childrenhasattr)r   r  resolved_childrenr   r   resolveduse_mapscountsr   pqress               r   r  zMockAnalyzer.do_resolve  s   /:4/@,&& 	,A||AH077== $,a 	, lN3--999%1%?%?%D%D%FD"HYF&--/ @??MM$q';';'=">?@ '--/ ??OO*+//*?*?*AS$!QVAYQR]AS
 &.D"44+-Q
 sBC 	
  (3 3	
C 	00770	
 
 Ts   :F(F(r  c                    t        |t              r|S t        |t        t        t        f      rt        || j
                        S t        |t              r!| j                  j                  dt               t        |t              rt        || j
                        S t        |t              rt        || j
                        S t        |t              rt        || j
                        S t        |t              rt        || j
                        S t        |t              rt        || j
                        S t        |t              r| j!                  |j"                  d         }| j!                  |j"                  d         }|j$                   |j$                   t'        |j(                  j+                               j-                  |j(                  j+                               }i |j(                  |j(                  j/                         D ci c]  \  }}||vr|| }	}}t        || j
                  |	      S t        |t0              rQ| j2                  j5                  t7        t9        | j:                  |j<                              ||j>                     |      S t        |t@              rB| j2                  jC                  ||jD                     ||jF                     |jH                  |      S t        |tJ              rF| j2                  jM                  tO        |jP                  |jR                  |jT                  d      |      S t        |tV              rt        || j
                        S t        |tX              rt        || j
                        S t        |tZ              rt        || j
                        S t        |t\              rt        || j
                        S t        |t^              rt        |j>                  t\              xr$ t        |j>                  j`                  t0              }
| j2                  jc                  | je                  |jf                  |      | je                  |jh                  |      ||j>                     |
|      S t        |tj              rt        || j
                        S t        |tl              r!| j                  j                  dt               t        |tn              rt        || j
                        S t        |tp              r| j2                  js                  |jt                  |jv                  |jx                  |jz                  |j|                  |j~                  |j                  |j                  |j                  |
      S t        |t              r!| j                  j                  d	t               t        |t              r | j2                  j                  d||j>                     |j                  ||j                  r| j;                  |j                  |      nd |j                  |j                  |j                  |j                  d
|j                  S t        |t              rt        || j
                        S t        |t              rt        || j
                        S t        |t              r!| j                  j                  dt               t        |t              rt        || j
                        S t        |t              r2t        |t              r|j                   t        || j
                        S y c c}}w )Nztable_function.Lateralr   r      )r  idz"RelationalGroupedDataFrame.Unpivot)
r   formatoptionsschemaschema_to_casttransformationsmetadata_projectmetadata_schemause_user_schemasource_planzDateFrame.copy_into_table)querystage_locationr0  partition_byfile_format_namefile_format_typeformat_type_optionsheaderz)DateFrame.create_or_replace_dynamic_table )Tr   rx   rk   rX   rZ   r   rT   r   r   r   re   rj   rh   rl   rm   r*   r  r   
attributessetr  r   intersectionr   rn   r   sortr   mapr   orderr   r+   set_operatorr  r  r   rL   r1  r   startendsteprP   rO   rN   rG   rJ   r0  limitr   
limit_exproffset_exprri   ro   rg   rM   	read_filer   r(  r)  r*  r+  r,  r-  r.  r/  rI   rH   copy_into_locationr2  r3  r4  r5  r6  r7  copy_optionsr_   r]   rf   r^   rz   r}   projection_in_str)r   r  r  r   r  r  common_columnsr   r   new_expr_to_aliason_top_of_order_bys              r   r  z.MockAnalyzer.do_resolve_with_resolved_children6  sV    l$56lV->@U$VW$ 
 lG,JJ..&>/ / 
 lI.$ 
 lG,$\4<<@@lF+$\4<<@@ lF+$\4<<@@lH-$\4<<@@lD)??<#8#8#;<DOOL$9$9!$<=E OO !3!3!8!8!:;HH##((*N
(()) %'!Aq N* 1! ! %dll:K  lD)$$))S|'9'9:;!,"4"45  lL1$$11!,"3"34!,"4"45  	  lE* $$** &&(8(8,:K:KT 	  lO4$\4<<@@lN3$\4<<@@l$89$\4<<@@lM2$\4<<@@lE*!+""M" "C\//;;TB  $$**** ++-Q ** ,,.R ","4"45"
 
 lE*$\4<<@@lG,JJ..&J/ / 
 l$56$\4<<@@lL1$$..!&&#**$,,#**+:: , < <!-!>!> , < < , < <( /   l$56JJ..&A/ / 
 l$8974$$77 '(:(:;+::(  ,, "\\ --/S !-!>!>!-!>!>$0$D$D#** ++   lK0$\4<<@@lK0$\4<<@@l$=>JJ..&Q/ / 
 lJ/$\4<<@@lN3,(;< ..$\4<<@@ 4E!s   ]c                     t        |i |S r   )r}   r   r   kwargss      r   create_select_statementz$MockAnalyzer.create_select_statement  s    "D3F33r   c                     t        |i |S r   )r|   rN  s      r   create_select_snowflake_planz)MockAnalyzer.create_select_snowflake_plan  s    &777r   c                     t        |i |S r   )r{   rN  s      r   create_selectable_entityz%MockAnalyzer.create_selectable_entity  s    #T4V44r   )r   z"snowflake.snowpark.session.Sessionr   N)NFT)F)FT) __name__
__module____qualname__r   r	   r3   r;   r   r   r   r   r   r   rW   r   rc   r   r)   r   rE   r	  r   r   rK   rx   r  r  rG   r  rP  rR  rT  r8  r   r   r   r      s   ( h
J/0h
 /7T#s(^+,/
h
 
sDI~	h
\ 	/-%/- /:#tCH~:M.N/-
 
/-j ;; /:#tCH~:M.N; 
;B 	&& /:#tCH~:M.N&
 
&P

 /:#tCH~:M.N
 
	
C C  	 /:#tCH~:M.N
 
K 4E ){ )7H )VzA!zA  ] :;zA /:#tCH~:M.N	zA
 
zAx485r   r   )collectionsr   r   typingr   r   r   r   r	   snowflake.snowpark	snowflake4snowflake.snowpark._internal.analyzer.analyzer_utilsr
   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'   7snowflake.snowpark._internal.analyzer.binary_expressionr(   r)   6snowflake.snowpark._internal.analyzer.binary_plan_noder*   r+   5snowflake.snowpark._internal.analyzer.datatype_mapperr,   r-   r.   0snowflake.snowpark._internal.analyzer.expressionr/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   2snowflake.snowpark._internal.analyzer.grouping_setrE   rF   4snowflake.snowpark._internal.analyzer.snowflake_planrG   9snowflake.snowpark._internal.analyzer.snowflake_plan_noderH   rI   rJ   rK   rL   rM   rN   rO   rP   5snowflake.snowpark._internal.analyzer.sort_expressionrQ   4snowflake.snowpark._internal.analyzer.table_functionrR   rS   rT   rU   rV   rW   rX   rY   rZ   <snowflake.snowpark._internal.analyzer.table_merge_expressionr[   r\   r]   r^   r_   r`   6snowflake.snowpark._internal.analyzer.unary_expressionra   rb   rc   rd   5snowflake.snowpark._internal.analyzer.unary_plan_nodere   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   7snowflake.snowpark._internal.analyzer.window_expressionrp   rq   rr   rs   rt   ru   *snowflake.snowpark._internal.error_messagerv   &snowflake.snowpark._internal.telemetryrw   snowflake.snowpark.mock._planrx   %snowflake.snowpark.mock._plan_builderry   )snowflake.snowpark.mock._select_statementrz   r{   r|   r}   snowflake.snowpark.typesr~   r   r8  r   r   <module>rp     s   
 - ; ;        @ V 
     0 O
 
 
 L
 
 
       W A ; J  2b5 b5r   