U e,@sLddlTddlTddZddZddZdd Zd d Zd d ZddZdS))*cCs |ddS)N"z"")replace)stringri/opt/hc_python/lib64/python3.8/site-packages/../../../lib/python3.8/site-packages/mysqlx/expr_unparser.pyescape_literalsrcCs|jtjkrt|jS|jtjkr,t|jS|jtjkrH|jrBdSdSn>|jtj krfd t |j j S|jtjkrvdStd |jdS)NTRUEFALSEz"{0}"ZNULLzUnknown type tag: {0})typeZScalarZV_SINTstrZ v_signed_intZV_DOUBLEZv_doubleZV_BOOLZv_boolZV_STRINGformatrZv_stringvalueZV_NULL ValueError)srrrscalar_to_string s       rcCsFt|j}|dr&dt|j|}|drBdt|j|}|S)N table_namez{0}.{1} schema_name)quote_identifiernameHasFieldr rr)idrrrrcolumn_identifier_to_string2s    rcCszt|jjd}|jdr0t|jjd|}tdt|jD]0}|t|j|}|dt|jkr@|d}q@|dS)N(r.r, ))rrrrxrangelenparamexpr_to_string)fcrirrrfunction_call_to_string=s  r$cCs|j}|jdkrdt|dd}tdt|D],}|t||}|dt|kr.|d}q.|dS|jdkrdt|dt|dd d S|jd krd t|dt|dt|d S|jdkrt|dkrdt|dt|dt|d St|d kr0dt|d|jt|dSt|dkr|t|jdkrdd|jt|dSd|jt|dSntd|dS)NINrz IN (rrrZINTERVALzINTERVAL {0} {1}rZBETWEENz{0} BETWEEN {1} AND {2}ZLIKEz{0} LIKE {1} ESCAPE {2}z {0} {1} {2}z{0}{1}z {0} ({1})zUnknown operator structure: {0})r rr!rrr rr)opZpsrr#rrroperator_to_stringHs@          r*cCsBd|ks(d|ks(d|ks(d|ks(d|kr:d|ddS|SdS)N`r'@rz`{0}`z``)r r)rrrrrjs(rcCs|jtjkrt|jS|jtjkr,t|jS|jtjkrBt |j S|jtj krXt |j S|jtjkrtdt|jStd|jdS)Nz@{0}zUnknown expression type: {0})r ExprLITERALrliteralZIDENTr identifierZ FUNC_CALLr$Z function_callZOPERATORr*operatorVARIABLEr rvariabler)errrr!qs         r!N) Zprotobuf.mysqlx_datatypes_pb2Zprotobuf.mysqlx_expr_pb2rrrr$r*rr!rrrrs  "