← Back
Editing: statement_splitter.cpython-311.pyc
� �e}_� � �0 � d dl mZmZ G d� d� � ZdS )� )�sql�tokensc �* � e Zd ZdZd� Zd� Zd� Zd� ZdS )�StatementSplitterz1Filter that split stream at individual statementsc �. � | � � � d S �N)�_reset��selfs �D/usr/lib/python3/dist-packages/sqlparse/engine/statement_splitter.py�__init__zStatementSplitter.__init__ s � ���� � � � � � c �Z � d| _ d| _ d| _ d| _ g | _ d| _ dS )z/Set the filter attributes to its default valuesFr N)�_in_declare� _is_create�_begin_depth� consume_wsr �levelr s r r zStatementSplitter._reset s2 � � ����������������� � � r c � � |t j u r|dk rdS |t j u r|dk rdS |t j vrdS |� � � }|t j j u r|� d� � r d| _ dS |dk r| j r| j dk r d| _ dS |d k r| xj dz c_ | j rdS dS |d k rt d| j dz � � | _ dS |dv r| j r | j dk rdS |dv rdS dS ) z<Get the new split level (increase, decrease or remain equal)�(� �)���r �CREATET�DECLARE�BEGIN�END)�IF�FOR�WHILE�CASE)zEND IFzEND FORz END WHILE) �T�Punctuation�Keyword�upper�DDL� startswithr r r �max)r �ttype�value�unifieds r �_change_splitlevelz$StatementSplitter._change_splitlevel sW � � �A�M�!�!�e�s�l�l��1� �a�m� #� #������2� �!�)� #� #��1� �+�+�-�-�� �A�I�M�!�!�g�&8�&8��&B�&B�!�"�D�O��1� �i���D�O���8I�Q�8N�8N�#�D���1��g�������"����� ��q��1� �e��� #�A�t�'8�1�'<� =� =�D���2��5�5�5��O� 6�(,�(9�A�(=�(=��1��8�8�8��2� �qr c # �> K � t j t j j f}|D ]�\ }}| j r3||vr/t j | j � � V � | � � � | xj | � ||� � z c_ | j � t j ||� � � � | j dk r|t j u r |dk rd| _ ��| j r;t d� | j D � � � � st j | j � � V � dS dS dS )zProcess the streamr �;Tc 3 �$ K � | ]}|j V � �d S r )� is_whitespace)�.0�ts r � <genexpr>z,StatementSplitter.process.<locals>.<genexpr>j s$ � � � �"H�"H�q�1�?�"H�"H�"H�"H�"H�"Hr N)r"