org.h2.test.unit
Class TestValueMemory

java.lang.Object
  extended by org.h2.test.TestBase
      extended by org.h2.test.unit.TestValueMemory
All Implemented Interfaces:
DataHandler

public class TestValueMemory
extends TestBase
implements DataHandler

Tests the memory consumption of values. Values can estimate how much memory they occupy, and this tests if this estimation is correct.


Field Summary
 
Fields inherited from class org.h2.test.TestBase
BASE_TEST_DIR, config, start, TEMP_DIR, uniqueId
 
Constructor Summary
TestValueMemory()
           
 
Method Summary
 void checkPowerOff()
          Check if the simulated power failure occurred.
 void checkWritingAllowed()
          Check if writing is allowed.
 java.lang.String getDatabasePath()
          Get the database path.
 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.
 LobStorage 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.
static void main(java.lang.String... a)
          Run just this test.
 FileStore openFile(java.lang.String name, java.lang.String mode, boolean mustExist)
          Open a file at the given location.
 int readLob(long lobId, long offset, byte[] buff, int off, int length)
          Read from a lob.
 void test()
          This method will be called by the test framework.
 
Methods inherited from class org.h2.test.TestBase
assertContains, assertEqualDatabases, assertEqualReaders, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEqualStreams, assertFalse, assertFalse, assertKnownException, assertKnownException, assertNull, assertResult, assertResultRowCount, assertResultSetMeta, assertResultSetOrdered, assertSingleValue, assertSmaller, assertStartsWith, assertThrows, assertThrows, assertThrows, assertTrue, assertTrue, crash, createCaller, createCaller, createClassProxy, deleteDb, deleteDb, eatMemory, fail, fail, freeMemory, getBaseDir, getClassPath, getConnection, getConnection, getFilePassword, getMemoryUsed, getPassword, getPassword, getSize, getTestDir, getURL, getUser, init, init, logError, println, printTime, printTimeMemory, readString, runTest, startServerIfRequired, testCase, trace, trace, traceMemory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TestValueMemory

public TestValueMemory()
Method Detail

main

public static void main(java.lang.String... a)
                 throws java.lang.Exception
Run just this test.

Parameters:
a - ignored
Throws:
java.lang.Exception

test

public void test()
          throws java.sql.SQLException
Description copied from class: TestBase
This method will be called by the test framework.

Specified by:
test in class TestBase
Throws:
java.sql.SQLException

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

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

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

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

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

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

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

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

getLobStorage

public LobStorage 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,
                   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
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