## org.h2.command.dml
Class ScriptCommand

    java.lang.Object
      org.h2.command.Prepared
          org.h2.command.dml.ScriptCommand

All Implemented Interfaces:
  DataHandler

    public class ScriptCommand

extends Prepared

This class represents the statement SCRIPT

Field Summary
`protected java.io.InputStream` `in` The input stream.
`protected java.io.OutputStream` `out` The output stream.

Fields inherited from class org.h2.command.Prepared
`create, parameters, prepareAlways, session, sqlStatement`

Constructor Summary
`ScriptCommand(Session session)`

Method Summary
`void` `checkPowerOff()` Check if the simulated power failure occurred.
`void` `checkWritingAllowed()` Check if writing is allowed.
`static java.io.InputStream` `combineBlob(java.sql.Connection conn, int id)` Combine a BLOB.
`static java.io.Reader` `combineClob(java.sql.Connection conn, int id)` Combine a CLOB.
`java.lang.String` `getDatabasePath()` Get the database path.
`protected java.lang.String` `getFileName()`
`java.lang.String` `getLobCompressionAlgorithm(int type)` Get the compression algorithm used for large objects.
`java.sql.Connection` `getLobConnection()` Get a database connection to be used for LOB access.
`SmallLRUCache<java.lang.String,java.lang.String[]>` `getLobFileListCache()` Get the lob file list cache if it is used.
`LobStorageBackend` `getLobStorage()` Get the lob storage mechanism to use.
`java.lang.Object` `getLobSyncObject()` Get the synchronization object for lob operations.
`int` `getMaxLengthInplaceLob()` Get the maximum length of a in-place large object
`TempFileDeleter` `getTempFileDeleter()` Get the temp file deleter mechanism.
`int` `getType()` Get the command type as defined in CommandInterface
`boolean` `isQuery()` Check if this object is a query.
`boolean` `isTransactional()` Check if this command is transactional.
`boolean` `needRecompile()` Check if the statement needs to be re-compiled.
`FileStore` `openFile(java.lang.String name, java.lang.String mode, boolean mustExist)` Open a file at the given location.
`ResultInterface` `query(int maxrows)` Execute the query.
`ResultInterface` `queryMeta()` Get an empty result set containing the meta data.
`int` `readLob(long lobId, byte[] hmac, long offset, byte[] buff, int off, int length)` Read from a lob.
`void` `setCharset(java.nio.charset.Charset charset)`
`void` `setCipher(java.lang.String c)`
`void` `setCompressionAlgorithm(java.lang.String algorithm)`
`void` `setData(boolean data)`
`void` `setDrop(boolean drop)`
`void` `setFileNameExpr(Expression file)`
`void` `setLobBlockSize(long blockSize)`
`void` `setPassword(Expression password)`
`void` `setPasswords(boolean passwords)`
`void` `setSchemaNames(java.util.Set<java.lang.String> schemaNames)`
`void` `setSettings(boolean settings)`
`void` `setSimple(boolean simple)`
`void` `setTables(java.util.Collection<Table> tables)`

Methods inherited from class org.h2.command.Prepared
`checkCanceled, checkParameters, getCurrentObjectId, getCurrentRowNumber, getObjectId, getParameters, getPlanSQL, getSQL, getSQL, getSQL, isCacheable, isReadOnly, prepare, setCommand, setCurrentRowNumber, setObjectId, setParameterList, setPrepareAlways, setRow, setSession, setSQL, toString, update`

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

Field Detail

### out

    protected java.io.OutputStream out

  The output stream.

### in

    protected java.io.InputStream in

  The input stream.

Constructor Detail

### ScriptCommand

    public ScriptCommand(Session session)

Method Detail

### isQuery

    public boolean isQuery()

  Description copied from class: `Prepared`
  Check if this object is a query.

  Overrides:
    `isQuery` in class `Prepared`
  Returns:
    true if it is

### setSchemaNames

    public void setSchemaNames(java.util.Set<java.lang.String> schemaNames)

### setTables

    public void setTables(java.util.Collection<Table> tables)

### setData

    public void setData(boolean data)

### setPasswords

    public void setPasswords(boolean passwords)

### setSettings

    public void setSettings(boolean settings)

### setLobBlockSize

    public void setLobBlockSize(long blockSize)

### setDrop

    public void setDrop(boolean drop)

### queryMeta

    public ResultInterface queryMeta()

  Description copied from class: `Prepared`
  Get an empty result set containing the meta data.

  Specified by:
    `queryMeta` in class `Prepared`
  Returns:
    the result set

### query

    public ResultInterface query(int maxrows)

  Description copied from class: `Prepared`
  Execute the query.

  Overrides:
    `query` in class `Prepared`
  Parameters:
    `maxrows` - the maximum number of rows to return
  Returns:
    the result set

### combineBlob

    public static java.io.InputStream combineBlob(java.sql.Connection conn,
                                                  int id)
                                           throws java.sql.SQLException

  Combine a BLOB. This method is called from the script. When calling with id -1, the file is deleted.

  Parameters:
    `conn` - a connection
    `id` - the lob id
  Returns:
    a stream for the combined data
  Throws:
    `java.sql.SQLException`

### combineClob

    public static java.io.Reader combineClob(java.sql.Connection conn,
                                             int id)
                                      throws java.sql.SQLException

  Combine a CLOB. This method is called from the script.

  Parameters:
    `conn` - a connection
    `id` - the lob id
  Returns:
    a reader for the combined data
  Throws:
    `java.sql.SQLException`

### setSimple

    public void setSimple(boolean simple)

### setCharset

    public void setCharset(java.nio.charset.Charset charset)

### getType

    public int getType()

  Description copied from class: `Prepared`
  Get the command type as defined in CommandInterface

  Specified by:
    `getType` in class `Prepared`
  Returns:
    the statement type

### setCipher

    public void setCipher(java.lang.String c)

### setPassword

    public void setPassword(Expression password)

### setFileNameExpr

    public void setFileNameExpr(Expression file)

### getFileName

    protected java.lang.String getFileName()

### isTransactional

    public boolean isTransactional()

  Description copied from class: `Prepared`
  Check if this command is transactional. If it is not, then it forces the current transaction to commit.

  Specified by:
    `isTransactional` in class `Prepared`
  Returns:
    true if it is

### needRecompile

    public boolean needRecompile()

  Description copied from class: `Prepared`
  Check if the statement needs to be re-compiled.

  Overrides:
    `needRecompile` in class `Prepared`
  Returns:
    true if it must

### getDatabasePath

    public java.lang.String getDatabasePath()

  Description copied from interface: `DataHandler`
  Get the database path.

  Specified by:
    `getDatabasePath` in interface `DataHandler`
  Returns:
    the database path

### openFile

    public FileStore openFile(java.lang.String name,
                              java.lang.String mode,
                              boolean mustExist)

  Description copied from interface: `DataHandler`
  Open a file at the given location.

  Specified by:
    `openFile` in interface `DataHandler`
  Parameters:
    `name` - the file name
    `mode` - the mode
    `mustExist` - whether the file must already exist
  Returns:
    the file

### checkPowerOff

    public void checkPowerOff()

  Description copied from interface: `DataHandler`
  Check if the simulated power failure occurred. This call will decrement the countdown.

  Specified by:
    `checkPowerOff` in interface `DataHandler`

### checkWritingAllowed

    public void checkWritingAllowed()

  Description copied from interface: `DataHandler`
  Check if writing is allowed.

  Specified by:
    `checkWritingAllowed` in interface `DataHandler`

### getMaxLengthInplaceLob

    public int getMaxLengthInplaceLob()

  Description copied from interface: `DataHandler`
  Get the maximum length of a in-place large object

  Specified by:
    `getMaxLengthInplaceLob` in interface `DataHandler`
  Returns:
    the maximum size

### getTempFileDeleter

    public TempFileDeleter getTempFileDeleter()

  Description copied from interface: `DataHandler`
  Get the temp file deleter mechanism.

  Specified by:
    `getTempFileDeleter` in interface `DataHandler`
  Returns:
    the temp file deleter

### getLobCompressionAlgorithm

    public java.lang.String getLobCompressionAlgorithm(int type)

  Description copied from interface: `DataHandler`
  Get the compression algorithm used for large objects.

  Specified by:
    `getLobCompressionAlgorithm` in interface `DataHandler`
  Parameters:
    `type` - the data type (CLOB or BLOB)
  Returns:
    the compression algorithm, or null

### setCompressionAlgorithm

    public void setCompressionAlgorithm(java.lang.String algorithm)

### getLobSyncObject

    public java.lang.Object getLobSyncObject()

  Description copied from interface: `DataHandler`
  Get the synchronization object for lob operations.

  Specified by:
    `getLobSyncObject` in interface `DataHandler`
  Returns:
    the synchronization object

### getLobFileListCache

    public SmallLRUCache<java.lang.String,java.lang.String[]> getLobFileListCache()

  Description copied from interface: `DataHandler`
  Get the lob file list cache if it is used.

  Specified by:
    `getLobFileListCache` in interface `DataHandler`
  Returns:
    the cache or null

### getLobStorage

    public LobStorageBackend getLobStorage()

  Description copied from interface: `DataHandler`
  Get the lob storage mechanism to use.

  Specified by:
    `getLobStorage` in interface `DataHandler`
  Returns:
    the lob storage mechanism

### getLobConnection

    public java.sql.Connection getLobConnection()

  Description copied from interface: `DataHandler`
  Get a database connection to be used for LOB access.

  Specified by:
    `getLobConnection` in interface `DataHandler`
  Returns:
    the connection or null

### readLob

    public int readLob(long lobId,
                       byte[] hmac,
                       long offset,
                       byte[] buff,
                       int off,
                       int length)

  Description copied from interface: `DataHandler`
  Read from a lob.

  Specified by:
    `readLob` in interface `DataHandler`
  Parameters:
    `lobId` - the lob
    `hmac` - the message authentication code
    `offset` - the offset within the lob
    `buff` - the target buffer
    `off` - the offset within the target buffer
    `length` - the number of bytes to read
  Returns:
    the number of bytes read