Package org.h2.util

Class ScriptReader

java.lang.Object
org.h2.util.ScriptReader
All Implemented Interfaces:
Closeable, AutoCloseable

public class ScriptReader extends Object implements Closeable
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

    Constructors
    Constructor
    Description
    Create a new SQL script reader from the given reader
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Close the underlying reader.
    boolean
    If currently inside a remark, this method tells if it is a block comment (true) or single line comment (false)
    boolean
    Check if this is the last statement, and if the single line or block comment is not finished yet.
    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 Details

    • ScriptReader

      public ScriptReader(Reader reader)
      Create a new SQL script reader from the given reader
      Parameters:
      reader - the reader
  • Method Details

    • close

      public void close()
      Close the underlying reader.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • readStatement

      public String readStatement()
      Read a statement from the reader. This method returns null if the end has been reached.
      Returns:
      the SQL statement or null
    • 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