
    Ii                     ~    S SK r S SKrS SKJr  SSKJ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   " S	 S
\5      rg)    N)time   )defines)errors)OpenTelemetryTraceContext)write_varint)write_binary_strwrite_binary_uint8write_binary_uint64write_binary_uint128c                      ^  \ rS rSr " S S\5      r " S S\5      r\R                  r	\R                  r\R                  r\R                  rSrSrSrU 4S jr\S	 5       rS
 rSrU =r$ )
ClientInfo   c                       \ rS rSrSrSrSrg)ClientInfo.Interface   r       N)__name__
__module____qualname____firstlineno__TCPHTTP__static_attributes__r       B/venv/lib/python3.13/site-packages/clickhouse_driver/clientinfo.py	Interfacer      s    r   r   c                        \ rS rSrSrSrSrSrg)ClientInfo.QueryKind   r   r   r   r   N)r   r   r   r   NO_QUERYINITIAL_QUERYSECONDARY_QUERYr   r   r   r   	QueryKindr       s     r   r%    z	0.0.0.0:0c                   > [         R                  R                  U l         [        R
                  " 5       U l        [        R                  " 5       U l
        Xl        X0l        [        UR                  S   UR                  S   5      U l        UR                  S   U l        SU l        [%        ['        5       S-  5      U l        [*        [         U ][  5         g ! [         a
    SU l         Nf = f)Nr&   opentelemetry_traceparentopentelemetry_tracestate	quota_keyr   i@B )r   r%   r"   
query_kindgetpassgetuseros_userKeyErrorsocketgethostnameclient_hostnameclient_nameclient_revisionr   client_settingsclient_trace_contextr*   distributed_depthintr   %initial_query_start_time_microsecondssuper__init__)selfr3   contextr4   	__class__s       r   r;   ClientInfo.__init__%   s    $..77	"??,DL  &113&.$=##$?@##$>?%
!
 !00=!"58'9I5J2j$(*  	DL	s   C C*)C*c                 P    U R                   [        R                  R                  :H  $ )N)r+   r   r%   r"   )r<   s    r   emptyClientInfo.empty;   s    *"6"6"?"???r   c                    UnU[         R                  :  a  [        R                  " S5      e[	        U R
                  U5        U R                  (       a  g [        U R                  U5        [        U R                  U5        [        U R                  U5        U[         R                  :  a  [        U R                  U5        [	        U R                  U5        [        U R                  U5        [        U R                   U5        [        U R"                  U5        [%        U R&                  U5        [%        U R(                  U5        [%        U R*                  U5        U[         R,                  :  a  [        U R.                  U5        U[         R0                  :  a  [%        U R2                  U5        U[         R4                  :  a  [%        U R6                  U5        U[         R8                  :  a  U R:                  R<                  b  [	        SU5        [?        U R:                  R<                  U5        [        U R:                  R@                  U5        [        U R:                  RB                  U5        [	        U R:                  RD                  U5        O[	        SU5        U[         RF                  :  a%  [%        SU5        [%        SU5        [%        SU5        g g )NzAMethod ClientInfo.write is called for unsupported server revisionr   r   )$r   "DBMS_MIN_REVISION_WITH_CLIENT_INFOr   LogicalErrorr
   r+   rA   r	   initial_userinitial_query_idinitial_address7DBMS_MIN_PROTOCOL_VERSION_WITH_INITIAL_QUERY_START_TIMEr   r9   	interfacer.   r2   r3   r   client_version_majorclient_version_minorr4   /DBMS_MIN_REVISION_WITH_QUOTA_KEY_IN_CLIENT_INFOr*   0DBMS_MIN_PROTOCOL_VERSION_WITH_DISTRIBUTED_DEPTHr7   $DBMS_MIN_REVISION_WITH_VERSION_PATCHclient_version_patch$DBMS_MIN_REVISION_WITH_OPENTELEMETRYr6   trace_idr   span_id
tracestatetrace_flags(DBMS_MIN_REVISION_WITH_PARALLEL_REPLICAS)r<   server_revisionfoutrevisions       r   writeClientInfo.write?   s-   "WGGG%% 'H I I 	4??D1::**D1..5--t4 KKL  ::D 	4>>40t,--t4))40T..5T..5T))40wNNNT^^T2HHI//6wCCC22D9wCCC((11="1d+$T%>%>%G%GN#D$=$=$E$EtL !:!:!E!EtL"4#<#<#H#H$O #1d+wGGGD!D!D! Hr   )	r2   r3   r4   r6   r7   r9   r.   r+   r*   )r   r   r   r   objectr   r%   r   CLIENT_VERSION_MAJORrK   CLIENT_VERSION_MINORrL   CLIENT_VERSION_PATCHrP   r   rJ   rF   rG   rH   r;   propertyrA   rZ   r   __classcell__)r>   s   @r   r   r      s    F F  #77"77"77IL!O+, @ @8" 8"r   r   )r0   r,   r   r&   r   r   opentelemetryr   varintr   writerr	   r
   r   r   r\   r   r   r   r   <module>re      s2         4  . .j" j"r   