
    J}bg@                     2    d dl mZmZ  G d de          ZdS )    )sqltokensc                   *    e Zd ZdZd Zd Zd Zd ZdS )StatementSplitterz1Filter that split stream at individual statementsc                 .    |                                   d S )N)_resetselfs    u/home/e360mart.nyusoft.in/public_html/e360mart_env/lib/python3.11/site-packages/sqlparse/engine/statement_splitter.py__init__zStatementSplitter.__init__   s        c                 Z    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	   s    r   r   zStatementSplitter._reset   s2     


r   c                    |t           j        vrdS |                                }|t           j        j        u r|                    d          r	d| _        dS |dk    r| j        r| j        dk    r	d| _        dS |dk    r| xj        dz  c_        | j        rdS dS |dk    rt          d| j        dz
            | _        dS |d	v r| j        r| j        dk    rdS |d
v rdS dS )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#    	!!1
 ++-- AIM!!g&8&8&B&B!"DO1 iDO8IQ8N8N#D1g" q1 e #At'81'< = =D2--- .$($5$9$918882 qr   c              #     K   t           j        t           j        j        f}|D ]\  }}| j        r3||vr/t          j        | j                  V  |                                  | xj	        | 
                    ||          z  c_	        | j                            t          j        ||                     | j	        dk    r|t           j        u r|dk    rd| _        | j        rt          j        | j                  V  dS dS )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     L!)"22	 # 	' 	'LE5
  5	#9#9mDK00000  JJ$11%???JJ Ksy66777 zQ5AM#9#9esll"& ; 	--,,,,,,,	- 	-r   N)__name__
__module____qualname____doc__r   r   r'   r3    r   r   r   r      sW        ;;    0 0 0d- - - - -r   r   N)sqlparser   r   r   objectr   r8   r   r   <module>r;      s]    & % % % % % % %^- ^- ^- ^- ^- ^- ^- ^- ^- ^-r   