aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/archive
diff options
context:
space:
mode:
authorandreizdor <andreizdor@yandex-team.com>2022-08-24 14:43:56 +0300
committerandreizdor <andreizdor@yandex-team.com>2022-08-24 14:43:56 +0300
commitcd18da6559baca915feda6ab8972b599363774e7 (patch)
treec675664b948a98316b813b76dde4a03a0e949cb1 /library/cpp/archive
parent6d2621738a0600fc5e8ea59641e2c883364eb679 (diff)
downloadydb-cd18da6559baca915feda6ab8972b599363774e7.tar.gz
[] Change fixlist processing
**Протобуф:** Добавил поле `repeated string FixlistVersions` в протобуф. **Средний:** - Поменял логику получения фикс-листов. Теперь все файлы архива из дериктории `/rearrange/missing_words` и имеющие расширение `.fixlist.yson.txt` считаются фикс-листами с версиями - имя файла. - Поменял логику фильтрации слов запроса (т.к. теперь фикс-лист задается, как объединение фикс-листов) - Поправил тесты в соответствии с новым форматом - Поправил нейминг полей в соответсвии со style guide (добавил суфикс `_` приватным полям)
Diffstat (limited to 'library/cpp/archive')
-rw-r--r--library/cpp/archive/models_archive_reader.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/library/cpp/archive/models_archive_reader.h b/library/cpp/archive/models_archive_reader.h
index ea237aecb0..a5731b01cb 100644
--- a/library/cpp/archive/models_archive_reader.h
+++ b/library/cpp/archive/models_archive_reader.h
@@ -2,6 +2,7 @@
#include <util/generic/fwd.h>
#include <util/generic/ptr.h>
+#include <util/generic/hash_set.h>
class IInputStream;
@@ -17,4 +18,14 @@ public:
virtual TBlob ObjectBlobByKey(const TStringBuf key) const = 0;
virtual TBlob BlobByKey(const TStringBuf key) const = 0;
virtual bool Compressed() const = 0;
+ virtual THashSet<TStringBuf> FilterByPrefix(TStringBuf prefix, TStringBuf suffix) const {
+ THashSet<TStringBuf> result;
+ for (size_t ind = 0; ind < Count(); ++ind) {
+ TStringBuf path = KeyByIndex(ind);
+ if (path.StartsWith(prefix) && path.EndsWith(suffix)) {
+ result.insert(path);
+ }
+ }
+ return result;
+ }
};