## org.h2.util
Class ScriptReader

    java.lang.Object
      org.h2.util.ScriptReader

    public class ScriptReader

extends java.lang.Object

This class can split SQL scripts to single SQL statements. Each SQL statement ends with the character ';', however it is ignored in comments and quotes.

Constructor Summary
`ScriptReader(java.io.Reader reader)` Create a new SQL script reader from the given reader

Method Summary
`void` `close()` Close the underlying reader.
`boolean` `isBlockRemark()` If currently inside a remark, this method tells if it is a block comment (true) or single line comment (false)
`boolean` `isInsideRemark()` Check if this is the last statement, and if the single line or block comment is not finished yet.
`java.lang.String` `readStatement()` Read a statement from the reader.
`void` `setSkipRemarks(boolean skipRemarks)` If comments should be skipped completely by this reader.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ScriptReader

    public ScriptReader(java.io.Reader reader)

  Create a new SQL script reader from the given reader

  Parameters:
    `reader` - the reader

Method Detail

### close

    public void close()
               throws java.sql.SQLException

  Close the underlying reader.

  Throws:
    `java.sql.SQLException`

### readStatement

    public java.lang.String readStatement()
                                   throws java.sql.SQLException

  Read a statement from the reader. This method returns null if the end has been reached.

  Returns:
    the SQL statement or null
  Throws:
    `java.sql.SQLException`

### isInsideRemark

    public boolean isInsideRemark()

  Check if this is the last statement, and if the single line or block comment is not finished yet.

  Returns:
    true if the current position is inside a remark

### isBlockRemark

    public boolean isBlockRemark()

  If currently inside a remark, this method tells if it is a block comment (true) or single line comment (false)

  Returns:
    true if inside a block comment

### setSkipRemarks

    public void setSkipRemarks(boolean skipRemarks)

  If comments should be skipped completely by this reader.

  Parameters:
    `skipRemarks` - true if comments should be skipped