
    wiZ                       d dl mZ d dlmZ d dlmZ dZdZ G d de          Z G d d	e          Z	 G d
 de	          Z
 G d de	          Z G d de	          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d d          Z G d d          Z G d d          Z G d  d!e          Z G d" d#e          Zd$S )%    )annotations)Enum)AnyzTimothy Heysztheys@kayak.comc                  &    e Zd ZdZdZdZdZdZdZdS )
Arithmetic+-*/z<<z>>N)	__name__
__module____qualname__addsubmuldivlshiftrshift     ?/var/www/icac/venv/lib/python3.11/site-packages/pypika/enums.pyr   r   
   s,        
C
C
C
CFFFFr   r   c                      e Zd ZdS )
ComparatorN)r   r   r   r   r   r   r   r      s        Dr   r   c                  &    e Zd ZdZdZdZdZdZdZdS )Equality=z<>>z>=<z<=N)	r   r   r   eqnegtgteltlter   r   r   r   r      s,        	B	B	B
C	B
CCCr   r   c                  6    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdS )Matchingz
 NOT LIKE z LIKE z NOT ILIKE z ILIKE z RLIKE z REGEX z REGEXP z REGEX BINARY z AS OF z GLOB N)r   r   r   not_likelike	not_ilikeilikerlikeregexregexp	bin_regexas_ofglobr   r   r   r&   r&       s@        HDIEEEF IEDDDr   r&   c                  "    e Zd ZdZdZdZdZdZdS )BooleanANDORXORTRUEFALSEN)r   r   r   and_or_xor_truefalser   r   r   r2   r2   -   s'        D
CDDEEEr   r2   c                      e Zd ZdZdZdS )OrderASCDESCN)r   r   r   ascdescr   r   r   r>   r>   5   s        
CDDDr   r>   c                  2    e Zd ZdZdZdZdZdZdZdZ	dZ
dZd	S )
JoinType LEFTRIGHTz
FULL OUTERz
LEFT OUTERzRIGHT OUTERCROSSHASHN)r   r   r   innerleftrightouter
left_outerright_outer
full_outercrosshashr   r   r   rD   rD   :   s;        EDEEJKJEDDDr   rD   c                  "    e Zd ZdZdZdZdZdZdS )ReferenceOptionCASCADEz	NO ACTIONRESTRICTzSET NULLzSET DEFAULTN)r   r   r   cascade	no_actionrestrictset_nullset_defaultr   r   r   rT   rT   F   s'        GIHHKKKr   rT   c                  "    e Zd ZdZdZdZdZdZdS )SetOperationUNIONz	UNION ALL	INTERSECTEXCEPTMINUSN)r   r   r   union	union_all	intersect	except_ofminusr   r   r   r]   r]   N   s'        EIIIEEEr   r]   c                  2    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
S )DatePartYEARQUARTERMONTHWEEKDAYHOURMINUTESECONDMICROSECONDN)r   r   r   yearquartermonthweekdayhourminutesecondmicrosecondr   r   r   rh   rh   V   s;        DGED
CDFFKKKr   rh   c                  &    e Zd ZddZdd	ZddZdS )SqlTypenamestrreturnNonec                    || _         d S Nr}   )selfr}   s     r   __init__zSqlType.__init__c   s    			r   lengthintSqlTypeLengthc                ,    t          | j        |          S r   )r   r}   )r   r   s     r   __call__zSqlType.__call__f   s    TY///r   kwargsr   c                8    d                     | j                  S )Nz{name}r   )formatr}   r   r   s     r   get_sqlzSqlType.get_sqli   s    DI...r   N)r}   r~   r   r   )r   r   r   r   r   r   r   r~   )r   r   r   r   r   r   r   r   r   r|   r|   b   sP           0 0 0 0/ / / / / /r   r|   c                      e Zd ZddZdd
ZdS )r   r}   r~   r   r   r   r   c                "    || _         || _        d S r   r}   r   )r   r}   r   s      r   r   zSqlTypeLength.__init__n   s    	r   r   r   c                D    d                     | j        | j                  S )Nz{name}({length})r   )r   r}   r   r   s     r   r   zSqlTypeLength.get_sqlr   s    !((di(LLLr   N)r}   r~   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   m   sB           M M M M M Mr   r   c                      e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
Z ed          Z ed          Z ed          Z ed          Z ed          Z ed          ZdS )SqlTypesBOOLEANINTEGERFLOATNUMERICSIGNEDUNSIGNEDzINTEGER AUTO_INCREMENTDATETIME	TIMESTAMPCHARVARCHARzLONG VARCHARBINARY	VARBINARYzLONG VARBINARYN)r   r   r   r   r   r   r   r   r   INTEGER_AUTO_INCREMENTr   r   r   r|   r   r   LONG_VARCHARr   r   LONG_VARBINARYr   r   r   r   r   v   s        GGEGFH5DDI76??Dgi  G7>**LWXF$$IW-..NNNr   r   c                  6    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdS )Dialectsvertica
clickhousejiraoraclemssqlmysql
postgresqlredshiftsqllite	snowflakeN)r   r   r   VERTICA
CLICKHOUSEJIRAORACLEMSSQLMYSQL
POSTGRESQLREDSHIFTSQLLITE	SNOWFLAKEr   r   r   r   r      s@        GJDFEEJHGIIIr   r   c                  2    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
S )JSONOperators?z@>z<@z?&z?|z->z->>z#>z#>>N)r   r   r   HAS_KEYCONTAINSCONTAINED_BYHAS_KEYSHAS_ANY_KEYSGET_JSON_VALUEGET_TEXT_VALUEGET_PATH_JSON_VALUEGET_PATH_TEXT_VALUEr   r   r   r   r      s?        GHLHLNNr   r   N)
__future__r   enumr   typingr   
__author__	__email__r   r   r   r&   r2   r>   rD   rT   r]   rh   r|   r   r   r   r   r   r   r   <module>r      s   " " " " " "            
	       	 	 	 	 	 	 	 	    z   
 
 
 
 
z 
 
 
    j       D   
	 	 	 	 	t 	 	 	         d          4   	  	  	  	  	 t 	  	  	 / / / / / / / /M M M M M M M M/ / / / / / / /*
 
 
 
 
t 
 
 
	  	  	  	  	 D 	  	  	  	  	 r   