
    h@                     *    d dl mZmZ  G d de      Zy)    )sqltokensc                   (    e Zd ZdZd Zd Zd Zd Zy)StatementSplitterz1Filter that split stream at individual statementsc                 $    | j                          y )N)_resetselfs    e/var/www/html/ranktracker/api/venv/lib/python3.12/site-packages/sqlparse/engine/statement_splitter.py__init__zStatementSplitter.__init__   s        c                 X    d| _         d| _        d| _        d| _        g | _        d| _        y)z/Set the filter attributes to its default valuesFr   N)_in_declare
_is_create_begin_depth
consume_wsr   levelr	   s    r   r   zStatementSplitter._reset   s.     
r   c                    |t         j                  vry|j                         }|t         j                  j                  u r|j	                  d      rd| _        y|dk(  r#| j
                  r| j                  dk(  rd| _        y|dk(  r#| xj                  dz  c_        | j
                  ryy|dk(  rt        d| j                  dz
        | _        y|d	v r| j
                  r| j                  dkD  ry|d
v ryy)z<Get the new split level (increase, decrease or remain equal)r   CREATETDECLARE   BEGINEND)IFFORWHILE)zEND IFzEND FORz	END WHILE)	TKeywordupperDDL
startswithr   r   r   max)r
   ttypevalueunifieds       r   _change_splitlevelz$StatementSplitter._change_splitlevel   s     		!
 ++- AIIMM!g&8&8&B"DO iDOO8I8IQ8N#Dg" e #At'8'81'< =D--D$5$5$988 r   c              #   Z  K   t         j                  t         j                  j                  f}|D ]  \  }}| j                  r5||vr1t        j                  | j                         | j                          | xj                  | j                  ||      z  c_	        | j                  j                  t        j                  ||             | j                  dk  s|t         j                  u s|dk(  sd| _         | j                  r"t        j                  | j                         yyw)zProcess the streamr   ;TN)r   
WhitespaceCommentSingler   r   	Statementr   r   r   r'   appendTokenPunctuation)r
   stream	EOS_TTYPEr$   r%   s        r   processzStatementSplitter.processM   s     LL!))"2"22	 # 	'LE5
 5	#9mmDKK00  JJ$11%??J KKsyy67 zzQ5AMM#9esl"&'	', ;;--,, s   CD+D+-D+38D+N)__name__
__module____qualname____doc__r   r   r'   r3    r   r   r   r      s    ;0d-r   r   N)sqlparser   r   r   objectr   r8   r   r   <module>r;      s    &^- ^-r   