8000 Fixed issue #2382 · githubcs/orientdb@fa6e110 · GitHub
[go: up one dir, main page]

Skip to content

Commit fa6e110

Browse files
committed
1 parent 8b8593d commit fa6e110

File tree

1 file changed

+19
-14
lines changed

1 file changed

+19
-14
lines changed

core/src/main/java/com/orientechnologies/orient/core/index/OIndexAbstract.java

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,18 @@
1515
*/
1616
package com.orientechnologies.orient.core.index;
1717

18+
import java.io.IOException;
19+
import java.lang.reflect.InvocationTargetException;
20+
import java.util.Collection;
21+
import java.util.Collections;
22+
import java.util.HashMap;
23+
import java.util.HashSet;
24+
import java.util.List;
25+
import java.util.Locale;
26+
import java.util.Map;
27+
import java.util.NoSuchElementException;
28+
import java.util.Set;
29+
1830
import com.orientechnologies.common.concur.lock.OModificationLock;
1931
import com.orientechnologies.common.concur.resource.OSharedResourceAdaptiveExternal;
2032
import com.orientechnologies.common.listener.OProgressListener;
@@ -45,18 +57,6 @@
4557
import com.orientechnologies.orient.core.storage.impl.local.OStorageLocal;
4658
import com.orientechnologies.orient.core.tx.OTransactionIndexChanges.OPERATION;
4759

48-
import java.io.IOException;
49-
import java.lang.reflect.InvocationTargetException;
50-
import java.util.Collection;
51-
import java.util.Collections;
52-
import java.util.HashMap;
53-
import java.util.HashSet;
54-
import java.util.List;
55-
import java.util.Locale;
56-
import java.util.Map;
57-
import java.util.NoSuchElementException;
58-
import java.util.Set;
59-
6060
/**
6161
* Handles indexing when records change.
6262
*
@@ -447,9 +447,11 @@ public long rebuild(final OProgressListener iProgressListener) {
447447
return documentIndexed;
448448
}
449449

450-
public boolean remove(final Object key, final OIdentifiable value) {
450+
public boolean remove(Object key, final OIdentifiable value) {
451451
checkForRebuild();
452452

453+
key = getCollatingValue(key);
454+
453455
modificationLock.requestModificationLock();
454456
try {
455457
return remove(key);
@@ -459,9 +461,11 @@ public boolean remove(final Object key, final OIdentifiable value) {
459461

460462
}
461463

462-
public boolean remove(final Object key) {
464+
public boolean remove(Object key) {
463465
checkForRebuild();
464466

467+
key = getCollatingValue(key);
468+
465469
modificationLock.requestModificationLock();
466470

467471
try {
@@ -890,6 +894,7 @@ protected Object getCollatingValue(final Object key) {
890894
protected abstract void removeFromSnapshot(Object key, OIdentifiable value, Map<Object, Object> snapshot);
891895

892896
protected void removeFromSnapshot(Object key, Map<Object, Object> snapshot) {
897+
key = getCollatingValue(key);
893898
snapshot.put(key, RemovedValue.INSTANCE);
894899
}
895900

0 commit comments

Comments
 (0)
0