
    EȂi                     (    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    SD:\sksbv-state-backend\venv\Lib\site-packages\sqlparse/engine/statement_splitter.py__init__StatementSplitter.__init__   s        c                 t    SU l         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_seen_begin
consume_wsr   levelr   s    r   r
   StatementSplitter._reset   s=      
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        SU l	        U R                  (       a  ggU R                  (       aR  U[         R                  L d  U[         R                  L a,  US
;   a&  [        SU R                  S-
  5      U l        SU l	        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)TRANSACTIONWORKTRANDISTRIBUTEDDEFERRED	IMMEDIATE	EXCLUSIVEFEND)IFFORWHILECASEr-   )zEND IFzEND FORz	END WHILE)TPunctuationKeywordupperDDL
startswithr   r   r   r   Namemaxr   )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"#D !))#u 6 6 !$At'8'81'< =D$D e==$'4+<+<q+@$A!  !&55OO(9(9A(=&  $88 r   c              #     #    [         R                  [         R                  R                  4nU G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                  L al  US:X  af  U R                  (       a  [        SU R                   S-
  5      U l        SU l        U R                  S::  a  U R                   S:X  a
  SU l        GM  GM  GM   U[         R"                  L a!  UR%                  5       S   S:X  a
  SU l        GMT  U[         R                  [         R&                  [         R                  R                  [         R                  R(                  4;  d  GM  U[         R"                  L a  UR+                  5       S:X  a  G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 stream;r   r   FTGOr!   c              3   6   #    U H  oR                   v   M     g 7fr	   )is_whitespace).0ts     r   	<genexpr>,StatementSplitter.process.<locals>.<genexpr>   s     "HKq??Ks   N)r.   
WhitespaceCommentSingler   r   	Statementr   r
   r   r9   appendTokenr/   r   r5   r   r0   splitNewline	Multiliner1   all)r   stream	EOS_TTYPEr6   r7   s        r   processStatementSplitter.process_   s    LL!))"2"22	 #LE
 5#9mmDKK00  JJ$11%??J KKsyy67 %%3, ##(+At/@/@1/D(ED%#( ::?t'8'8A'=&*DO (>?!))#a(8D(@"&aii9I9I !		 3 3 5 5 AII-%++-72J $) Q #V ;;s"HDKK"HHH--,,  I;s   GI)%I)A#I))r   r   r   r   r   r   r   r   N)
__name__
__module____qualname____firstlineno____doc__r   r
   r9   rP   __static_attributes__ r   r   r   r      s    ;
@D1-r   r   N)sqlparser   r   r.   r   rX   r   r   <module>rZ      s    &E- E-r   