From 36e213444660f0a74ed415adeab490a5f3d50a6f Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Fri, 09 Oct 2015 11:40:06 +0000
Subject: [PATCH] OPENDJ-1791 Implement a tool like dbtest for the pluggable backend
---
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java | 25 ++++++++++++++++++++++++-
1 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java
index e974319..172d8f8 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java
@@ -25,10 +25,11 @@
package org.opends.server.backends.pluggable;
import org.forgerock.opendj.ldap.ByteSequence;
+import org.forgerock.opendj.ldap.ByteSequenceReader;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ByteStringBuilder;
-import org.forgerock.util.Function;
import org.forgerock.util.Reject;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import org.opends.server.backends.pluggable.spi.Cursor;
import org.opends.server.backends.pluggable.spi.Importer;
@@ -145,6 +146,28 @@
return value.toLong();
}
+ @Override
+ public String keyToString(ByteString key)
+ {
+ ByteSequenceReader keyReader = key.asReader();
+ long keyID = keyReader.getCompactUnsigned();
+ long shardBucket = keyReader.getCompactUnsigned();
+ return (keyID == TOTAL_COUNT_ENTRY_ID.longValue() ? "Total Children Count" : keyID) + "#" + shardBucket;
+ }
+
+ @Override
+ public String valueToString(ByteString value)
+ {
+ return String.valueOf(fromValue(value));
+ }
+
+ @Override
+ public ByteString generateKey(String data)
+ {
+ EntryID entryID = new EntryID(Long.parseLong(data));
+ return entryID.toByteString();
+ }
+
/**
* Get the counter value for the specified key
* @param txn The transaction
--
Gitblit v1.10.0