aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/string_utils
Commit message (Collapse)AuthorAgeFilesLines
* Make sure returned TStringBuffers do not change during splitter lifetime. ↵pnv12024-12-102-14/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Intermediate changesrobot-piglet2024-11-191-1/+1
| | | | commit_hash:1bcd4492a3f6a28a2be8e27b5660e98cc8e4c8d0
* Remove Size, Empty and Data usages from librarymikhnenko2024-10-041-2/+2
| | | | commit_hash:ef5ad4cfa9e68bbfc586492e8c376c732d0a48af
* fix dereferencing of temporary string value in the default constructed ↵swarmer2024-09-184-5/+47
| | | | | | TZtStringBuf. Enable check lifetime bounds of the TZtStringBuf commit_hash:4aa9319e8b2d685402a8ea68fdc24fa07af82d1b
* check lifetime bounds in the url libraryswarmer2024-09-162-47/+47
| | | | commit_hash:a13b2b608cf10b63726c06e1ece6405e92c41377
* Move code to libraryvmordovin2024-07-272-1/+39
| | | | | Начал с того, что просто унес ```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
* Intermediate changesrobot-piglet2024-07-197-0/+7
|
* Add Base64EncodeNoPadding Methodbvdvlg2024-06-203-5/+40
| | | | 23b4ac85c9195fa9b0e7b0624cc3a61d010745be
* feat contrib: aiogram 3armenqa2024-01-1967-1220/+0
| | | | Relates: https://st.yandex-team.ru/, https://st.yandex-team.ru/
* External build system generator release 65robot-ya-builder2023-12-0511-33/+33
| | | | Update tools: yexport, os-yexport
* Intermediate changesrobot-piglet2023-12-053-71/+0
|
* Intermediate changesrobot-piglet2023-12-023-0/+71
|
* Intermediate changesrobot-piglet2023-12-013-71/+0
|
* YQ Connector:Use docker-compose in integrational testsvitalyisaev2023-11-303-0/+71
|
* add darwin-arm64 CMakeListsdcherednik2023-11-2022-0/+216
|
* Added 'y_benchmark' to Y_BENCHMARKdaniel-march2023-11-131-0/+2
|
* Revert "metrics have been added"hcpp2023-11-0810-476/+0
| | | | | This reverts commit 16e792be75335b09a4f9f254e3972030af83b1ad, reversing changes made to 3790f3d771d1a65ed6c0d05f3e0d79ff13308142.
* metrics have been addedhcpp2023-11-0810-0/+476
|
* [library] Fix ub-sanitizer error 'applying non-zero offset to null pointer'vmordovin2023-10-201-1/+4
| | | | | | | | | | | | | | | ``` #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 ... ```
* Add THash<TZtStringBuf>vadim-xd2023-10-111-0/+5
|
* Y_VERIFY->Y_ABORT_UNLESS at ^lilnurkh2023-10-092-2/+2
| | | | https://clubs.at.yandex-team.ru/arcadia/29404
* [yql/udfs/string] Add base32daredevil20022023-08-2213-0/+506
| | | | Добавил в String UDF поддержку base32
* Replace the functions for the `Levenshtein` and the `Damerau–Levenshtein` ↵akinshchikov2023-07-032-8/+47
| | | | | | 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)).
* add ymake export to ydbalexv-smirnov2023-06-1322-0/+228
|
* Remove extra semicolon (library)bulatman2023-06-103-12/+12
|
* Add lua http lib; Add TVM auth for HTTP inputvadim-xd2023-05-171-1/+1
|
* External build system generator release 29robot-ya-builder2023-04-1910-10/+10
| | | Update tools: yexport
* Revert ymake build from ydb oss exportalexv-smirnov2023-03-2822-228/+0
|
* External build system generator release 21robot-ya-builder2023-03-1710-30/+30
| | | Update tools: yexport
* add library/cpp/actors, ymake build to ydb oss exportalexv-smirnov2023-03-1522-0/+228
|
* Intermediate changesrobot-piglet2023-03-0920-0/+197
|
* Intermediate changesrobot-piglet2023-03-0730-20/+20
|
* External build system generator release 17robot-ya-builder2023-03-0610-10/+10
| | | Update tools: yexport
* Fix escaping cgi, according to RFC 3986 standartandreizdor2023-02-162-8/+8
| | | | | https://www.ietf.org/rfc/rfc3986.txt Символ `^` не входит в допустимые символы URI
* Intermediate changesrobot-piglet2023-02-0730-30/+30
|
* Intermediate changesrobot-piglet2023-02-0730-30/+30
|
* Implement Damerau-Levenshtein distanceilikepugs2023-01-312-20/+104
|
* External build system generator release 12robot-ya-builder2023-01-3110-10/+10
| | | Update tools: yexport
* External build system generator release 8robot-ya-builder2023-01-1741-41/+41
| | | Update tools: yexport
* parse line on deploy by optionivanmorozov2022-12-237-0/+215
|
* add one more method overloadconterouz2022-12-161-0/+6
|
* Добавил в библиотеку метод для создания ↵conterouz2022-12-163-16/+100
| | | | Base64 строки url-friendly
* Sync linux-headers instead of using system onesthegeorg2022-12-1536-88/+561
|
* Support non-http scheme in Url::GetSchemeHostPort and Url::GetSchemeHostalexromanov2022-12-153-0/+105
|
* remove kikimr/driver DEPENDSqrort2022-12-029-601/+0
|
* validate canons without yatest_commonqrort2022-11-309-0/+601
|
* [relaxed_escaper] Speed upsobols2022-10-101-15/+19
|
* Update external build system generation utilityrobot-ya-builder2022-09-011-0/+17
| | | | * [cmake] Hierarchical add_subdirectroy structure * [cmake] Support for same file compilation multiple times with different flags
* fix ya.makemonster2022-07-071-0/+22
|
* Move 'kikimr/yndx'-depending tests out of ydb/corekomels2022-04-154-307/+0
| | | | ref:0a380e13308d579e0545a76924330d1ca5129c43