introduce InvertedIndex.prepareUpdate

GitOrigin-RevId: e0beffe8626c6f8dcf8981cbd803cdd14ec7f1f5
This commit is contained in:
Gregory.Shrago
2021-12-09 09:33:23 +00:00
committed by intellij-monorepo-bot
parent 615c7eaac2
commit 17d0b46af3
4 changed files with 20 additions and 0 deletions
@@ -16,6 +16,7 @@ import com.intellij.util.containers.ConcurrentIntObjectMap;
import com.intellij.util.containers.SLRUMap;
import com.intellij.util.indexing.*;
import com.intellij.util.indexing.impl.AbstractUpdateData;
import com.intellij.util.indexing.impl.InputData;
import com.intellij.util.indexing.impl.InputDataDiffBuilder;
import com.intellij.util.indexing.impl.ValueContainerImpl;
import com.intellij.util.indexing.impl.storage.AbstractIntLog;
@@ -210,6 +211,11 @@ public final class LogFileTypeIndex implements UpdatableIndex<FileType, Void, Fi
}
}
@Override
public @NotNull Computable<Boolean> prepareUpdate(int inputId, @NotNull InputData<FileType, Void> data) {
throw new UnsupportedOperationException();
}
private FileType getFileTypeById(int id) {
assert id < Short.MAX_VALUE : "file type id = " + id;
Ref<FileType> fileType = myId2FileTypeCache.get(id);
@@ -11,6 +11,7 @@ import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.util.Processor;
import com.intellij.util.indexing.*;
import com.intellij.util.indexing.impl.AbstractUpdateData;
import com.intellij.util.indexing.impl.InputData;
import com.intellij.util.indexing.impl.InputDataDiffBuilder;
import com.intellij.util.indexing.snapshot.SnapshotSingleValueIndexStorage;
import org.jetbrains.annotations.NotNull;
@@ -273,6 +274,11 @@ public final class EmptyFileBasedIndex extends FileBasedIndexEx {
throw new UnsupportedOperationException();
}
@Override
public @NotNull Computable<Boolean> prepareUpdate(int inputId, @NotNull InputData<Key, Value> data) {
throw new UnsupportedOperationException();
}
@Override
public void flush() {
}
@@ -17,6 +17,7 @@
package com.intellij.util.indexing;
import com.intellij.openapi.util.Computable;
import com.intellij.util.indexing.impl.InputData;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -35,6 +36,8 @@ public interface InvertedIndex<Key, Value, Input> {
@NotNull
Computable<Boolean> mapInputAndPrepareUpdate(int inputId, @Nullable Input content);
@NotNull Computable<Boolean> prepareUpdate(int inputId, @NotNull InputData<Key, Value> data);
void flush() throws StorageException;
void clear() throws StorageException;
@@ -253,6 +253,11 @@ public abstract class MapReduceIndex<Key,Value, Input> implements InvertedIndex<
throw new MapReduceIndexMappingException(e, myExtension.getClass());
}
return prepareUpdate(inputId, data);
}
@Override
public @NotNull IndexUpdateComputable prepareUpdate(int inputId, @NotNull InputData<Key, Value> data) {
UpdateData<Key, Value> updateData = new UpdateData<>(
inputId,
data.getKeyValues(),