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

Fields
`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

Constructors
Constructor and Description
`ScriptCommand(Session session)`

### Method Summary

Methods
`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.
`CompareMode` `getCompareMode()` Return compare mode.
`java.lang.String` `getDatabasePath()` Get the database path.
`protected java.lang.String` `getFileName()`
`JavaObjectSerializer` `getJavaObjectSerializer()` Return the serializer to be used for java objects being stored in column of type OTHER.
`java.lang.String` `getLobCompressionAlgorithm(int type)` Get the compression algorithm used for large objects.
`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

#### 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 id
  `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

#### getJavaObjectSerializer

    public JavaObjectSerializer getJavaObjectSerializer()

Description copied from interface: `DataHandler`
Return the serializer to be used for java objects being stored in column of type OTHER.

Specified by:
  `getJavaObjectSerializer` in interface `DataHandler`
Returns:
  the serializer to be used for java objects being stored in column of type OTHER

#### getCompareMode

    public CompareMode getCompareMode()

Description copied from interface: `DataHandler`
Return compare mode.

Specified by:
  `getCompareMode` in interface `DataHandler`
Returns:
  Compare mode.