![]() |
Quadcap Embeddable Database |
Inheritance diagram for com.quadcap.sql.file.BlockStore:

Block write operations are logged by this class.
Definition at line 59 of file BlockStore.java.
Public Member Functions | |
| BlockStore () | |
| Create a new BlockStore object using the specified file and blocksize. | |
| String | getName () |
| void | init (File file, String mode, int blockSize, Object lock) throws IOException |
| void | setLog (Log log) |
| Specify the log used for recovery operations. | |
| Log | getLog () |
| Return the logger. | |
| int | blockSize () |
| Return the block size of this store. | |
| File | getFile () |
| Return the underlying file. | |
| void | read (long blockNum, byte[] buf) throws IOException |
| Read a block into a buffer. | |
| void | read (long blockNum, byte[] buf, int off) throws IOException |
| void | write (long blockNum, byte[] buf) throws IOException |
| Write a block from a buffer into the file. | |
| void | restore (long blockNum, byte[] buf, int off) throws IOException |
| Restore a block image. | |
| void | clearModified () throws IOException |
| void | setLength (long length) throws IOException |
| boolean | isEncrypted () |
| void | close () throws IOException |
| void | flush () throws IOException |
| void | setKey (com.quadcap.crypto.SymmetricKey key) throws IOException |
| String | toString () |
Static Public Member Functions | |
| String | rw () |
Static Public Attributes | |
| int | writeCount = 0 |
| int | readCount = 0 |
Protected Member Functions | |
| final byte[] | newHeader (int blockSize, long lastBlock) |
Package Attributes | |
| File | file |
| FileRandomAccess | fra |
| boolean | readOnly |
| Log | log |
| int | blockSize |
| BitSet | modified = new BitSet() |
| Object | lock |
| boolean | encrypted = false |
| boolean | isTempFile = false |
Private Member Functions | |
| void | readHeader () throws IOException |
| void | createHeader (int blockSize) throws IOException |
|
|
Create a new BlockStore object using the specified file and blocksize.
Definition at line 79 of file BlockStore.java. |
|
|
Return the block size of this store.
Definition at line 116 of file BlockStore.java. |
|
|
Definition at line 196 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.log, com.quadcap.sql.file.BlockStore.modified, and com.quadcap.sql.file.Log.resetBlocks(). Referenced by com.quadcap.sql.file.BlockFile.clearModified(). |
|
|
Reimplemented in com.quadcap.sql.file.MemoryBlockStore, and com.quadcap.sql.file.NullStore. Definition at line 259 of file BlockStore.java. References com.quadcap.sql.file.FileRandomAccess.close(), and com.quadcap.sql.file.BlockStore.fra. Referenced by com.quadcap.sql.file.BlockFile.close(). |
|
|
Reimplemented in com.quadcap.sql.file.MemoryBlockStore. Definition at line 242 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.createHeader(), com.quadcap.sql.file.BlockStore.fra, com.quadcap.sql.file.BlockStore.newHeader(), and com.quadcap.sql.file.FileRandomAccess.write(). Referenced by com.quadcap.sql.file.BlockStore.createHeader(), and com.quadcap.sql.file.BlockStore.init(). |
|
|
Reimplemented in com.quadcap.sql.file.MemoryBlockStore, and com.quadcap.sql.file.NullStore. Definition at line 267 of file BlockStore.java. References com.quadcap.sql.file.FileRandomAccess.flush(), com.quadcap.sql.file.BlockStore.fra, com.quadcap.sql.file.BlockStore.readCount, and com.quadcap.sql.file.BlockStore.writeCount. Referenced by com.quadcap.sql.file.BlockFile.flush(). |
|
|
Return the underlying file.
Definition at line 121 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.file. |
|
|
Return the logger.
Definition at line 111 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.log. Referenced by com.quadcap.sql.file.BlockFile.getLog(). |
|
|
Definition at line 82 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.file. Referenced by com.quadcap.sql.file.BlockFile.getName(). |
|
||||||||||||||||||||
|
|
Reimplemented in com.quadcap.sql.file.MemoryBlockStore, and com.quadcap.sql.file.NullStore. Definition at line 210 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.encrypted. Referenced by com.quadcap.sql.file.EncryptedBlockStore.setKey(). |
|
||||||||||||
|
Definition at line 248 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.newHeader(). Referenced by com.quadcap.sql.file.BlockStore.createHeader(), and com.quadcap.sql.file.BlockStore.newHeader(). |
|
||||||||||||||||
|
Reimplemented in com.quadcap.sql.file.MemoryBlockStore, and com.quadcap.sql.file.NullStore. Definition at line 134 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.fra, com.quadcap.sql.file.BlockStore.lock, com.quadcap.sql.file.FileRandomAccess.read(), and com.quadcap.sql.file.BlockStore.readCount. |
|
||||||||||||
|
Read a block into a buffer. If the specified block is beyond the current end of file, then grow the file
Reimplemented in com.quadcap.sql.file.EncryptedBlockStore. Definition at line 130 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.read(). Referenced by com.quadcap.sql.file.Block.init(), com.quadcap.sql.file.BlockStore.read(), and com.quadcap.sql.file.Log1.saveBlock(). |
|
|
Definition at line 214 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.encrypted, com.quadcap.sql.file.BlockStore.fra, and com.quadcap.sql.file.FileRandomAccess.read(). Referenced by com.quadcap.sql.file.BlockStore.init(). |
|
||||||||||||||||
|
Restore a block image.
Reimplemented in com.quadcap.sql.file.MemoryBlockStore, and com.quadcap.sql.file.NullStore. Definition at line 181 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.fra, com.quadcap.sql.file.BlockStore.lock, com.quadcap.sql.file.BlockStore.restore(), com.quadcap.sql.file.BlockStore.toString(), and com.quadcap.sql.file.FileRandomAccess.write(). Referenced by com.quadcap.sql.file.BlockStore.restore(), and com.quadcap.sql.file.BlockFile.restoreBlock(). |
|
|
Reimplemented in com.quadcap.sql.file.MemoryBlockStore. Definition at line 287 of file BlockStore.java. |
|
|
Reimplemented in com.quadcap.sql.file.MemoryBlockStore. Definition at line 275 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.setKey(). Referenced by com.quadcap.sql.file.BlockFile.makeStore(), and com.quadcap.sql.file.BlockStore.setKey(). |
|
|
Reimplemented in com.quadcap.sql.file.MemoryBlockStore, and com.quadcap.sql.file.NullStore. Definition at line 202 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.file, com.quadcap.sql.file.BlockStore.fra, com.quadcap.sql.file.BlockStore.readOnly, com.quadcap.sql.file.FileRandomAccess.resize(), and com.quadcap.sql.file.BlockStore.setLength(). Referenced by com.quadcap.sql.file.BlockFile.revert(), and com.quadcap.sql.file.BlockStore.setLength(). |
|
|
Specify the log used for recovery operations.
Definition at line 106 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.setLog(). Referenced by com.quadcap.sql.file.BlockStore.setLog(), and com.quadcap.sql.file.BlockFile.setLog(). |
|
|
Reimplemented in com.quadcap.sql.file.MemoryBlockStore. Definition at line 283 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.file. Referenced by com.quadcap.sql.file.BlockFile.getPage(), com.quadcap.sql.file.BlockStore.restore(), and com.quadcap.sql.file.BlockStore.write(). |
|
||||||||||||
|
Write a block from a buffer into the file.
Reimplemented in com.quadcap.sql.file.EncryptedBlockStore, com.quadcap.sql.file.MemoryBlockStore, and com.quadcap.sql.file.NullStore. Definition at line 152 of file BlockStore.java. References com.quadcap.sql.file.BlockStore.file, com.quadcap.sql.file.BlockStore.fra, com.quadcap.sql.file.BlockStore.lock, com.quadcap.sql.file.BlockStore.log, com.quadcap.sql.file.BlockStore.modified, com.quadcap.sql.file.BlockStore.readOnly, com.quadcap.sql.file.Log.saveBlock(), com.quadcap.sql.file.FileRandomAccess.size(), com.quadcap.sql.file.BlockStore.toString(), com.quadcap.sql.file.FileRandomAccess.write(), com.quadcap.sql.file.BlockStore.write(), and com.quadcap.sql.file.BlockStore.writeCount. Referenced by com.quadcap.sql.file.Block.flush(), and com.quadcap.sql.file.BlockStore.write(). |
|
|
Definition at line 64 of file BlockStore.java. Referenced by com.quadcap.sql.file.BlockFile.BlockFile(), com.quadcap.sql.file.BlockStore.init(), and com.quadcap.sql.file.Block.init(). |
|
|
Definition at line 67 of file BlockStore.java. Referenced by com.quadcap.sql.file.BlockStore.isEncrypted(), and com.quadcap.sql.file.BlockStore.readHeader(). |
|
|
|
|
Definition at line 68 of file BlockStore.java. Referenced by com.quadcap.sql.file.BlockStore.init(). |
|
|
Definition at line 66 of file BlockStore.java. Referenced by com.quadcap.sql.file.BlockStore.init(), com.quadcap.sql.file.BlockStore.read(), com.quadcap.sql.file.BlockStore.restore(), and com.quadcap.sql.file.BlockStore.write(). |
|
|
Definition at line 63 of file BlockStore.java. Referenced by com.quadcap.sql.file.BlockStore.clearModified(), com.quadcap.sql.file.BlockStore.getLog(), and com.quadcap.sql.file.BlockStore.write(). |
|
|
Definition at line 65 of file BlockStore.java. Referenced by com.quadcap.sql.file.BlockStore.clearModified(), and com.quadcap.sql.file.BlockStore.write(). |
|
|
Definition at line 144 of file BlockStore.java. Referenced by com.quadcap.sql.file.BlockStore.flush(), and com.quadcap.sql.file.BlockStore.read(). |
|
|
Definition at line 62 of file BlockStore.java. Referenced by com.quadcap.sql.file.BlockStore.setLength(), and com.quadcap.sql.file.BlockStore.write(). |
|
|
Definition at line 143 of file BlockStore.java. Referenced by com.quadcap.sql.file.BlockStore.flush(), and com.quadcap.sql.file.BlockStore.write(). |