From add86d3c7c047215f886c51e2b29a4c7f1e86c0c Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Thu, 03 Sep 2026 08:21:14 +0000
Subject: [PATCH] [#877] Bound a statement of the JDBC backend by the class of the work it belongs to (#882)
---
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Index.java | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Index.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Index.java
index bbaf6b5..078348d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Index.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Index.java
@@ -13,6 +13,7 @@
*
* Copyright 2006-2010 Sun Microsystems, Inc.
* Portions Copyright 2012-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.opends.server.backends.pluggable;
@@ -37,6 +38,23 @@
Cursor<ByteString, EntryIDSet> openCursor(ReadableTransaction txn);
+ /**
+ * Opens a cursor over the whole index for a task no client operation is waiting on, such as
+ * {@code verify-index} or {@code dbtest}.
+ * <p>
+ * Abstract rather than a {@code default} answering as {@link #openCursor(ReadableTransaction)}
+ * does, which is the compatibility the SPI needs for engines outside this repository: this
+ * interface is package-private with one implementor, and a second one inheriting that default
+ * would silently walk a whole index under the bound of a client operation. A compile error is
+ * the better answer here.
+ *
+ * @param txn
+ * the transaction to read the index with
+ * @return a cursor over every key of this index
+ * @see ReadableTransaction#openBulkCursor(org.opends.server.backends.pluggable.spi.TreeName)
+ */
+ Cursor<ByteString, EntryIDSet> openBulkCursor(ReadableTransaction txn);
+
boolean setIndexEntryLimit(int indexEntryLimit);
boolean setConfidential(boolean indexConfidential);
--
Gitblit v1.10.0