
    %h	                         S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  Sr/ S	Qr	SS jr
SS jrSS jrSS jrg
)zParse SQL statements.    )sql)cli)engine)tokens)filters)	formatterz0.5.3)r   r   r   r   r   r   Nc                 *    [        [        X5      5      $ )zParse sql and return a list of statements.

:param sql: A string containing one or more SQL statements.
:param encoding: The encoding of the statement (optional).
:returns: A tuple of :class:`~sqlparse.sql.Statement` instances.
)tupleparsestream)r   encodings     C/var/www/html/env/lib/python3.13/site-packages/sqlparse/__init__.pyparser      s     S+,,    c                 n    [         R                  " 5       nUR                  5         UR                  X5      $ )zParses sql statements from file-like object.

:param stream: A file-like object.
:param encoding: The encoding of the stream contents (optional).
:returns: A generator of :class:`~sqlparse.sql.Statement` instances.
)r   FilterStackenable_groupingrun)streamr   stacks      r   r   r   !   s-      E	99V&&r   c                     [         R                  " 5       n[        R                  " U5      n[        R                  " X25      nUR
                  R                  [        R                  " 5       5        SR                  UR                  X5      5      $ )a  Format *sql* according to *options*.

Available options are documented in :ref:`formatting`.

In addition to the formatting options this function accepts the
keyword "encoding" which determines the encoding of the statement.

:returns: The formatted SQL statement as string.
 )r   r   r   validate_optionsbuild_filter_stackpostprocessappendr   SerializerUnicodejoinr   )r   r   optionsr   s       r   formatr   -   sg      E((1G((8E	W668977599S+,,r   c                     [         R                  " US9nUR                  X5       Vs/ s H  n[        U5      R	                  5       PM     sn$ s  snf )a  Split *sql* into single statements.

:param sql: A string containing one or more SQL statements.
:param encoding: The encoding of the statement (optional).
:param strip_semicolon: If True, remove trainling semicolons
    (default: False).
:returns: A list of strings.
)strip_semicolon)r   r   r   strstrip)r   r   r!   r   stmts        r   splitr%   >   sB     ?E*/))C*BC*B$CIOO*BCCCs   #A)N)NF)__doc__sqlparser   r   r   r   r   r   __version____all__r   r   r   r%    r   r   <module>r+      s?           
D-	'-"
Dr   