Top Description Fields Constructors Methods
org.hsqldb.persist

public Class TextCache

extends DataFileCache
Class Inheritance
Imports
org.hsqldb.Database, .DatabaseType, .HsqlException, .Row, .Table, org.hsqldb.error.Error, .ErrorCode, org.hsqldb.lib.FileUtil, .HsqlByteArrayOutputStream, .LongKeyHashMap, org.hsqldb.rowio.RowInputText, .RowInputTextQuoted, .RowOutputText, .RowOutputTextQuoted

Acts as a buffer manager for a single TEXT table and its Row data.

Handles read/write operations on the table's text format data file using a compatible pair of org.hsqldb.rowio input/output class instances. fredt - This used to write rows as soon as they are inserted but now this is subject to transaction management. A memory buffer contains the rows not yet committed. Refactored for version 2.2.6.

Authors
Bob Preston (sqlbob@users dot sourceforge.net), Fred Toussi (fredt@users dot sourceforge.net)
Since
1.7.0
Version
2.7.3

Field Summary

Modifier and TypeField and Description
pack-priv HsqlByteArrayOutputStream
protected String
protected Table
pack-priv TextFileSettings
private LongKeyHashMap<CachedObject>
Inherited from org.hsqldb.persist.DataFileCache:
backupFileNamecachecachedRowPaddingcacheModifiedcacheReadonlydatabasedataFiledataFileNamedataFileScaledataFileSpacefafileFreePositionfileModifiedfileStartFreePositioninitIOBufferSizeis251locklogEventslostSpaceSizemaxCacheBytesmaxCacheRowsmaxDataFileSizereadLockrowInrowOutspaceManagerspaceManagerPositionstoreCountwriteLock

Constructor Summary

AccessConstructor and Description
pack-priv
TextCache(Table table, String name)

The source string for a cached table is evaluated and the parameters are used to open the source file.

Method Summary

Modifier and TypeMethod and Description
public void
add(CachedObject object, boolean keep)

Overrides org.hsqldb.persist.DataFileCache.add.

private void
public void
close()

Overrides org.hsqldb.persist.DataFileCache.close.

Writes newly created rows to disk.

public CachedObject
get(CachedObject object, PersistentStore store, boolean keep)

Overrides org.hsqldb.persist.DataFileCache.get.

cannot use isInMemory() for text cached object

public CachedObject
get(long i, PersistentStore store, boolean keep)

Overrides org.hsqldb.persist.DataFileCache.get.

public String
public long
public TextFileReader
public TextFileSettings
protected void
protected void
initParams(Database database, String settingsString, boolean defrag)

Overrides org.hsqldb.persist.DataFileCache.initParams.

initial external parameters are set here.

public boolean
public void
open(boolean readonly)

Overrides org.hsqldb.persist.DataFileCache.open.

Opens a data source file.

pack-priv void
purge()

Closes the source file and deletes it if it is not read-only.

public void
release()

Overrides org.hsqldb.persist.DataFileCache.release.

Abandons changed rows and closes the .data file.

public void
remove(CachedObject object)

Overrides org.hsqldb.persist.DataFileCache.remove.

Used when a row is deleted as a result of some DML or DDL statement.

public void
public void
saveRow(CachedObject row)

Overrides org.hsqldb.persist.DataFileCache.saveRow.

The row is always in uncommittedCache.

protected void
saveRows(CachedObject[] rows, int offset, int count)

Overrides org.hsqldb.persist.DataFileCache.saveRows.

protected void
public void
setHeader(String header)

public void
private void
Inherited from org.hsqldb.persist.DataFileCache:
adjustStoreCountbytesCapacitycapacityclearcopyShadowcopyShadowdefragdeleteDataFileenlargeFileSpacegetgetAccessCountgetCachedObjectCountgetDataFileScalegetDataFileSpacegetFileFreePosgetFileNamegetFlagsgetLostBlockSizegetRawgetShadowFilegetTotalCachedBlockSizeinitNewFileisDataReadOnlyisFileModifiedisFileOpenisModifiedlogDetailEventlogInfoEventlogSevereEventreadObjectreleasereleaseRangereleaseRangereopenresetsaveRowNoLocksaveRowOutputsetFlagsetFlagssetSpaceProps

Field Detail

bufferback to summary
pack-priv HsqlByteArrayOutputStream buffer
tableback to summary
protected Table table
textFileSettingsback to summary
pack-priv TextFileSettings textFileSettings
uncommittedCacheback to summary
private LongKeyHashMap<CachedObject> uncommittedCache

Constructor Detail

TextCacheback to summary
pack-priv TextCache(Table table, String name)

The source string for a cached table is evaluated and the parameters are used to open the source file.

Settings are used in this order: (1) settings specified in the source string for the table (2) global database settings in *.properties file (3) program defaults

Method Detail

addback to summary
public void add(CachedObject object, boolean keep)

Overrides org.hsqldb.persist.DataFileCache.add.

clearRowImageback to summary
private void clearRowImage(CachedObject row)
closeback to summary
public void close()

Overrides org.hsqldb.persist.DataFileCache.close.

Writes newly created rows to disk. In the current implementation, such rows have already been saved, so this method just removes a source file that has no rows.

getback to summary
public CachedObject get(CachedObject object, PersistentStore store, boolean keep)

Overrides org.hsqldb.persist.DataFileCache.get.

cannot use isInMemory() for text cached object

getback to summary
public CachedObject get(long i, PersistentStore store, boolean keep)

Overrides org.hsqldb.persist.DataFileCache.get.

getHeaderback to summary
public String getHeader()
getLineNumberback to summary
public long getLineNumber()
getTextFileReaderback to summary
public TextFileReader getTextFileReader()
getTextFileSettingsback to summary
public TextFileSettings getTextFileSettings()
initBuffersback to summary
protected void initBuffers()

Overrides org.hsqldb.persist.DataFileCache.initBuffers.

initParamsback to summary
protected void initParams(Database database, String settingsString, boolean defrag)

Overrides org.hsqldb.persist.DataFileCache.initParams.

Doc from org.hsqldb.persist.DataFileCache.initParams.

initial external parameters are set here.

isIgnoreFirstLineback to summary
public boolean isIgnoreFirstLine()
openback to summary
public void open(boolean readonly)

Overrides org.hsqldb.persist.DataFileCache.open.

Opens a data source file.

purgeback to summary
pack-priv void purge()

Closes the source file and deletes it if it is not read-only.

releaseback to summary
public void release()

Overrides org.hsqldb.persist.DataFileCache.release.

Doc from org.hsqldb.persist.DataFileCache.release.

Abandons changed rows and closes the .data file.

removeback to summary
public void remove(CachedObject object)

Overrides org.hsqldb.persist.DataFileCache.remove.

Doc from org.hsqldb.persist.DataFileCache.remove.

Used when a row is deleted as a result of some DML or DDL statement. Removes the row from the cache data structures.

removePersistenceback to summary
public void removePersistence(CachedObject row)

Overrides org.hsqldb.persist.DataFileCache.removePersistence.

saveRowback to summary
public void saveRow(CachedObject row)

Overrides org.hsqldb.persist.DataFileCache.saveRow.

The row is always in uncommittedCache. Saves the row as normal and removes it

saveRowsback to summary
protected void saveRows(CachedObject[] rows, int offset, int count)

Overrides org.hsqldb.persist.DataFileCache.saveRows.

setFileModifiedback to summary
protected void setFileModified()

Overrides org.hsqldb.persist.DataFileCache.setFileModified.

setHeaderback to summary
public void setHeader(String header)
setHeaderInitialiseback to summary
public void setHeaderInitialise(String header)
writeHeaderback to summary
private void writeHeader(String header)