
    Dh,                     B    d dl  d dl d Zd Zd Zd Zd Zd Zd Zy	)
   )*c                 &    | j                  dd      S )N"z"")replace)strings    T/var/www/html/civilisation/venv/lib/python3.12/site-packages/mysqlx/expr_unparser.pyescape_literalr	      s    >>#t$$    c                 :   | j                   t        j                  k(  rt        | j                        S | j                   t        j
                  k(  rt        | j                        S | j                   t        j                  k(  r| j                  ryy| j                   t        j                  k(  r.dj                  t        | j                  j                              S | j                   t        j                  k(  ryt        dj                  | j                               )NTRUEFALSEz"{0}"NULLzUnknown type tag: {0})typeScalarV_SINTstrv_signed_intV_DOUBLEv_doubleV_BOOLv_boolV_STRINGformatr	   v_stringvalueV_NULL
ValueError)ss    r   scalar_to_stringr       s    vv1>>""	
6??	"1::	
6==	 88	
6??	"~~nQZZ-=-=>??	
6==	 077?@@r
   c                    t        | j                        }| j                  d      r%dj                  t        | j                        |      }| j                  d      r%dj                  t        | j
                        |      }|S )N
table_namez{0}.{1}schema_name)quote_identifiernameHasFieldr   r!   r"   )idr   s     r   column_identifier_to_stringr'   2   sg    !A	{{< -bmm<a@	{{=!-bnn=qA Hr
   c                    t        | j                  j                        dz   }| j                  j                  d      r%t        | j                  j                        dz   |z   }t	        dt        | j                              D ]>  }|t        | j                  |         z   }|dz   t        | j                        k  s:|dz   }@ |dz   S )N(r"   .    r   , ))r#   r$   r%   r"   xrangelenparamexpr_to_string)fcr   is      r   function_call_to_stringr4   =   s    &,A	ww&RWW001C7!;As288}% rxx{++q53rxx= DA s7Nr
   c                 T   | j                   }| j                  dk(  rXt        |d         dz   }t        dt	        |            D ]*  }|t        ||         z   }|dz   t	        |      k  s&|dz   }, |dz   S | j                  dk(  r:dj                  t        |d         t        |d         j                  d	d
            S | j                  dk(  r7dj                  t        |d         t        |d         t        |d               S | j                  dk(  rEt	        |      dk(  r7dj                  t        |d         t        |d         t        |d               S t	        |      dk(  r5dj                  t        |d         | j                  t        |d               S t	        |      dk(  rht	        | j                        dk(  r(dj                  | j                  t        |d               S dj                  | j                  t        |d               S t        dj                  |             )NINr+   z IN (r   r,   r-   INTERVALzINTERVAL {0} {1}r    BETWEENz{0} BETWEEN {1} AND {2}   LIKE   z{0} LIKE {1} ESCAPE {2}z{0} {1} {2}z{0}{1}z	{0} ({1})zUnknown operator structure: {0})r0   r$   r1   r.   r/   r   r   r   )oppsr   r3   s       r   operator_to_stringr?   H   s   	B	ww$2a5!G+3r7# 	AN2a5))A1us2wH	 3w	J	6.A/(A/77R@B	C 
I	(//r!u0E0>r!u0E0>r!u0EG 	G 
F	s2w!|(//r!u0E0>r!u0E0>r!u0EG 	G 
RA##N2a5$9277$22a5$9; 	;	RArww<1??277N2a5,ABB %%bgg~be/DEE:AA"EFFr
   c                 p    d| v sd| v sd| v sd| v sd| v r!dj                  | j                  dd            S | S )N`r   '@r*   z`{0}`z``)r   r   )r&   s    r   r#   r#   j   s@    
byC2IcRi3"9~~bjjd344	r
   c                 \   | j                   t        j                  k(  rt        | j                        S | j                   t        j
                  k(  rt        | j                        S | j                   t        j                  k(  rt        | j                        S | j                   t        j                  k(  rt        | j                        S | j                   t        j                  k(  r$dj                  t!        | j"                              S t%        dj                  | j                               )Nz@{0}zUnknown expression type: {0})r   ExprLITERALr   literalIDENTr'   
identifier	FUNC_CALLr4   function_callOPERATORr?   operatorVARIABLEr   r#   variabler   )es    r   r1   r1   q   s    vv		**	
4::	*1<<88	
4>>	!&q77	
4==	 !!**--	
4==	 }}-ajj9::7>>qvvFGGr
   N)	protobuf.mysqlx_datatypes_pb2protobuf.mysqlx_expr_pb2r	   r   r'   r4   r?   r#   r1    r
   r   <module>rT      s4   0 - '%A$GDHr
   