From fd66ffe98366594bdd4009cca7d2a373a0bf49e6 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Mon, 18 Jun 2018 12:14:51 +0200 Subject: Finally don't store dates along ref in sampled index --- common/CMakeLists.txt | 1 - common/sample.fbs | 9 --------- common/typeindex.cpp | 32 +++++++------------------------- 3 files changed, 7 insertions(+), 35 deletions(-) delete mode 100644 common/sample.fbs diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index aa400e1..970990f 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -109,7 +109,6 @@ generate_flatbuffers( domain/folder domain/dummy entity - sample metadata queuedcommand ) diff --git a/common/sample.fbs b/common/sample.fbs deleted file mode 100644 index dbd0e03..0000000 --- a/common/sample.fbs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Sink; - -table Sample { - periodStart: string; - periodEnd: string; - reference: string; -} - -root_type Sample; diff --git a/common/typeindex.cpp b/common/typeindex.cpp index e056b36..15030de 100644 --- a/common/typeindex.cpp +++ b/common/typeindex.cpp @@ -22,8 +22,6 @@ #include "index.h" #include "fulltextindex.h" -#include "sample_generated.h" - #include #include @@ -243,24 +241,15 @@ void TypeIndex::addSampledPeriodIndex( return; } - auto beginBA = toSortableByteArray(beginDate); - auto endBA = toSortableByteArray(endDate); - - flatbuffers::FlatBufferBuilder fbb; - auto sample = CreateSampleDirect(fbb, beginBA.constData(), endBA.constData(), identifier.constData()); - fbb.Finish(sample); - const auto buffer = QByteArray::fromRawData( - reinterpret_cast(fbb.GetBufferPointer()), fbb.GetSize()); - Index index(sampledPeriodIndexName(beginProperty, endProperty), transaction); for (auto bucket = beginBucket; bucket <= endBucket; ++bucket) { QByteArray bucketKey = padNumber(bucket); if (add) { SinkTraceCtx(mLogCtx) << "Adding entity to bucket:" << bucketKey; - index.add(bucketKey, buffer); + index.add(bucketKey, identifier); } else { SinkTraceCtx(mLogCtx) << "Removing entity from bucket:" << bucketKey; - index.remove(bucketKey, buffer); + index.remove(bucketKey, identifier); } } }; @@ -406,17 +395,7 @@ static QVector sampledIndexLookup(Index &index, QueryBase::Comparato index.rangeLookup(lowerBucket, upperBucket, [&](const QByteArray &value) { - auto sample = GetSample(value.data()); - - QByteArray periodStart = QString::fromStdString(sample->periodStart()->str()).toUtf8(); - QByteArray periodEnd = QString::fromStdString(sample->periodEnd()->str()).toUtf8(); - - // Inverse comparison since descending order - if (periodStart >= upperBound && lowerBound >= periodEnd) { - QByteArray key = QString::fromStdString(sample->reference()->str()).toUtf8(); - SinkTrace() << "Keeping:" << key; - keys << key; - } + keys << value.data(); }, [bounds](const Index::Error &error) { SinkWarning() << "Lookup error in index:" << error.message @@ -444,7 +423,10 @@ QVector TypeIndex::query(const Sink::QueryBase &query, QSet