org.h2.command.dml
Class ScriptBase

java.lang.Object
  extended by org.h2.command.Prepared
      extended by 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