
                             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.4.4)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     $lib/third_party/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                  " 5       nUR                  X5       Vs/ s H  n[        U5      R	                  5       PM     sn$ s  snf )zSplit *sql* into single statements.

:param sql: A string containing one or more SQL statements.
:param encoding: The encoding of the statement (optional).
:returns: A list of strings.
)r   r   r   strstrip)r   r   r   stmts       r   splitr$   >   s@      E*/))C*BC*B$CIOO*BCCCs   #A)N)__doc__sqlparser   r   r   r   r   r   __version____all__r   r   r   r$    r   r   <module>r*      s?           
D-	'-"Dr   