blob: 2c5a0b95135f185d6ff84fd2db72901e96313173 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
diff -ur clucene.org/src/core/CLucene/index/IndexWriter.cpp clucene/src/core/CLucene/index/IndexWriter.cpp
--- clucene.org/src/core/CLucene/index/IndexWriter.cpp 2023-11-02 17:31:00.110168174 +0100
+++ clucene/src/core/CLucene/index/IndexWriter.cpp 2023-11-02 17:33:22.507665912 +0100
@@ -366,6 +366,10 @@
}
}
+void IndexWriter::setSegmentInfoStartVersion(int64_t startVersion) {
+ this->segmentInfos->setStartVersion(startVersion);
+}
+
int32_t IndexWriter::getMaxBufferedDocs() {
ensureOpen();
return docWriter->getMaxBufferedDocs();
diff -ur clucene.org/src/core/CLucene/index/IndexWriter.h clucene/src/core/CLucene/index/IndexWriter.h
--- clucene.org/src/core/CLucene/index/IndexWriter.h 2023-11-02 17:31:00.113501525 +0100
+++ clucene/src/core/CLucene/index/IndexWriter.h 2023-11-02 17:33:43.547787510 +0100
@@ -336,6 +336,12 @@
int64_t getWriteLockTimeout();
/**
+ * Sets the 0th segmentinfo version. Default is current system time
+ * in milliseconds
+ */
+ void setSegmentInfoStartVersion(int64_t startVersion);
+
+ /**
* Sets the maximum time to wait for a commit lock (in milliseconds).
*/
void setCommitLockTimeout(int64_t commitLockTimeout);
diff -ur clucene.org/src/core/CLucene/index/SegmentInfos.cpp clucene/src/core/CLucene/index/SegmentInfos.cpp
--- clucene.org/src/core/CLucene/index/SegmentInfos.cpp 2023-11-02 17:31:00.110168174 +0100
+++ clucene/src/core/CLucene/index/SegmentInfos.cpp 2023-11-02 18:04:43.855243418 +0100
@@ -662,6 +662,10 @@
return IndexFileNames::fileNameFromGeneration( IndexFileNames::SEGMENTS, "", nextGeneration );
}
+ void SegmentInfos::setStartVersion(int64_t version) {
+ this->version = version;
+ }
+
void SegmentInfos::clearto(size_t from, size_t end){
size_t range = end - from;
if ( (infos.size() - from) >= range) { // Make sure we actually need to remove
diff -ur clucene.org/src/core/CLucene/index/_SegmentInfos.h clucene/src/core/CLucene/index/_SegmentInfos.h
--- clucene.org/src/core/CLucene/index/_SegmentInfos.h 2023-11-02 17:31:00.106834824 +0100
+++ clucene/src/core/CLucene/index/_SegmentInfos.h 2023-11-02 18:04:51.178598463 +0100
@@ -347,6 +347,13 @@
*/
std::string getNextSegmentFileName();
+ /**
+ * Set version value to start from
+
+ Defaults to current time in milliseconds
+ */
+ void setStartVersion(int64_t version);
+
/* public vector-like operations */
//delete and clears objects 'from' from to 'to'
void clearto(size_t to, size_t end);
|