From 7ddf5a923866031a7034f457715d6a5e4ecbca67 Mon Sep 17 00:00:00 2001
From: sin <sin@localhost>
Date: Sat, 31 Jan 2009 07:06:11 +0000
Subject: [PATCH] Integrating the changes related to Collation indexing support
---
opends/src/server/org/opends/server/backends/jeb/importLDIF/WorkThread.java | 31 +++++++++++++++++++++++++++++--
1 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/opends/src/server/org/opends/server/backends/jeb/importLDIF/WorkThread.java b/opends/src/server/org/opends/server/backends/jeb/importLDIF/WorkThread.java
index 8b8f16e..651134e 100644
--- a/opends/src/server/org/opends/server/backends/jeb/importLDIF/WorkThread.java
+++ b/opends/src/server/org/opends/server/backends/jeb/importLDIF/WorkThread.java
@@ -22,12 +22,13 @@
* CDDL HEADER END
*
*
- * Copyright 2008 Sun Microsystems, Inc.
+ * Copyright 2008-2009 Sun Microsystems, Inc.
*/
package org.opends.server.backends.jeb.importLDIF;
import static org.opends.server.loggers.debug.DebugLogger.*;
+import static org.opends.server.util.ServerConstants.*;
import org.opends.server.loggers.debug.DebugTracer;
import org.opends.server.types.*;
import org.opends.server.api.DirectoryThread;
@@ -37,7 +38,6 @@
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.*;
-import org.opends.server.util.*;
import com.sleepycat.je.*;
@@ -127,6 +127,7 @@
* to flush and exit.
*
*/
+ @Override
public void run()
{
try {
@@ -222,6 +223,12 @@
if((index=attributeIndex.getApproximateIndex()) != null) {
delete(index, existingEntry, entryID);
}
+ for(Collection<Index> indexes :
+ attributeIndex.getExtensibleIndexes().values()) {
+ for(Index extensibleIndex: indexes) {
+ delete(extensibleIndex,existingEntry,entryID);
+ }
+ }
}
for(VLVIndex vlvIdx : context.getEntryContainer().getVLVIndexes()) {
vlvIdx.removeEntry(txn, entryID, existingEntry);
@@ -276,6 +283,26 @@
for(VLVIndex vlvIdx : context.getEntryContainer().getVLVIndexes()) {
vlvIdx.addEntry(txn, entryID, entry);
}
+ Map<String,Collection<Index>> extensibleMap =
+ attributeIndex.getExtensibleIndexes();
+ if(!extensibleMap.isEmpty()) {
+ Collection<Index> subIndexes =
+ attributeIndex.getExtensibleIndexes().get(
+ EXTENSIBLE_INDEXER_ID_SUBSTRING);
+ if(subIndexes != null) {
+ for(Index subIndex: subIndexes) {
+ bufferMgr.insert(subIndex, entry, entryID, insertKeySet);
+ }
+ }
+ Collection<Index> sharedIndexes =
+ attributeIndex.getExtensibleIndexes().get(
+ EXTENSIBLE_INDEXER_ID_SHARED);
+ if(sharedIndexes !=null) {
+ for(Index sharedIndex:sharedIndexes) {
+ insert(sharedIndex,entry,entryID);
+ }
+ }
+ }
}
}
}
--
Gitblit v1.10.0