o
    lf                     @   s"   d dl mZmZ G dd dZdS )    )sqltokensc                   @   s0   e Zd ZdZdd Zdd Zdd Zdd	 Zd
S )StatementSplitterz1Filter that split stream at individual statementsc                 C   s   |    d S N)_resetself r	   f/var/www/ticemtrilhas/avaliacao_env/lib/python3.10/site-packages/sqlparse/engine/statement_splitter.py__init__   s   zStatementSplitter.__init__c                 C   s(   d| _ d| _d| _d| _g | _d| _dS )z/Set the filter attributes to its default valuesFr   N)_in_declare
_is_create_begin_depth
consume_wsr   levelr   r	   r	   r
   r      s   
zStatementSplitter._resetc                 C   s   |t ju r|dkrdS |t ju r|dkrdS |t jvrdS | }|t jju r1|dr1d| _dS |dkrB| jrB| jdkrBd| _dS |d	krT|  jd7  _| jrRdS dS |d
krct	d| jd | _dS |dv rq| jrq| jdkrqdS |dv rwdS dS )z<Get the new split level (increase, decrease or remain equal)(   )r   CREATETDECLAREBEGINEND)IFFORWHILECASE)zEND IFzEND FORz	END WHILE)
TPunctuationKeywordupperDDL
startswithr   r   r   max)r   ttypevalueunifiedr	   r	   r
   _change_splitlevel   s:   

z$StatementSplitter._change_splitlevelc                 c   s    t jt jjf}|D ]I\}}| jr ||vr t| jV  |   |  j	| 
||7  _	| jt|| | j	dkrC|t ju rC|dksP|t ju rS| d dkrSd| _q
| jrjtdd | jD slt| jV  dS dS dS )zProcess the streamr   ;GOTc                 s   s    | ]}|j V  qd S r   )is_whitespace).0tr	   r	   r
   	<genexpr>o   s    z,StatementSplitter.process.<locals>.<genexpr>N)r   
WhitespaceCommentSingler   r   	Statementr   r   r   r'   appendTokenr   r   splitall)r   stream	EOS_TTYPEr$   r%   r	   r	   r
   processO   s   zStatementSplitter.processN)__name__
__module____qualname____doc__r   r   r'   r8   r	   r	   r	   r
   r      s    
4r   N)sqlparser   r   r   r   r	   r	   r	   r
   <module>   s   