
    JiM                        S SK Jr  S SKrS SKJrJrJr  S SKJr   " S S\5      r	 " S S\5      r
 " S	 S
\\R                  S9r " S S\5      r " S S\5      r " S S\5      rg)    )annotationsN)FieldFunctionTerm)format_alias_sqlc                  B   ^  \ rS rSr S     SU 4S jjjrS rSrU =r$ )Array   c                l   > [         TU ]  U5        Xl        X l        U=(       d
    [	        5       U l        g N)super__init___values_converter_clsdict_converter_options)selfvaluesconverter_clsconverter_optionsalias	__class__s        Y/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pypika/clickhouse/array.pyr   Array.__init__   s,     	+"3"=tv    c                b   U R                   (       au  / nU R                   H?  nU R                   " U40 U R                  D6nUR                  UR	                  5       5        MA     SR                  SSR                  U5      S/5      nO[        U R                  5      n[        X@R                  5      $ )N [,])	r   r   r   appendget_sqljoinstrr   r   )r   	convertedvalue	convertersqls        r   r"   Array.get_sql   s    I //Q9P9PQ	  !2!2!45 & ''3 3S9:C dll#CZZ00r   )r   r   r   )NNN)r   listr   zdict | Noner   
str | None)__name__
__module____qualname____firstlineno__r   r"   __static_attributes____classcell__)r   s   @r   r	   r	      s2    ko>>CN>^h> >1 1r   r	   c                  >    \ rS rSr  S       SS jjrSS jrSrg)	HasAny$   Nc                P    Xl         X l        X0l        X@l        SU l        SU l        g )N hasAny)_left_array_right_arrayr   schemaargsname)r   
left_arrayright_arrayr   r:   s        r   r   HasAny.__init__%   s(     &'
		r   c                \   U R                   R                  5       nU R                  R                  5       nSR                  U R                  [        U R                   [        5      (       a  SU-  OU[        U R                  [        5      (       a  SU-  OUS9n[        XR                  40 UD6$ )Nz{name}({left},{right})"%s")r<   leftright)	r8   r"   r9   formatr<   
isinstancer   r   r   )	r   
with_aliaswith_namespace
quote_chardialectkwargsrB   rC   r(   s	            r   r"   HasAny.get_sql3   s    '')!!))+&--",T-=-=u"E"E$4$.t/@/@%$H$H&5.e . 

  ZZ:6::r   )r8   r9   r   r;   r<   r:   NN)r=   Array or Fieldr>   rM   r   r+   r:   r+   )FFNN)r,   r-   r.   r/   r   r"   r0   r6   r   r   r3   r3   $   s:    
 !!" $ 	
 ;r   r3   c                  ^    \ rS rSrSSS jjrS	S jr\\R                  S
S j5       5       r	Sr
g)_AbstractArrayFunction>   Nc                R    X0l         X l        U R                  5       U l        Xl        g r   )r:   r   clickhouse_functionr<   _array)r   arrayr   r:   s       r   r   _AbstractArrayFunction.__init__?   s!    
,,.	r   c                    U R                   R                  5       nSR                  U R                  [	        U R                   [
        5      (       a  SU-  OUS9n[        X`R                  40 UD6$ )Nz{name}({array})rA   )r<   rT   )rS   r"   rD   r<   rE   r   r   r   )r   rG   rH   rI   rJ   rT   r(   s          r   r"   _AbstractArrayFunction.get_sqlE   s_    ##%&&$.t{{E$B$B&5. ' 
  ZZ:6::r   c                    g r   r6   clss    r   rR   *_AbstractArrayFunction.clickhouse_functionM   s     	r   )rS   r   r<   r:   rL   )rT   rM   r   r+   r:   r+   )FNNreturnr$   )r,   r-   r.   r/   r   r"   classmethodabcabstractmethodrR   r0   r6   r   r   rO   rO   >   s.    ;   r   rO   )	metaclassc                  (    \ rS rSr\SS j5       rSrg)NotEmptyS   c                    g)NnotEmptyr6   rY   s    r   rR   NotEmpty.clickhouse_functionT   s    r   r6   Nr\   r,   r-   r.   r/   r^   rR   r0   r6   r   r   rc   rc   S   s     r   rc   c                  (    \ rS rSr\SS j5       rSrg)EmptyY   c                    g)Nemptyr6   rY   s    r   rR   Empty.clickhouse_functionZ   s    r   r6   Nr\   rh   r6   r   r   rj   rj   Y   s     r   rj   c                  (    \ rS rSr\SS j5       rSrg)Length_   c                    g)Nlengthr6   rY   s    r   rR   Length.clickhouse_function`   s    r   r6   Nr\   rh   r6   r   r   rp   rp   _   s     r   rp   )
__future__r   r_   pypika.termsr   r   r   pypika.utilsr   r	   r3   ABCMetarO   rc   rj   rp   r6   r   r   <module>ry      sk    " 
 
 *1D 1.;X ;4X *% " # r   