summaryrefslogtreecommitdiff
path: root/app-misc/strigi/files/strigi-0.7.5-clucene23.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/strigi/files/strigi-0.7.5-clucene23.patch')
-rw-r--r--app-misc/strigi/files/strigi-0.7.5-clucene23.patch207
1 files changed, 207 insertions, 0 deletions
diff --git a/app-misc/strigi/files/strigi-0.7.5-clucene23.patch b/app-misc/strigi/files/strigi-0.7.5-clucene23.patch
new file mode 100644
index 00000000000..0316671d328
--- /dev/null
+++ b/app-misc/strigi/files/strigi-0.7.5-clucene23.patch
@@ -0,0 +1,207 @@
+diff -upr strigi-0.7.5.orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp strigi-0.7.5/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp
+--- strigi-0.7.5.orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp 2011-06-02 11:29:26.000000000 +0200
++++ strigi-0.7.5/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexreader.cpp 2011-08-18 02:43:46.000000000 +0200
+@@ -56,7 +56,6 @@ using lucene::document::DocumentFieldEnu
+ using Strigi::IndexedDocument;
+ using Strigi::Variant;
+ using Strigi::FieldRegister;
+-typedef boost::shared_ptr<lucene::index::Term> LuceneTerm;
+
+ using namespace std;
+
+@@ -101,9 +100,9 @@ public:
+ CLuceneIndexReader& reader;
+ Private(CLuceneIndexReader& r) :reader(r) {}
+
+- static LuceneTerm createTerm(const wchar_t* name, const string& value);
+- static LuceneTerm createKeywordTerm(const wchar_t* name, const string& value);
+- static LuceneTerm createWildCardTerm(const wchar_t* name, const string& value);
++ static Term* createTerm(const wchar_t* name, const string& value);
++ static Term* createKeywordTerm(const wchar_t* name, const string& value);
++ static Term* createWildCardTerm(const wchar_t* name, const string& value);
+ Query* createQuery(const Strigi::Query& query);
+ Query* createSimpleQuery(const Strigi::Query& query);
+ static Query* createSingleFieldQuery(const string& field,
+@@ -187,12 +186,12 @@ CLuceneIndexReader::mapId(const char* id
+ }
+ #endif
+
+-LuceneTerm
++Term*
+ CLuceneIndexReader::Private::createWildCardTerm(const wchar_t* name,
+ const string& value) {
+- return LuceneTerm(_CLNEW Term(name, utf8toucs2(value).c_str()));
++ return _CLNEW Term(name, utf8toucs2(value).c_str());
+ }
+-LuceneTerm
++Term*
+ CLuceneIndexReader::Private::createTerm(const wchar_t* name,
+ const string& value) {
+ wstring v = utf8toucs2(value);
+@@ -206,16 +205,15 @@ CLuceneIndexReader::Private::createTerm(
+ } else {
+ tv = v.c_str();
+ }
+- LuceneTerm t(_CLNEW Term(name, tv));
++ Term* t = _CLNEW Term(name, tv);
+ _CLDELETE(ts);
+ return t;
+ }
+-LuceneTerm
++Term*
+ CLuceneIndexReader::Private::createKeywordTerm(const wchar_t* name,
+ const string& value) {
+ wstring v = utf8toucs2(value);
+- LuceneTerm t(_CLNEW Term(name, v.c_str()));
+- return t;
++ return _CLNEW Term(name, v.c_str());
+ }
+ BooleanQuery*
+ CLuceneIndexReader::Private::createBooleanQuery(const Strigi::Query& query) {
+@@ -249,25 +247,24 @@ CLuceneIndexReader::Private::createSingl
+ const Strigi::Query& query) {
+ wstring fieldname = mapId(field.c_str());
+ Query* q;
+- LuceneTerm t;
+- LuceneTerm nullTerm;
++ Term* t;
+ const string& val = query.term().string();
+ switch (query.type()) {
+ case Strigi::Query::LessThan:
+ t = createTerm(fieldname.c_str(), val.c_str());
+- q = _CLNEW RangeQuery(nullTerm, t, false);
++ q = _CLNEW RangeQuery(0, t, false);
+ break;
+ case Strigi::Query::LessThanEquals:
+ t = createTerm(fieldname.c_str(), query.term().string());
+- q = _CLNEW RangeQuery(nullTerm, t, true);
++ q = _CLNEW RangeQuery(0, t, true);
+ break;
+ case Strigi::Query::GreaterThan:
+ t = createTerm(fieldname.c_str(), query.term().string());
+- q = _CLNEW RangeQuery(t, nullTerm, false);
++ q = _CLNEW RangeQuery(t, 0, false);
+ break;
+ case Strigi::Query::GreaterThanEquals:
+ t = createTerm(fieldname.c_str(), query.term().string());
+- q = _CLNEW RangeQuery(t, nullTerm, true);
++ q = _CLNEW RangeQuery(t, 0, true);
+ break;
+ case Strigi::Query::Keyword:
+ t = createKeywordTerm(fieldname.c_str(), query.term().string());
+@@ -282,6 +279,7 @@ CLuceneIndexReader::Private::createSingl
+ q = _CLNEW TermQuery(t);
+ }
+ }
++ _CLDECDELETE(t);
+ return q;
+ }
+ Query*
+@@ -584,12 +582,13 @@ CLuceneIndexReader::documentId(const str
+ if (reader == NULL) return -1;
+ int64_t id = -1;
+
+- LuceneTerm term(_CLNEW Term(mapId(Private::systemlocation()), utf8toucs2( uri ).c_str()));
++ Term* term = _CLNEW Term(mapId(Private::systemlocation()), utf8toucs2( uri ).c_str());
+ TermDocs* docs = reader->termDocs(term);
+ if (docs->next()) {
+ id = docs->doc();
+ }
+ _CLDELETE(docs);
++ _CLDECDELETE(term);
+
+ if (id != -1 && reader->isDeleted((int32_t)id)) {
+ id = -1;
+@@ -770,12 +769,13 @@ CLuceneIndexReader::keywords(const strin
+ const wchar_t* prefixtext = prefix.c_str();
+ string::size_type prefixLen = prefix.length();
+ vector<string>::const_iterator i;
+- LuceneTerm lastTerm;
++ Term* lastTerm;
+ for (i = fn.begin(); i != fn.end() && s.size() << max; ++i) {
+ wstring fieldname(utf8toucs2(*i));
+- LuceneTerm term(_CLNEW Term(fieldname.c_str(), prefix.c_str()));
++ Term* term = _CLNEW Term(fieldname.c_str(), prefix.c_str());
+ TermEnum* enumerator = reader->terms(term);
+ do {
++ _CLDECDELETE(lastTerm);
+ lastTerm = enumerator->term();
+ if (lastTerm) {
+ if (prefixLen > lastTerm->textLength()
+@@ -786,7 +786,9 @@ CLuceneIndexReader::keywords(const strin
+ s.insert(lastTerm->text());
+ }
+ } while (enumerator->next() && s.size() < max);
++ _CLDECDELETE(term);
+ }
++ _CLDECDELETE(lastTerm);
+
+ k.reserve(s.size());
+ set<wstring>::const_iterator j;
+diff -upr strigi-0.7.5.orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp strigi-0.7.5/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp
+--- strigi-0.7.5.orig/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp 2011-06-02 11:29:26.000000000 +0200
++++ strigi-0.7.5/libstreamanalyzer/plugins/indexers/clucenengindexer/cluceneindexwriter.cpp 2011-08-18 02:43:46.000000000 +0200
+@@ -45,7 +45,6 @@ using lucene::util::BitSet;
+ using lucene::util::Reader;
+ using namespace std;
+ using namespace Strigi;
+-typedef boost::shared_ptr<lucene::index::Term> LuceneTerm;
+
+ struct CLuceneDocData {
+ lucene::document::Document doc;
+@@ -219,18 +218,19 @@ void
+ CLuceneIndexWriter::deleteEntry(const string& entry, lucene::index::IndexWriter* writer, lucene::index::IndexReader* reader) {
+ wstring path(utf8toucs2(entry));
+ {
+- LuceneTerm t(_CLNEW Term(systemlocation(), path.c_str()));
++ Term* t = _CLNEW Term(systemlocation(), path.c_str());
+ writer->deleteDocuments(t);
++ _CLDECDELETE(t);
+ }
+ {
+- LuceneTerm t(_CLNEW Term(parentlocation(), path.c_str()));
++ Term* t = _CLNEW Term(parentlocation(), path.c_str());
+ writer->deleteDocuments(t);
+-
++ _CLDECDELETE(t);
+ }
+ {
+ // delete all deeper nested files
+ wstring v = utf8toucs2(entry+"/");
+- LuceneTerm t(_CLNEW Term(parentlocation(), v.c_str()));
++ Term* t(_CLNEW Term(parentlocation(), v.c_str()));
+ PrefixFilter* filter = _CLNEW PrefixFilter(t);
+ BitSet* b = filter->bits(reader);
+ _CLDELETE(filter);
+@@ -241,6 +241,7 @@ CLuceneIndexWriter::deleteEntry(const st
+ }
+ }
+ _CLDELETE(b);
++ _CLDECDELETE(t);
+ }
+ }
+ void
+diff -upr strigi-0.7.5.orig/libstreamanalyzer/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp strigi-0.7.5/libstreamanalyzer/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp
+--- strigi-0.7.5.orig/libstreamanalyzer/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp 2011-06-02 11:29:26.000000000 +0200
++++ strigi-0.7.5/libstreamanalyzer/plugins/indexers/clucenengindexer/indexdump/indexdump.cpp 2011-08-18 02:43:46.000000000 +0200
+@@ -40,7 +40,6 @@ using lucene::search::HitCollector;
+ using lucene::util::BitSet;
+ using lucene::document::DocumentFieldEnumeration;
+ using lucene::index::IndexReader;
+-typedef boost::shared_ptr<lucene::index::Term> LuceneTerm;
+
+ std::string
+ t2a(const TCHAR* t) {
+@@ -68,10 +67,11 @@ indexdump(const char* dir) {
+ }
+ }
+ TermEnum* terms = indexreader->terms();
+- LuceneTerm t;
++ Term* t = 0;
+ while (terms->next()) {
+ t = terms->term();
+ printf("%s: %s\n", t2a(t->field()).c_str(), t2a(t->text()).c_str());
++ _CLDECDELETE(t);
+ }
+ }
+ int