## org.h2.command.dml
Class ScriptBase

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

All Implemented Interfaces:
  DataHandler

Direct Known Subclasses:
  RunScriptCommand, ScriptCommand

    public abstract class ScriptBase

extends Prepared
implements DataHandler

This class is the base for RunScriptCommand and ScriptCommand.

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
`headPos, parameters, prepareAlways, session, sqlStatement`

Constructor Summary
`ScriptBase(Session session)`

Method Summary
`int` `allocateObjectId(boolean b, boolean c)` Get the next object id.
`void` `checkPowerOff()` Check if the simulated power failure occurred.
`void` `checkWritingAllowed()` Check if writing is allowed.
`int` `compareTypeSave(Value a, Value b)` Compare two values.
`java.lang.String` `createTempFile()` Create a temporary file and return the file name.
`void` `freeUpDiskSpace()` Free up disk space if possible.
`int` `getChecksum(byte[] data, int start, int end)` Calculate the checksum for the byte array.
`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.
`SmallLRUCache<java.lang.String,java.lang.String[]>` `getLobFileListCache()` Get the lob file list cache if it is used.
`boolean` `getLobFilesInDirectories()` Checks if the lob files stored in directories.
`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.
`Trace` `getTrace()` Get the trace writer.
`void` `handleInvalidChecksum()` Called when the checksum was invalid.
`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.
`void` `setCipher(java.lang.String c)`
`void` `setCompressionAlgorithm(java.lang.String algorithm)`
`void` `setFileNameExpr(Expression file)`
`void` `setPassword(char[] password)`

Methods inherited from class org.h2.command.Prepared
`checkCanceled, checkParameters, getCurrentObjectId, getCurrentRowNumber, getObjectId, getParameters, getPlanSQL, getSQL, getSQL, getSQL, isQuery, isReadOnly, prepare, query, queryMeta, setCommand, setCurrentRowNumber, setHeadPos, 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

### ScriptBase

    public ScriptBase(Session session)

Method Detail

### setCipher

    public void setCipher(java.lang.String c)

### setPassword

    public void setPassword(char[] password)

### setFileNameExpr

    public void setFileNameExpr(Expression file)

### getFileName

    protected java.lang.String getFileName()
                                    throws java.sql.SQLException

  Throws:
    `java.sql.SQLException`

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

### getChecksum

    public int getChecksum(byte[] data,
                           int start,
                           int end)

  Description copied from interface: `DataHandler`
  Calculate the checksum for the byte array.

  Specified by:
    `getChecksum` in interface `DataHandler`
  Parameters:
    `data` - the byte array
    `start` - the starting offset
    `end` - the end offset
  Returns:
    the checksum

### checkPowerOff

    public void checkPowerOff()
                       throws java.sql.SQLException

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

  Specified by:
    `checkPowerOff` in interface `DataHandler`
  Throws:
    `java.sql.SQLException` - if the simulated power failure occurred

### checkWritingAllowed

    public void checkWritingAllowed()
                             throws java.sql.SQLException

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

  Specified by:
    `checkWritingAllowed` in interface `DataHandler`
  Throws:
    `java.sql.SQLException` - if it is not allowed

### freeUpDiskSpace

    public void freeUpDiskSpace()
                         throws java.sql.SQLException

  Description copied from interface: `DataHandler`
  Free up disk space if possible. This method is called if more space is needed.

  Specified by:
    `freeUpDiskSpace` in interface `DataHandler`
  Throws:
    `java.sql.SQLException` - if no more space could be freed

### handleInvalidChecksum

    public void handleInvalidChecksum()
                               throws java.sql.SQLException

  Description copied from interface: `DataHandler`
  Called when the checksum was invalid.

  Specified by:
    `handleInvalidChecksum` in interface `DataHandler`
  Throws:
    `java.sql.SQLException` - if this should not be ignored

### compareTypeSave

    public int compareTypeSave(Value a,
                               Value b)

  Description copied from interface: `DataHandler`
  Compare two values.

  Specified by:
    `compareTypeSave` in interface `DataHandler`
  Parameters:
    `a` - the first value
    `b` - the second value
  Returns:
    0 for equal, 1 if a is larger than b, and -1 otherwise

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

### allocateObjectId

    public int allocateObjectId(boolean b,
                                boolean c)

  Description copied from interface: `DataHandler`
  Get the next object id. This method is not required if LOB_FILES_IN_DIRECTORIES is enabled.

  Specified by:
    `allocateObjectId` in interface `DataHandler`
  Parameters:
    `b` - if a fresh id is required
    `c` - true if the id is for the data file
  Returns:
    the new id

### createTempFile

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

  Description copied from interface: `DataHandler`
  Create a temporary file and return the file name.

  Specified by:
    `createTempFile` in interface `DataHandler`
  Returns:
    the file name
  Throws:
    `java.sql.SQLException`

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

### getLobFilesInDirectories

    public boolean getLobFilesInDirectories()

  Description copied from interface: `DataHandler`
  Checks if the lob files stored in directories.

  Specified by:
    `getLobFilesInDirectories` in interface `DataHandler`
  Returns:
    true if lob files are stored in directories.

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

### getTrace

    public Trace getTrace()

  Description copied from interface: `DataHandler`
  Get the trace writer.

  Specified by:
    `getTrace` in interface `DataHandler`
  Returns:
    the trace writer