
    %h                     (    S SK JrJr   " S S5      rg)    )sqltokensc                   0    \ rS rSrSrS rS rS rS rSr	g)	StatementSplitter   z1Filter that split stream at individual statementsc                 $    U R                  5         g N)_resetselfs    T/var/www/html/env/lib/python3.13/site-packages/sqlparse/engine/statement_splitter.py__init__StatementSplitter.__init__   s        c                 f    SU l         SU l        SU l        SU l        SU l        / U l        SU l        g)z/Set the filter attributes to its default valuesFr   N)_in_declare_in_case
_is_create_begin_depth
consume_wsr   levelr   s    r   r
   StatementSplitter._reset   s5     
r   c                    U[         R                  L a  US:X  a  gU[         R                  L a  US:X  a  gU[         R                  ;  a  gUR                  5       nU[         R                  R                  L a  UR                  S5      (       a  SU l        gUS:X  a)  U R                  (       a  U R                  S:X  a  SU l        gUS	:X  a(  U =R                  S-  sl        U R                  (       a  ggUS
:X  a8  U R                  (       d  [        SU R                  S-
  5      U l        gSU l	        gUS;   a/  U R                  (       a  U R                  S:  a  US:X  a  SU l	        gUS;   a  gg)z<Get the new split level (increase, decrease or remain equal)(   )r   CREATETDECLAREBEGINENDF)IFFORWHILECASEr%   )zEND IFzEND FORz	END WHILE)TPunctuationKeywordupperDDL
startswithr   r   r   r   max)r   ttypevalueunifieds       r   _change_splitlevel$StatementSplitter._change_splitlevel   s@    AMM!eslamm#!))#
 ++- AIIMM!g&8&8&B&B"DO iDOO8I8IQ8N#Dg" e==$'4+<+<q+@$A!  !&55OO(9(9A(=&  $88 r   c              #     #    [         R                  [         R                  R                  4nU H  u  p4U R                  (       a7  X2;  a2  [
        R                  " U R                  5      v   U R                  5         U =R                  U R                  X45      -  sl	        U R                  R                  [
        R                  " X45      5        U R                  S::  a  U[         R                  L a  US:X  d.  U[         R                  L d  M  UR                  5       S   S:X  d  M  SU l        GM     U R                  (       aE  [!        S U R                   5       5      (       d#  [
        R                  " U R                  5      v   ggg7f)zProcess the streamr   ;GOTc              3   8   #    U  H  oR                   v   M     g 7fr	   )is_whitespace).0ts     r   	<genexpr>,StatementSplitter.process.<locals>.<genexpr>r   s     "HKq??Ks   N)r&   
WhitespaceCommentSingler   r   	Statementr   r
   r   r0   appendTokenr'   r(   splitall)r   stream	EOS_TTYPEr-   r.   s        r   processStatementSplitter.processR   s
    LL!))"2"22	 #LE
 5#9mmDKK00  JJ$11%??J KKsyy67 

aEQ]]$:u|*u{{}Q/?4/G"&1 #6 ;;s"HDKK"HHH--,,  I;s   DF	F	&A#F	)r   r   r   r   r   r   r   N)
__name__
__module____qualname____firstlineno____doc__r   r
   r0   rE   __static_attributes__ r   r   r   r      s    ;	4l!-r   r   N)sqlparser   r   r&   r   rM   r   r   <module>rO      s    &h- h-r   