| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also make input string reference const
<https://github.com/ydb-platform/ydb/issues/12306>
Make input string reference const
Make sure returned TStringBuffers do not change during splitter lifetime
splitter.Consume() возвращает TStringBuf.
Если в колонке есть ескейпинг кавычек, вся колонка обрамлена двойными кавычками (`"`), а внутри для ескейпинга двойных кавычек используются две идущие подряд двойные кавычки (`""`).
В таком случае вернуть TStringBuf, ссылающийся на кусок входящего TString, не получится, т.к. нужной подстроки в нем не существует.
Для этого используется мембер TVector\<TStringbuf\> CustomStrings. В него накидываются нужные кусочки из исходной строки и в конце складываются в мембер-строку TString CustomString
Например, из строки `"abc""cde""efg"` копились кусочки `abc"`, `cde"`, `efg` и в конце склеивались.
И возвращался TStringBuf из этой строки-мембера.
Проблема в том, что если в другой колонке той же строки также встречались кавычки с ескейпингом, эта строка-мембер CustomString очищалась. При том, что на неё всё еще ссылался возвращённый ранее TStringBuf.
В итоге "предыдущий" TStringBuf либо начинал ссылаться на часть новой строки, если новая строка была длиннее, либо на часть новой строки \+ рандомный набор байт в памяти, если новая строка оказывалась короче.
Фикс в том, чтобы хранить все строки, сгенерённые сплиттером, всё время жизни сплиттера
commit_hash:aa4957e1d8030cd48d06eaa16a7ad61e878348f8
|
|
|
|
| |
commit_hash:1bcd4492a3f6a28a2be8e27b5660e98cc8e4c8d0
|
|
|
|
| |
commit_hash:ef5ad4cfa9e68bbfc586492e8c376c732d0a48af
|
|
|
|
|
|
| |
TZtStringBuf. Enable check lifetime bounds of the TZtStringBuf
commit_hash:4aa9319e8b2d685402a8ea68fdc24fa07af82d1b
|
|
|
|
| |
commit_hash:a13b2b608cf10b63726c06e1ece6405e92c41377
|
|
|
|
|
| |
Начал с того, что просто унес ```url.*``` из ```search/meta``` в ```search/meta/generic```. Закончилось тем, что еще и поотпиливал странные зависимости ```kernel/facts/credibility/database->search/meta``` и ```quality/functionality/facts/credibility/url_trie_map_lib->search/meta``` : общие библитотеки не имеют права зависеть от ```search/meta/*```
c1e3dbc38eff7073949a371f5fc59714eeb9306e
|
| |
|
|
|
|
| |
23b4ac85c9195fa9b0e7b0624cc3a61d010745be
|
|
|
|
| |
Relates: https://st.yandex-team.ru/, https://st.yandex-team.ru/
|
|
|
|
| |
Update tools: yexport, os-yexport
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This reverts commit 16e792be75335b09a4f9f254e3972030af83b1ad, reversing
changes made to 3790f3d771d1a65ed6c0d05f3e0d79ff13308142.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
```
#0 0x23d0d55b in GetSchemePrefixSize(TBasicStringBuf<char, std::__y1::char_traits<char> >) /home/vmordovin/src/arcadia/fuse/arcadia/library/cpp/string_utils/url/url.cpp:111:11
#1 0x23d0ce99 in GetSchemeHostAndPort(TBasicStringBuf<char, std::__y1::char_traits<char> >, bool, bool) /home/vmordovin/src/arcadia/fuse/arcadia/library/cpp/string_utils/url/url.cpp:173:31
#2 0x23d0da8b in NUrl::SplitUrlToHostAndPath(TBasicStringBuf<char, std::__y1::char_traits<char> >) /home/vmordovin/src/arcadia/fuse/arcadia/library/cpp/string_utils/url/url.cpp:68:27
#3 0x23d0da8b in SplitUrlToHostAndPath(TBasicStringBuf<char, std::__y1::char_traits<char> >, TBasicStringBuf<char, std::__y1::char_traits<char> >&, TBasicStringBuf<char, std::__y1::char_traits<char> >&) /hom
e/vmordovin/src/arcadia/fuse/arcadia/library/cpp/string_utils/url/url.cpp:201:31
#4 0x2c0d8715 in NReportSnippets::SplitGreenUrl(NSc::TValue&, TBasicStringBuf<char, std::__y1::char_traits<char> >, TBasicStringBuf<char, std::__y1::char_traits<char> >) /home/vmordovin/src/arcadia/fuse/arca
dia/search/web/util/report_snippets/report_snippets.cpp:50:5
#5 0x2363d63b in (anonymous namespace)::TReportSnippetGenericContext::ProcessGrouping(TMetaGrouping&, TGroupingIndex const&, IMetaRearrangeContext::TRearrangeParams const&) /home/vmordovin/src/arcadia/fuse/a
rcadia/search/web/rearrange/rep_snip_generic/generic.cpp:129:21
...
```
|
| |
|
|
|
|
| |
https://clubs.at.yandex-team.ru/arcadia/29404
|
|
|
|
| |
Добавил в String UDF поддержку base32
|
|
|
|
|
|
| |
distances with the memory effective version.
YQL UDFs `String::LevensteinDistance` and `Unicode::LevensteinDistance` use `NLevenshtein::Distance` inside.
The previous version of `NLevenshtein::Distance` uses O(nm) space instead of O(min(n, m)).
|
| |
|
| |
|
| |
|
|
|
| |
Update tools: yexport
|
| |
|
|
|
| |
Update tools: yexport
|
| |
|
| |
|
| |
|
|
|
| |
Update tools: yexport
|
|
|
|
|
| |
https://www.ietf.org/rfc/rfc3986.txt
Символ `^` не входит в допустимые символы URI
|
| |
|
| |
|
| |
|
|
|
| |
Update tools: yexport
|
|
|
| |
Update tools: yexport
|
| |
|
| |
|
|
|
|
| |
Base64 строки url-friendly
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* [cmake] Hierarchical add_subdirectroy structure
* [cmake] Support for same file compilation multiple times with different flags
|
| |
|
|
|
|
| |
ref:0a380e13308d579e0545a76924330d1ca5129c43
|