You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ju...@apache.org on 2013/02/07 14:13:55 UTC

svn commit: r1443450 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment: ListRecord.java MapRecord.java Record.java

Author: jukka
Date: Thu Feb  7 13:13:55 2013
New Revision: 1443450

URL: http://svn.apache.org/viewvc?rev=1443450&view=rev
Log:
OAK-593: Segment-based MK

Call reader directly in record methods

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/ListRecord.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Record.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/ListRecord.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/ListRecord.java?rev=1443450&r1=1443449&r2=1443450&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/ListRecord.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/ListRecord.java Thu Feb  7 13:13:55 2013
@@ -51,7 +51,7 @@ class ListRecord extends Record {
         } else {
             int bucketIndex = index / bucketSize;
             int bucketOffset = index % bucketSize;
-            RecordId bucketId = readRecordId(reader, bucketIndex * 4);
+            RecordId bucketId = reader.readRecordId(getRecordId(), bucketIndex * 4);
             ListRecord bucket =
                 new ListRecord(bucketId, bucketSize);
             return bucket.getEntry(reader, bucketOffset);

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java?rev=1443450&r1=1443449&r2=1443450&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java Thu Feb  7 13:13:55 2013
@@ -27,7 +27,7 @@ class MapRecord extends Record {
     }
 
     public int size(SegmentReader reader) {
-        return readInt(reader, 0);
+        return reader.readInt(getRecordId(), 0);
     }
 
     public RecordId getEntry(SegmentReader reader, String key) {
@@ -41,29 +41,29 @@ class MapRecord extends Record {
         int shift = level * LEVEL_BITS;
 
         int code = key.hashCode();
-        int bucketSize = readInt(reader, 0);
+        int bucketSize = reader.readInt(getRecordId(), 0);
         if (bucketSize == 0) {
             return null;
         } else if (bucketSize <= size || shift >= 32) {
             int offset = 0;
-            while (offset < bucketSize && readInt(reader, 4 + offset * 4) < code) {
+            while (offset < bucketSize && reader.readInt(getRecordId(), 4 + offset * 4) < code) {
                 offset++;
             }
-            while (offset < bucketSize && readInt(reader, 4 + offset * 4) == code) {
-                RecordId keyId = readRecordId(reader, 4 + (bucketSize + offset) * 4);
+            while (offset < bucketSize && reader.readInt(getRecordId(), 4 + offset * 4) == code) {
+                RecordId keyId = reader.readRecordId(getRecordId(), 4 + (bucketSize + offset) * 4);
                 if (key.equals(reader.readString(keyId))) {
-                    return readRecordId(reader, 4 + (2 * bucketSize + offset) * 4);
+                    return reader.readRecordId(getRecordId(), 4 + (2 * bucketSize + offset) * 4);
                 }
                 offset++;
             }
             return null;
         } else {
-            long bucketMap = readLong(reader, 4);
+            long bucketMap = reader.readLong(getRecordId(), 4);
             int bucketIndex = (code >> shift) & mask;
             long bucketBit = 1L << bucketIndex;
             if ((bucketMap & bucketBit) != 0) {
                 bucketIndex = Long.bitCount(bucketMap & (bucketBit - 1));
-                RecordId bucketId = readRecordId(reader, 12 + bucketIndex * 4);
+                RecordId bucketId = reader.readRecordId(getRecordId(), 12 + bucketIndex * 4);
                 return new MapRecord(bucketId).getEntry(reader, key, level + 1);
             } else {
                 return null;

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Record.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Record.java?rev=1443450&r1=1443449&r2=1443450&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Record.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Record.java Thu Feb  7 13:13:55 2013
@@ -24,18 +24,6 @@ class Record {
         this.id = id;
     }
 
-    protected RecordId readRecordId(SegmentReader reader, int position) {
-        return reader.readRecordId(id, position);
-    }
-
-    protected int readInt(SegmentReader reader, int position) {
-        return reader.readInt(id, position);
-    }
-
-    protected long readLong(SegmentReader reader, int position) {
-        return reader.readLong(id, position);
-    }
-
     public RecordId getRecordId() {
         return id;
     }