You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
206 lines
7.7 KiB
206 lines
7.7 KiB
diff -urpN src.orig/db/com/cdegroot/db/hash/EntryPage.java src/db/com/cdegroot/db/hash/EntryPage.java
|
|
--- a/src/db/com/cdegroot/db/hash/EntryPage.java 2005-02-06 00:40:17.191151504 +0100
|
|
+++ b/src/db/com/cdegroot/db/hash/EntryPage.java 2005-02-06 00:54:14.045930240 +0100
|
|
@@ -25,7 +25,7 @@ final class EntryPage extends PageHeader
|
|
/**
|
|
* Constructs a page view from the indicated block.
|
|
*/
|
|
- EntryPage(BlockIo block) {
|
|
+ public EntryPage(BlockIo block) {
|
|
super(block);
|
|
}
|
|
|
|
@@ -33,7 +33,7 @@ final class EntryPage extends PageHeader
|
|
* Factory method to create or return a data page for the
|
|
* indicated block.
|
|
*/
|
|
- static EntryPage getEntryPageView(BlockIo block) {
|
|
+ public static EntryPage getEntryPageView(BlockIo block) {
|
|
BlockView view = block.getView();
|
|
if (view != null && view instanceof EntryPage)
|
|
return (EntryPage) view;
|
|
diff -urpN src.orig/db/com/cdegroot/db/recman/BlockIo.java src/db/com/cdegroot/db/recman/BlockIo.java
|
|
--- a/src/db/com/cdegroot/db/recman/BlockIo.java 2005-02-06 00:40:17.192151352 +0100
|
|
+++ b/src/db/com/cdegroot/db/recman/BlockIo.java 2005-02-06 00:58:02.990125432 +0100
|
|
@@ -31,7 +31,7 @@ package com.cdegroot.db.recman;
|
|
* @see java.io.DataInput
|
|
* @see java.io.DataOutput
|
|
*/
|
|
-final class BlockIo implements java.io.Serializable {
|
|
+final public class BlockIo implements java.io.Serializable {
|
|
private long blockId;
|
|
private final byte[] snapshot; // committed snapshot.
|
|
private boolean snapshotValid = false;
|
|
@@ -44,7 +44,7 @@ final class BlockIo implements java.io.S
|
|
* Constructs a new BlockIo instance working on the indicated
|
|
* buffer.
|
|
*/
|
|
- BlockIo(long blockId, byte[] data) {
|
|
+ public BlockIo(long blockId, byte[] data) {
|
|
// removeme for production version
|
|
if (blockId > 10000000000L)
|
|
throw new Error("bogus block id " + blockId);
|
|
@@ -108,7 +108,7 @@ final class BlockIo implements java.io.S
|
|
/**
|
|
* Returns the current view of the block.
|
|
*/
|
|
- BlockView getView() {
|
|
+ public BlockView getView() {
|
|
return view;
|
|
}
|
|
|
|
@@ -172,17 +172,25 @@ final class BlockIo implements java.io.S
|
|
/**
|
|
* Reads a short from the indicated position
|
|
*/
|
|
- short readShort(int pos) {
|
|
+ public short readShort(int pos) {
|
|
return (short)
|
|
(((short) (data[pos+0] & 0xff) << 8) |
|
|
((short) (data[pos+1] & 0xff) << 0));
|
|
|
|
}
|
|
+
|
|
+ public byte readByte(int pos) {
|
|
+ return data[pos];
|
|
+ }
|
|
+
|
|
+ public void writeByte(int pos, byte value)
|
|
+ { data[pos] = value;
|
|
+ }
|
|
|
|
/**
|
|
* Writes a short to the indicated position
|
|
*/
|
|
- void writeShort(int pos, short value) {
|
|
+ public void writeShort(int pos, short value) {
|
|
data[pos+0] = (byte)(0xff & (value >> 8));
|
|
data[pos+1] = (byte)(0xff & (value >> 0));
|
|
setDirty();
|
|
@@ -191,7 +199,7 @@ final class BlockIo implements java.io.S
|
|
/**
|
|
* Reads an int from the indicated position
|
|
*/
|
|
- int readInt(int pos) {
|
|
+ public int readInt(int pos) {
|
|
return
|
|
(((int)(data[pos+0] & 0xff) << 24) |
|
|
((int)(data[pos+1] & 0xff) << 16) |
|
|
@@ -202,7 +210,7 @@ final class BlockIo implements java.io.S
|
|
/**
|
|
* Writes an int to the indicated position
|
|
*/
|
|
- void writeInt(int pos, int value) {
|
|
+ public void writeInt(int pos, int value) {
|
|
data[pos+0] = (byte)(0xff & (value >> 24));
|
|
data[pos+1] = (byte)(0xff & (value >> 16));
|
|
data[pos+2] = (byte)(0xff & (value >> 8));
|
|
@@ -213,7 +221,7 @@ final class BlockIo implements java.io.S
|
|
/**
|
|
* Reads a long from the indicated position
|
|
*/
|
|
- long readLong(int pos) {
|
|
+ public long readLong(int pos) {
|
|
return
|
|
(((long)(data[pos+0] & 0xff) << 56) |
|
|
((long)(data[pos+1] & 0xff) << 48) |
|
|
@@ -228,7 +236,7 @@ final class BlockIo implements java.io.S
|
|
/**
|
|
* Writes a long to the indicated position
|
|
*/
|
|
- void writeLong(int pos, long value) {
|
|
+ public void writeLong(int pos, long value) {
|
|
data[pos+0] = (byte)(0xff & (value >> 56));
|
|
data[pos+1] = (byte)(0xff & (value >> 48));
|
|
data[pos+2] = (byte)(0xff & (value >> 40));
|
|
diff -urpN src.orig/db/com/cdegroot/db/recman/BlockView.java src/db/com/cdegroot/db/recman/BlockView.java
|
|
--- a/src/db/com/cdegroot/db/recman/BlockView.java 2005-02-06 00:40:17.193151200 +0100
|
|
+++ b/src/db/com/cdegroot/db/recman/BlockView.java 2005-02-06 00:47:57.632153832 +0100
|
|
@@ -28,5 +28,5 @@ package com.cdegroot.db.recman;
|
|
*
|
|
* @see BlockIo.setView()
|
|
*/
|
|
-interface BlockView {
|
|
+public interface BlockView {
|
|
}
|
|
diff -urpN src.orig/db/com/cdegroot/db/recman/Magic.java src/db/com/cdegroot/db/recman/Magic.java
|
|
--- a/src/db/com/cdegroot/db/recman/Magic.java 2005-02-06 00:40:17.193151200 +0100
|
|
+++ b/src/db/com/cdegroot/db/recman/Magic.java 2005-02-06 00:44:22.164909832 +0100
|
|
@@ -25,7 +25,7 @@ package com.cdegroot.db.recman;
|
|
/**
|
|
* This interface contains magic cookies.
|
|
*/
|
|
-interface Magic {
|
|
+public interface Magic {
|
|
/** Magic cookie at start of file */
|
|
short FILE_HEADER = 0x1350;
|
|
|
|
@@ -57,4 +57,6 @@ interface Magic {
|
|
int SZ_INT = 4;
|
|
/** Size of an externalized long */
|
|
int SZ_LONG = 8;
|
|
+ /** Size of byte */
|
|
+ int SZ_BYTE = 1;
|
|
}
|
|
diff -urpN src.orig/db/com/cdegroot/db/recman/PageHeader.java src/db/com/cdegroot/db/recman/PageHeader.java
|
|
--- a/src/db/com/cdegroot/db/recman/PageHeader.java 2005-02-06 00:40:17.193151200 +0100
|
|
+++ b/src/db/com/cdegroot/db/recman/PageHeader.java 2005-02-06 00:50:10.236994832 +0100
|
|
@@ -28,15 +28,15 @@ import java.io.*;
|
|
* This class represents a page header. It is the common superclass for
|
|
* all different page views.
|
|
*/
|
|
-class PageHeader implements BlockView {
|
|
+public class PageHeader implements BlockView {
|
|
// offsets
|
|
private static final short O_MAGIC = 0; // short magic
|
|
private static final short O_NEXT = Magic.SZ_SHORT; // long next
|
|
private static final short O_PREV = O_NEXT + Magic.SZ_LONG; // long prev
|
|
- static final int SIZE = O_PREV + Magic.SZ_LONG;
|
|
+ public static final int SIZE = O_PREV + Magic.SZ_LONG;
|
|
|
|
// my block
|
|
- BlockIo block;
|
|
+ public BlockIo block;
|
|
|
|
/**
|
|
* Constructs a PageHeader object from a block
|
|
@@ -45,7 +45,7 @@ class PageHeader implements BlockView {
|
|
* @throws IOException if the block is too short to keep the file
|
|
* header.
|
|
*/
|
|
- PageHeader(BlockIo block) {
|
|
+ public PageHeader(BlockIo block) {
|
|
initialize(block);
|
|
if (!magicOk())
|
|
throw new Error("CRITICAL: page header magic for block "
|
|
@@ -66,7 +66,7 @@ class PageHeader implements BlockView {
|
|
* Factory method to create or return a page header for the
|
|
* indicated block.
|
|
*/
|
|
- static PageHeader getView(BlockIo block) {
|
|
+ public static PageHeader getView(BlockIo block) {
|
|
BlockView view = block.getView();
|
|
if (view != null && view instanceof PageHeader)
|
|
return (PageHeader) view;
|
|
diff -urpN src.orig/db/com/cdegroot/db/recman/RecordFile.java src/db/com/cdegroot/db/recman/RecordFile.java
|
|
--- a/src/db/com/cdegroot/db/recman/RecordFile.java 2005-02-06 00:40:17.193151200 +0100
|
|
+++ b/src/db/com/cdegroot/db/recman/RecordFile.java 2005-02-06 00:45:38.616287456 +0100
|
|
@@ -33,7 +33,7 @@ import java.util.*;
|
|
* The set of dirty records on the in-use list constitutes a transaction.
|
|
* Later on, we will send these records to some recovery thingy.
|
|
*/
|
|
-final class RecordFile {
|
|
+final public class RecordFile {
|
|
private final TransactionManager txnMgr;
|
|
|
|
// Todo: reorganize in hashes and fifos as necessary.
|
|
@@ -48,7 +48,7 @@ final class RecordFile {
|
|
private boolean transactionsDisabled = false;
|
|
|
|
/** The length of a single block. */
|
|
- final static int BLOCK_SIZE = 8192;//4096;
|
|
+ final public static int BLOCK_SIZE = 8192;//4096;
|
|
|
|
/** The extension of a record file */
|
|
final static String extension = ".db";
|