https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/sqlparse/engine/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/sqlparse/engine/__pycache__/grouping.cpython-310.pyc
o

�e}_�4�@s�ddlmZddlmZddlmZmZejejjejj	fZ
ejejjejj
fZejejjfZdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zeej �d d!��Z!d"d#�Z"d$d%�Z#d&d'�Z$eej%�d(d)��Z&eej'�d*d+��Z(e�d,d-��Z)eej*�d.d/��Z+d0d1�Z,e�d2d3��Z-d4d5�Z.d6d7�Z/d8d9�d:d9�d;d<d<fd=d>�Z0d;S)?�)�sql)�tokens)�recurse�imtc		Cs�g}d}tt|��D]K\}}||}|jrq
|jr$t||�s$t||�q
|j|j�r0|�|�q
|j|j	�rUz|�
�}Wn	tyEYq
w|}|�|||�|||7}q
dS)z*Groups Tokens that have beginning and end.rN)
�	enumerate�list�
is_whitespace�is_group�
isinstance�_group_matching�match�M_OPEN�append�M_CLOSE�pop�
IndexError�group_tokens)	�tlist�cls�opens�tidx_offset�idx�token�tidx�open_idx�	close_idx�r�:/usr/lib/python3/dist-packages/sqlparse/engine/grouping.pyrs,
���rcC�t|tj�dS�N)rr�SquareBrackets�rrrr�group_brackets4�r"cCrr)rr�Parenthesisr!rrr�group_parenthesis8r#r%cCrr)rr�Caser!rrr�
group_case<r#r'cCrr)rr�Ifr!rrr�group_if@r#r)cCrr)rr�Forr!rrr�	group_forDr#r+cCrr)rr�Beginr!rrr�group_beginHr#r-cC�8dd�}dd�}dd�}|}}t|tj||||�dS)NcS�|�tjd�S)Nz::�r�T�Punctuation�rrrrrM�zgroup_typecasts.<locals>.matchcS�|duSrrr3rrr�validP�zgroup_typecasts.<locals>.validcS�||fSrr�r�pidxr�nidxrrr�postSr7zgroup_typecasts.<locals>.post��_groupr�
Identifier�rrr6r<�
valid_prev�
valid_nextrrr�group_typecastsLs
rCcCs0dd�}dd�}dd�}t|tj||||�dS)NcS�|jtjjkSr)�ttyper1�Keyword�TZCastr3rrrr[r4zgroup_tzcasts.<locals>.matchcSr5rrr3rrrr6^r7zgroup_tzcasts.<locals>.validcSr8rrr9rrrr<ar7zgroup_tzcasts.<locals>.postr=)rrr6r<rrr�
group_tzcastsZsrHc	Csddd�}dd�}dd�}dd�}d	d
�}dd�}t|tj||||d
d�t|tj||||dd�dS)NcSst|tjjd�S)N��m)rr�TypedLiteralr
r3rrrrmr#z"group_typed_literal.<locals>.matchcS�t|tj�Sr)r
rrKr3rrr�match_to_extendp�z,group_typed_literal.<locals>.match_to_extendcSr5rrr3rrrrAsr7z'group_typed_literal.<locals>.valid_prevcS�|duo
|jtjj�Sr)rrrKrr3rrrrBv�z'group_typed_literal.<locals>.valid_nextcSrOr)rrrK�M_EXTENDr3rrr�valid_finalyrPz(group_typed_literal.<locals>.valid_finalcSs||fSrrr9rrrr<|r7z!group_typed_literal.<locals>.postF��extendT)r>rrK)rrrMrArBrRr<rrr�group_typed_literalgs�
�rUcC�8dd�}dd�}dd�}dd�}t|tj||||�dS)	NcSr/)N�.r0r3rrrr�r4zgroup_period.<locals>.matchcSs(tjtjf}tjtjjf}t|||d�S�N��i�t)rr r?r1�Name�String�Symbolr)r�sqlcls�ttypesrrrrA�sz group_period.<locals>.valid_prevcS�dS�NTrr3rrrrB�sz group_period.<locals>.valid_nextcSsTtjtjf}tjtjjtjf}|dur||nd}t|||d�}|r&||fS||fSrX)	rr �Functionr1r\r]r^�Wildcardr)rr:rr;r_r`�next_rBrrrr<�s
zgroup_period.<locals>.postr=�rrrArBr<rrr�group_period�s
	rgcCrV)	NcSs|jo|jdkS)N�AS)�
is_keyword�
normalizedr3rrrr�r#zgroup_as.<locals>.matchcSs|jdkp|jS)N�NULL)rjrir3rrrrA�szgroup_as.<locals>.valid_prevcSs&tjtjtjf}t||d�o|duS�N�r[)r1�DML�DDL�CTEr)rr`rrrrB�szgroup_as.<locals>.valid_nextcSr8rrr9rrrr<�r7zgroup_as.<locals>.postr=rfrrr�group_as�s
rqcCr.)NcSr/)Nz:=)rr1�
Assignmentr3rrrr�r4zgroup_assignment.<locals>.matchcSs|duo	|jtjvSr)rEr1rFr3rrrr6��zgroup_assignment.<locals>.validcSs,tjdf}|j||d�\}}|p|}||fS)N�;�rJr)r1r2�
token_next_by)rr:rr;�m_semicolon�snidx�_rrrr<�s
zgroup_assignment.<locals>.post)r>rrrr@rrr�group_assignment�s
rzc	sftjtjtjtjtjf�ttt�dd�}��fdd�}dd�}|}}t	|tj
||||dd�dS)	NcSrDr)rEr1�Operator�
Comparisonr3rrrr�r4zgroup_comparison.<locals>.matchcs.t|��d�r	dS|r|jr|jdkrdSdS)N)r[rZTrkF)rrirjr3�r_r`rrr6�s
zgroup_comparison.<locals>.validcSr8rrr9rrrr<�r7zgroup_comparison.<locals>.postFrS)rr$rcr?�	OperationrK�T_NUMERICAL�T_STRING�T_NAMEr>r|r@rr}r�group_comparison�s�

�r�cCsPtjjtjf}|j|d�\}}|r&|�tj||�|j||d�\}}|sdSdS)Nrm�r[r)r1r]r^r\rvrrr?)rr`rrrrr�group_identifier�s�r�c
sbtjtjtjf�tjtjjf�dd�}��fdd�}dd�}dd�}t|tj||||d	d
d�dS)NcSrLr)r
rr r3rrrr�rNzgroup_arrays.<locals>.matchcst|��d�SrX�rr3r}rrrA�r4z group_arrays.<locals>.valid_prevcSrarbrr3rrrrB�sz group_arrays.<locals>.valid_nextcSs||fSrrr9rrrr<�r7zgroup_arrays.<locals>.postTF)rTr)	rr r?rcr1r\r]r^r>rfrr}r�group_arrays�s


�r�c	sjttt�tjtjtjtjtjtj	f�dd�}��fdd�}dd�}|}}t
|tj||||dd�dS)	NcSst|tjtjfd�Srl)rr1r{rdr3rrrr�rszgroup_operator.<locals>.matchcs t|��d�p|o|�tjd�S)NrY)�CURRENT_DATE�CURRENT_TIME�CURRENT_TIMESTAMP)rrr1rFr3r}rrr6�s��zgroup_operator.<locals>.validcSstj||_||fSr)r1r{rEr9rrrr<szgroup_operator.<locals>.postFrS)rr�r�rr r$rcr?r~rKr>r@rr}r�group_operator�s�

�r�c	s�tjdf�tjtjtjtjtjtjf�t	t
ttjtjtj
f�dd�}���fdd�}dd�}|}}t|tj||||dd	�dS)
N)�null�rolecSr/)N�,r0r3rrrrr4z$group_identifier_list.<locals>.matchcst|���d�S)N)rZrJr[r�r3��m_roler_r`rrr6r#z$group_identifier_list.<locals>.validcSr8rrr9rrrr<r7z#group_identifier_list.<locals>.postTrS)r1rFrrcr&r?r|�IdentifierListr~rr�r��Commentrdr>r@rr�r�group_identifier_list
s
�
�

�r�cCsv|jtjd�\}}|r9|jdd�|d�\}}|dur+|j|dd�\}}|�tj||�|jtj|d�\}}|sdSdS)NrmcSst|tjd�p	|jSrl)rr1r�r)�tkrrr�<lambda>'sz group_comments.<locals>.<lambda>)rF)�skip_wsr�)rvr1r��token_not_matching�
token_prevrr�rrr�eidx�endrrr�group_comments"s
��r�cCs�|jtjjd�\}}|rD|jtjj|d�\}}|dur!|jd}n|j|d}|�|�}|�tj||�|jtjj|d�\}}|sdSdS)NrIru����)	rvr�Wherer
r�_groupable_tokensr�token_indexrr�rrr�group_where/s
�r�cCs�tjtjtjtjtjtjf}|j|tj	d�\}}|r@|�
|�\}}t|tj�r1|jtj||dd�|j|tj	|d�\}}|sdSdS)NrYTrS)rZr[r)
rr$rcr&r?r~r|rvr1�Number�
token_nextr
r)r�I_ALIASrrr;rerrr�
group_aliased@s��r�cCs�d}d}|jD]}|jdkrd}|jdkrd}q|r|rdS|jtjd�\}}|rL|�|�\}}t|tj�r>|�	tj
||�|jtj|d�\}}|s)dSdS)NF�CREATET�TABLErmr�)r�valuervr1r\r�r
rr$rrc)r�
has_create�	has_table�	tmp_tokenrrr;rerrr�group_functionsMs"


��r�cCsn|jtjjd�\}}|r5|�|�\}}t|tjtjd�r&|�	tj||�|}|jtjj|d�\}}|sdSdS)z,Group together Identifier and Asc/Desc tokenrmrYr�N)
rvr1rF�Orderr�rrr?r�r�rrrr:�prev_rrr�group_orderas�r�cCsh|jtjd�\}}|r2|�|�\}}t|tj�r$|jtj||dd�|}|jtj|d�\}}|sdSdS)N)rZTrS)rZr)rvrr�r�r
�	TokenListrr�rrr�align_commentsls�r�cCsh|jtjdfd�\}}|}d}|r"t|tj�r|}|�|�\}}|s|dkr2|jtj||dd�dSdS)N�VALUESrIr�TrS)	rvr1rFr
rr$r�r�Values)rrr�	start_idx�end_idxrrr�group_valuesws��r�cCsFtttttttttt	t
ttt
ttttttttttfD]}||�q|Sr)r�r"r%r'r)r+r-r�r�rgr�r�r�rCrHrUr�r�rqr�rzr�r�r�)�stmt�funcrrr�group�s6�
r�cCrarbrrmrrrr���r�cCrarbrrmrrrr��r�NTc	Cs�d}d\}	}
tt|��D]]\}}||}
|
dkrq|jrq|r1|jr1t||�s1t|||||||�||�rd|�|
�\}}|
rd||
�rd||�rd|||	|
|�\}}|j||||d�}|||7}||}	}
q|
|}	}
qdS)zDGroups together tokens that are joined by a middle token. i.e. x < yr)NNrSN)rrrr	r
r>r�r)rrrrArBr<rTrrr:r�rrrr;re�from_idx�to_idx�grprrrr>�s(	
�r>)1�sqlparserrr1�sqlparse.utilsrrr��Integer�Floatrr]�Singler^r�r\�Placeholderr�rr"r%r'r)r+r-rCrHrUrgrqrzr�r?r�r�r�r�r�r�r�r�r�rcr�r�r�r�r�r>rrrr�<module>sX#

	





$�

https://t.me/RX1948 - 2025