
    Ji%                       S r SSKJr  SSKJr  SSKJr  SSKJrJ	r	J
r
JrJr  SSKJr  SrSr " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \	5      r " S! S"\	5      r " S# S$\5      r " S% S&\	5      r " S' S(\	5      r  " S) S*\	5      r! " S+ S,\5      r" " S- S.\5      r# " S/ S0\	5      r$ " S1 S2\	5      r% " S3 S4\	5      r& " S5 S6\	5      r' " S7 S8\	5      r( " S9 S:\	5      r) " S; S<\	5      r* " S= S>\	5      r+ " S? S@\	5      r, " SA SB\	5      r- " SC SD\	5      r. " SE SF\	5      r/ " SG SH\	5      r0 " SI SJ\	5      r1 " SK SL\	5      r2 " SM SN\	5      r3 " SO SP\	5      r4 " SQ SR\	5      r5 " SS ST\	5      r6 " SU SV\	5      r7 " SW SX\	5      r8 " SY SZ\	5      r9 " S[ S\\	5      r: " S] S^\	5      r; " S_ S`\	5      r< " Sa Sb\	5      r= " Sc Sd\	5      r> " Se Sf\	5      r? " Sg Sh\	5      r@ " Si Sj\	5      rA " Sk Sl\	5      rB " Sm Sn\	5      rCgo)pz$
Package for SQL functions wrappers
    )annotations)Field)SqlTypes)AggregateFunctionFunctionLiteralValueStarTerm)builderzTimothy Heysztheys@kayak.comc                  D   ^  \ rS rSrU 4S jrU 4S jr\S 5       rSrU =r	$ )DistinctOptionFunction   c                ^   > UR                  S5      n[        TU ]  " U/UQ7SU06  SU l        g )NaliasF)getsuper__init__	_distinct)selfnameargskwargsr   	__class__s        R/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pypika/functions.pyr   DistinctOptionFunction.__init__   s/    

7#22E2    c                   > [         TU ]  " S0 UD6n[        U R                  5      S-   nU R                  (       a  US U S-   X#S  -   $ U$ )N   z	DISTINCT  )r   get_function_sqllenr   r   )r   r   snr   s       r   r    'DistinctOptionFunction.get_function_sql   sM    G$.v.		NQ>>Ra5;&2..r   c                    SU l         g )NTr   )r   s    r   distinctDistinctOptionFunction.distinct   s	    r   r&   )
__name__
__module____qualname____firstlineno__r   r    r   r'   __static_attributes____classcell__r   s   @r   r   r      s!    
  r   r   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Count#   c                ~   > [        U[        5      =(       a    SU:H  n[        TU ]  SU(       a
  [	        5       OUUS9  g )N*COUNTr   )
isinstancestrr   r   r	   )r   paramr   is_starr   s       r   r   Count.__init__$   s2    UC(9SE\G$&eLr   r   N)r9   z
str | Termr   
str | NonereturnNoner)   r*   r+   r,   r   r-   r.   r/   s   @r   r1   r1   #   s    M Mr   r1   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Sum*   c                "   > [         TU ]  SXS9  g )NSUMr6   r   r   r   termr   r   s      r   r   Sum.__init__+       2r   r   r<   rH   r
   r   r=   r@   r/   s   @r   rB   rB   *       3 3r   rB   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Avg/   c                "   > [         TU ]  SXS9  g )NAVGr6   rF   rG   s      r   r   Avg.__init__0   rJ   r   r   r<   rK   r@   r/   s   @r   rN   rN   /   rL   r   rN   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Min4   c                "   > [         TU ]  SXS9  g )NMINr6   rF   rG   s      r   r   Min.__init__5   rJ   r   r   r<   rK   r@   r/   s   @r   rT   rT   4   rL   r   rT   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Max9   c                "   > [         TU ]  SXS9  g )NMAXr6   rF   rG   s      r   r   Max.__init__:   rJ   r   r   r<   rK   r@   r/   s   @r   rZ   rZ   9   rL   r   rZ   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Std>   c                "   > [         TU ]  SXS9  g )NSTDr6   rF   rG   s      r   r   Std.__init__?   rJ   r   r   r<   rK   r@   r/   s   @r   r`   r`   >   rL   r   r`   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )StdDevC   c                "   > [         TU ]  SXS9  g )NSTDDEVr6   rF   rG   s      r   r   StdDev.__init__D       45r   r   r<   rK   r@   r/   s   @r   rf   rf   C       6 6r   rf   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )AbsH   c                "   > [         TU ]  SXS9  g )NABSr6   rF   rG   s      r   r   Abs.__init__I   rJ   r   r   r<   rK   r@   r/   s   @r   rn   rn   H   rL   r   rn   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )FirstM   c                "   > [         TU ]  SXS9  g )NFIRSTr6   rF   rG   s      r   r   First.__init__N       $4r   r   r<   rK   r@   r/   s   @r   rt   rt   M       5 5r   rt   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )LastR   c                "   > [         TU ]  SXS9  g )NLASTr6   rF   rG   s      r   r   Last.__init__S       3r   r   r<   rK   r@   r/   s   @r   r|   r|   R       4 4r   r|   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )SqrtW   c                "   > [         TU ]  SXS9  g )NSQRTr6   rF   rG   s      r   r   Sqrt.__init__X   r   r   r   r<   rK   r@   r/   s   @r   r   r   W   r   r   r   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Floor\   c                "   > [         TU ]  SXS9  g )NFLOORr6   rF   rG   s      r   r   Floor.__init__]   ry   r   r   r<   rK   r@   r/   s   @r   r   r   \   rz   r   r   c                  2   ^  \ rS rSrSU 4S jjrS rSrU =r$ )ApproximatePercentilea   c                B   > [         TU ]  SXS9  [        U5      U l        g )NAPPROXIMATE_PERCENTILEr6   )r   r   float
percentile)r   rH   r   r   r   s       r   r   ApproximatePercentile.__init__b   s"    14E
+r   c                4    SR                  U R                  S9$ )Nz(USING PARAMETERS percentile={percentile}r   )formatr   r   r   s     r   get_special_params_sql,ApproximatePercentile.get_special_params_sqlf   s    9@@DOO@\\r   r   r<   r)   r*   r+   r,   r   r   r-   r.   r/   s   @r   r   r   a   s    ,] ]r   r   c                  2   ^  \ rS rSrSU 4S jjrS rSrU =r$ )Castk   c                .   > [         TU ]  SXS9  X l        g )NCASTr6   )r   r   as_typer   rH   r   r   r   s       r   r   Cast.__init__l   s    3r   c                    [        U R                  S5      (       a  U R                  R                  " S0 UD6O"[        U R                  5      R	                  5       nSR                  US9$ )Nget_sqlz	AS {type}typer   )hasattrr   r   r8   upperr   )r   r   type_sqls      r   r   Cast.get_special_params_sqlp   sU    5<T\\95U5U4<<''1&1[^_c_k_k[l[r[r[t!!x!00r   )r   r<   r   r/   s   @r   r   r   k   s    1 1r   r   c                  2   ^  \ rS rSrSU 4S jjrS rSrU =r$ )Convertu   c                .   > [         TU ]  SXS9  X l        g )NCONVERTr6   )r   r   encoding)r   rH   r   r   r   s       r   r   Convert.__init__v   s    D6 r   c                H    SR                  U R                  R                  S9$ )NzUSING {type}r   )r   r   valuer   s     r   r   Convert.get_special_params_sqlz   s     $$$--*=*=$>>r   )r   r<   r   r/   s   @r   r   r   u   s    !? ?r   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )ToChar~   c                $   > [         TU ]  SXUS9  g )NTO_CHARr6   rF   r   s       r   r   ToChar.__init__   s    D?r   r   r<   r@   r/   s   @r   r   r   ~   s    @ @r   r   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Signed   c                @   > [         TU ]  U[        R                  US9  g Nr6   )r   r   r   SIGNEDrG   s      r   r   Signed.__init__   s    xe<r   r   r<   rK   r@   r/   s   @r   r   r      s    = =r   r   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Unsigned   c                @   > [         TU ]  U[        R                  US9  g r   )r   r   r   UNSIGNEDrG   s      r   r   Unsigned.__init__   s    x00>r   r   r<   rK   r@   r/   s   @r   r   r      s    ? ?r   r   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Date   c                "   > [         TU ]  SXS9  g )NDATEr6   rF   rG   s      r   r   Date.__init__   r   r   r   r<   rK   r@   r/   s   @r   r   r      r   r   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )DateDiff   c                $   > [         TU ]  SXX4S9  g )NDATEDIFFr6   rF   )r   interval
start_dateend_dater   r   s        r   r   DateDiff.__init__   s    X8Qr   r   r<   r@   r/   s   @r   r   r          R Rr   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )TimeDiff   c                $   > [         TU ]  SXUS9  g )NTIMEDIFFr6   rF   )r   
start_timeend_timer   r   s       r   r   TimeDiff.__init__   s    ZGr   r   r<   r@   r/   s   @r   r   r      s    H Hr   r   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )DateAdd   c                R   > [        USU5      n[        TU ]	  S[        U5      X#US9  g )Nr   DATE_ADDr6   getattrr   r   r   r   	date_partr   rH   r   r   s        r   r   DateAdd.__init__   s-    Iw	:	\)%<hTYZr   r   r<   rK   r@   r/   s   @r   r   r      s    [ [r   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )ToDate   c                $   > [         TU ]  SXUS9  g )NTO_DATEr6   rF   )r   r   format_maskr   r   s       r   r   ToDate.__init__   s    EeDr   r   r<   r@   r/   s   @r   r   r      s    E Er   r   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )	Timestamp   c                "   > [         TU ]  SXS9  g )N	TIMESTAMPr6   rF   rG   s      r   r   Timestamp.__init__   s    d8r   r   r<   rK   r@   r/   s   @r   r   r      s    9 9r   r   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )TimestampAdd   c                R   > [        USU5      n[        TU ]	  S[        U5      X#US9  g )Nr   TIMESTAMPADDr6   r   r   s        r   r   TimestampAdd.__init__   s-    Iw	:	i)@(X]^r   r   r<   rK   r@   r/   s   @r   r   r      s    _ _r   r   c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Ascii   c                "   > [         TU ]  SXS9  g )NASCIIr6   rF   rG   s      r   r   Ascii.__init__   ry   r   r   r<   rK   r@   r/   s   @r   r  r     rz   r   r  c                  (   ^  \ rS rSrU 4S jrSrU =r$ )NullIf   c                *   > [         TU ]  " SX40 UD6  g )NNULLIFrF   )r   rH   	conditionr   r   s       r   r   NullIf.__init__   s    4=f=r   r   r@   r/   s   @r   r  r         > >r   r  c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Bin   c                "   > [         TU ]  SXS9  g )NBINr6   rF   rG   s      r   r   Bin.__init__   rJ   r   r   r<   rK   r@   r/   s   @r   r  r     rL   r   r  c                  (   ^  \ rS rSrU 4S jrSrU =r$ )Concat   c                .   > [         TU ]  " S/UQ70 UD6  g )NCONCATrF   )r   termsr   r   s      r   r   Concat.__init__   s    4E4V4r   r   r@   r/   s   @r   r  r     s    5 5r   r  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )Insert   c           	     ^   > XX44 Vs/ s H  oPM     snu  pp4[         TU ]  SXX4US9  g s  snf )NINSERTr6   rF   )r   rH   startstopsubtermr   r   s         r   r   Insert.__init__   s?    8<T7S%T7Std7S%T"T4UK &Us   *r   r<   r@   r/   s   @r   r  r     s    L Lr   r  c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Length   c                "   > [         TU ]  SXS9  g )NLENGTHr6   rF   rG   s      r   r   Length.__init__   rk   r   r   r<   rK   r@   r/   s   @r   r%  r%     rl   r   r%  c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Upper   c                "   > [         TU ]  SXS9  g )NUPPERr6   rF   rG   s      r   r   Upper.__init__   ry   r   r   r<   rK   r@   r/   s   @r   r+  r+     rz   r   r+  c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Lower   c                "   > [         TU ]  SXS9  g )NLOWERr6   rF   rG   s      r   r   Lower.__init__   ry   r   r   r<   rK   r@   r/   s   @r   r1  r1     rz   r   r1  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )	Substring   c                $   > [         TU ]  SXX4S9  g )N	SUBSTRINGr6   rF   )r   rH   r   r!  r   r   s        r   r   Substring.__init__   s    d4Er   r   r<   r@   r/   s   @r   r7  r7     s    F Fr   r7  c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Reverse   c                "   > [         TU ]  SXS9  g )NREVERSEr6   rF   rG   s      r   r   Reverse.__init__   s    D6r   r   r<   rK   r@   r/   s   @r   r=  r=     s    7 7r   r=  c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )Trim   c                "   > [         TU ]  SXS9  g )NTRIMr6   rF   rG   s      r   r   Trim.__init__   r   r   r   r<   rK   r@   r/   s   @r   rC  rC     r   r   rC  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )	SplitPart   c                $   > [         TU ]  SXX4S9  g )N
SPLIT_PARTr6   rF   )r   rH   	delimiterindexr   r   s        r   r   SplitPart.__init__   s    tKr   r   r<   r@   r/   s   @r   rI  rI     s    L Lr   rI  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )RegexpMatches   c                $   > [         TU ]  SXX4S9  g )NREGEXP_MATCHESr6   rF   r   rH   pattern	modifiersr   r   s        r   r   RegexpMatches.__init__   s    )4)Qr   r   NNr@   r/   s   @r   rQ  rQ     r   r   rQ  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )
RegexpLike   c                $   > [         TU ]  SXX4S9  g )NREGEXP_LIKEr6   rF   rU  s        r   r   RegexpLike.__init__   s    yNr   r   rY  r@   r/   s   @r   r[  r[     s    O Or   r[  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )Replace   c                $   > [         TU ]  SXX4S9  g )NREPLACEr6   rF   )r   rH   find_stringreplace_withr   r   s        r   r   Replace.__init__   s    D|Qr   r   r<   r@   r/   s   @r   ra  ra     r   r   ra  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )Now   c                "   > [         TU ]  SUS9  g )NNOWr6   rF   r   r   r   s     r   r   Now.__init__  s    e,r   r   r<   r@   r/   s   @r   ri  ri     s    - -r   ri  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )UtcTimestampi  c                "   > [         TU ]  SUS9  g )NUTC_TIMESTAMPr6   rF   rm  s     r   r   UtcTimestamp.__init__  s    6r   r   r<   r@   r/   s   @r   rp  rp    s    7 7r   rp  c                  2   ^  \ rS rSrSU 4S jjrS rSrU =r$ )CurTimestampi
  c                "   > [         TU ]  SUS9  g )NCURRENT_TIMESTAMPr6   rF   rm  s     r   r   CurTimestamp.__init__  s    ,E:r   c                    g)Nrw  r   r   s     r   r    CurTimestamp.get_function_sql  s     #r   r   r<   )r)   r*   r+   r,   r   r    r-   r.   r/   s   @r   ru  ru  
  s    ;# #r   ru  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )CurDatei  c                "   > [         TU ]  SUS9  g )NCURRENT_DATEr6   rF   rm  s     r   r   CurDate.__init__      u5r   r   r<   r@   r/   s   @r   r|  r|        6 6r   r|  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )CurTimei  c                "   > [         TU ]  SUS9  g )NCURRENT_TIMEr6   rF   rm  s     r   r   CurTime.__init__  r  r   r   r<   r@   r/   s   @r   r  r    r  r   r  c                  2   ^  \ rS rSrSU 4S jjrS rSrU =r$ )Extracti  c                \   > [        USU5      n[        TU ]	  S[        U5      US9  X l        g )Nr   EXTRACTr6   )r   r   r   r   field)r   r   r  r   r   s       r   r   Extract.__init__  s/    Iw	:	L$;5I
r   c                T    SR                  U R                  R                  " S0 UD6S9$ )NzFROM {field}r  r   )r   r  r   r   s     r   r   Extract.get_special_params_sql$  s(    $$4::+=+=+G+G$HHr   r  r<   r   r/   s   @r   r  r    s    
I Ir   r  c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )IsNulli)  c                "   > [         TU ]  SXS9  g )NISNULLr6   rF   rG   s      r   r   IsNull.__init__*  rk   r   r   r<   rK   r@   r/   s   @r   r  r  )  rl   r   r  c                  (   ^  \ rS rSrU 4S jrSrU =r$ )Coalescei.  c                0   > [         TU ]  " SU/UQ70 UD6  g )NCOALESCErF   )r   rH   default_valuesr   r   s       r   r   Coalesce.__init__/  s    TENEfEr   r   r@   r/   s   @r   r  r  .  s    F Fr   r  c                  (   ^  \ rS rSrU 4S jrSrU =r$ )IfNulli3  c                *   > [         TU ]  " SX40 UD6  g )NIFNULLrF   )r   r  rH   r   r   s       r   r   IfNull.__init__4  s    9=f=r   r   r@   r/   s   @r   r  r  3  r  r   r  c                  0   ^  \ rS rSrSSU 4S jjjrSrU =r$ )NVLi8  c                $   > [         TU ]  SXUS9  g )Nr  r6   rF   )r   r  rH   r   r   s       r   r   NVL.__init__9  s    	u=r   r   r<   rK   r@   r/   s   @r   r  r  8  s    > >r   r  N)D__doc__
__future__r   pypikar   pypika.enumsr   pypika.termsr   r   r   r	   r
   pypika.utilsr   
__author__	__email__r   r1   rB   rN   rT   rZ   r`   rf   rn   rt   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r%  r+  r1  r7  r=  rC  rI  rQ  r[  ra  ri  rp  ru  r|  r  r  r  r  r  r  r   r   r   <module>r     s   #  ! N N  
	. &M" M3
  3
3
 3
3
 3
3
 3
3
 3
6 6
3
 3
5 5
4 4
48 4
5H 5
]- ]18 1?h ?@X @
=T =
?t ?
48 4
Rx R
Hx H
[h [EX E
9 9
_8 _5H 5
>X >
3( 3
5X 5
LX L6X 6
5H 5
5H 5
F F
7h 7
48 4
L L
RH R
O O
Rh R-( -
78 7
#8 #6h 6
6h 6
Ih I6X 6
Fx F
>X >
>( >r   