aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'rightlib' into mergelibs-241210-1802Alexander Smirnov2024-12-102-14/+24
|\
| * 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
* | Merge branch 'rightlib' into mergelibs-241210-0813Alexander Smirnov2024-12-1012-17/+95
|\|
| * Enable -Wimplicit-fallthrough (and also fix the discovered issues)babenko2024-12-081-0/+1
| | | | | | | | commit_hash:06fd6ffa9ec768168c34547fcdfb15e2f9ad75f8
| * New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2024-12-081-1/+1
| | | | | | | | commit_hash:39518295f157c161f6c0a25a1df24b32a6cff296
| * Intermediate changesrobot-piglet2024-12-073-0/+78
| | | | | | | | commit_hash:7b57398460fb850349f35c543b8cef63f6490b6b
| * Fix various issuespogorelov2024-12-066-9/+8
| | | | | | | | commit_hash:50f729d3716d8b1f5b852cfc008e228172fb79c4
| * Intermediate changesrobot-piglet2024-12-061-7/+7
| | | | | | | | commit_hash:87c6f9898873ec96e4aa9dc4c7df86e67a11e313
* | Merge branch 'rightlib' into mergelibs-241205-0959Alexander Smirnov2024-12-051-1/+1
|\|
| * New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2024-12-051-1/+1
| | | | | | | | commit_hash:7dbe58a7a8a7980241f20a2e53ace94a62c541df
* | Merge branch 'rightlib' into mergelibs-241204-1715Alexander Smirnov2024-12-046-1/+1467
|\|
| * YT-23698: Check size of ref counted objectslukyan2024-12-041-0/+4
| | | | | | | | commit_hash:97159680fa733af4212c094e917bc78a47eb0c15
| * Intermediate changesrobot-piglet2024-12-044-0/+1462
| | | | | | | | commit_hash:cbf5ab65e5ba1b2d286f974a6b6b463ed152b381
| * YTORM: Validate pivot keys in slicer; add a comment about proxy_role optiondgolear2024-12-031-1/+1
| | | | | | | | commit_hash:2404d2a79d4961dedf17f7d0cbec38bcabb78014
* | Merge branch 'rightlib' into mergelibs-241203-0816Alexander Smirnov2024-12-036-7/+139
|\|
| * Intermediate changesrobot-piglet2024-12-031-1/+1
| | | | | | | | commit_hash:6f0d83406a245425d156e961c3519d5bd822857a
| * Add missing configs + add mold and coverage to piglet YDB configmaxim-yurchuk2024-12-025-6/+138
| | | | | | | | commit_hash:c0112c0409a0972eb859b32a014980020df7ce0a
* | Merge branch 'rightlib' into mergelibs-241202-1453Alexander Smirnov2024-12-025-86/+131
|\|
| * New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2024-12-021-1/+1
| | | | | | | | commit_hash:fac37a51fb5b0fdd660beccb43a2a8861308e39f
| * Intermediate changesrobot-piglet2024-12-014-85/+130
| | | | | | | | commit_hash:320ab736dea5dae74e2ec8c344fb915be4c4df99
* | Merge branch 'rightlib' into mergelibs-241130-1815Alexander Smirnov2024-11-3013-5166/+92
|\|
| * YT-21233: Introduce ToAttributeValue cpo which removes dependency of ↵arkady-e1ppa2024-11-297-32/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TErrorAttribute from yt/core Plan: 1) Remove `IAttributedDictionary` type from the public API. \+ 2) Remove `Set` method from public API in favor of `operator<<=`. \+ 3) Adopt `ConvertTo<T>` (or other name) CPO with proper extension into `NYT::NYson::ConvertTo` from `yt/core`. 4) Use CPO from (3) to eliminate direct dependency on `yt/core` of `Get/Find` methods from attributes API. 5) Adopt `ConvertToYsonString` (or other name) CPO with proper extension into `yt/core` customisations. 6) Use CPO from (5) to eliminate direct dependency on `yt/core` of `TErrorAttribute` ctor. 7) Swap attributes implementation to the one which doesn’t use `IAttributeDictionary`. 8) At this point `stripped_error*` can be moved to library/cpp/yt and so can recursively dependant on THROW macro methods `Get/Find/…`. 9) Adjust CPO’s to work with `std::string` instead of `TYsonString` assuming text format to be used (maybe `TString` for now). 10) Remove dep of `library/cpp/yt/error` on `yson` entirely. This pr addresses 5-6 steps of plan. Below is a brief explanation of design decisions. We also expressed everything related to key-value code in terms of aliases of `TErrorAttribute` so that later we could make a relatively simple switch to `std::string`. We expect to do steps 7-8 in the next pull request as everything should be ready commit_hash:de9feca2bd24d823b33d904ef0fa5f4856f9b020
| * Intermediate changesrobot-piglet2024-11-296-5134/+0
| | | | | | | | commit_hash:60e005cdf76d5bff2a370a6b8f35ef4f6792f414
* | Merge branch 'rightlib' into mergelibs-241129-1330Alexander Smirnov2024-11-291-1/+1
|\|
| * New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2024-11-291-1/+1
| | | | | | | | commit_hash:81fb555c66d5ab8c5c260658be43bb7b61ab2622
* | Merge branch 'rightlib' into mergelibs-241126-1510Alexander Smirnov2024-11-261-1/+1
|\|
| * New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2024-11-261-1/+1
| | | | | | | | commit_hash:d73b9a2f472fbcf5f3ebc54787a964c15fba2504
* | Merge branch 'rightlib' into mergelibs-241123-2111Alexander Smirnov2024-11-2313-411/+12
|\|
| * YDB Import 625robot-ydb-importer2024-11-2212-406/+0
| | | | | | | | commit_hash:bbf24592c367fa158fbc53e041fe367374d0750e
| * Signed Enumeratedeep2024-11-221-5/+12
| | | | | | | | commit_hash:af73a3ea146e2eb6141cb19913e534d75ba573fd
* | Merge branch 'rightlib' into mergelibs-241122-0919Alexander Smirnov2024-11-223-9/+27
|\|
| * [arc][getopt]fix enforcment of RequiredArgument().DisableSpaceParse()tldr2024-11-213-9/+27
| | | | | | | | commit_hash:9c2ada5b95be3f810d2750406d74d839bd2598ff
* | Merge branch 'rightlib' into mergelibs-241120-1113Alexander Smirnov2024-11-2024-440/+334
|\|
| * New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2024-11-201-1/+1
| | | | | | | | commit_hash:4591e7a8126c65672359f0cdee64ad789ca9ae74
| * YDB Import 623robot-ydb-importer2024-11-197-318/+0
| | | | | | | | commit_hash:89b2dfdd1bb0d38b205f23744652b1db522e06c4
| * Intermediate changesrobot-piglet2024-11-191-1/+1
| | | | | | | | commit_hash:1bcd4492a3f6a28a2be8e27b5660e98cc8e4c8d0
| * use C++ atomic with proper default constructoreivanov892024-11-191-10/+14
| | | | | | | | commit_hash:1c25da3ce2125ca4d8d1e3e026ef0d2a6d0aa355
| * Enable -Wformat under clang-clthegeorg2024-11-181-1/+1
| | | | | | | | commit_hash:b2cf3b80a36e4867b03a79f3e2c552f19920016f
| * YT-23435: Parse format string at compile timearkady-e1ppa2024-11-186-54/+251
| | | | | | | | commit_hash:804530d1ee861ff42d7d8cad25d9f569b4feaacf
| * Intermediate changesrobot-piglet2024-11-181-1/+1
| | | | | | | | commit_hash:a5695d6abae3e01238ce9328956579759caca454
| * New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2024-11-171-1/+1
| | | | | | | | commit_hash:b6c853aa9dfce004915ca07c10eead963195eb97
| * YT-22885: Handle unknown values in (Try)CheckedEnumCastbabenko2024-11-163-3/+61
| | | | | | | | commit_hash:5ce8019253cdb971d1af36350e3efa3a4ec8545c
| * YDB Import 622robot-ydb-importer2024-11-162-51/+0
| | | | | | | | commit_hash:a2bd81b4ecf17197f540e5096040491a78428687
| * Allow per-module switch to atd_ro_snapshot from arcadia rootthegeorg2024-11-141-0/+4
| | | | | | | | commit_hash:d8d2d7bd705c50833ff6e4b03fda17f1c97ca3b7
* | Merge branch 'rightlib' into mergelibs-yurchuk-manualMaxim Yurchuk2024-11-143-5/+5
|\|
| * Fix babenko issues of rXXXXXXarkady-e1ppa2024-11-142-4/+4
| | | | | | | | | | [nodiff:caesar] commit_hash:93eef00a7132e68e727aa1f4028616db6522d03c
| * New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2024-11-141-1/+1
| | | | | | | | commit_hash:7313c6e8079a9821476cae610f095855b5c60c93
* | Merge branch 'rightlib' into mergelibs-yurchuk-manualMaxim Yurchuk2024-11-1317-25/+474
|\|
| * Intermediate changesrobot-piglet2024-11-131-0/+1
| | | | | | | | commit_hash:e7480dc4037b4e009ef6dcc824697e6e89c5bfe1
| * YT-23346: Introduce YT_ASSUME and YT_UNREACHABLE macros.thenewone2024-11-121-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | Y_ASSUME and Y_UNREACHABLE macros are platform-independent ways to give a hint for a compiler about some value or state. Compilier may use that hint for optimization. On the other hand if the hint is wrong it may lead to undefined behavior. YT_ASSUME and YT_UNREACHABLE are wrappers around Y_ASSUME and Y_UNREACHABLE that actually check that the hint is correct in debug build. That introduces some code safety and at the same time allows certain optimization in optimized build. commit_hash:2d0969361910a10a870bae226d838d494e656edb