Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Make sure returned TStringBuffers do not change during splitter lifetime. ↵ | pnv1 | 2024-12-10 | 2 | -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 changes | robot-piglet | 2024-07-19 | 1 | -0/+1 |
| | |||||
* | feat contrib: aiogram 3 | armenqa | 2024-01-19 | 6 | -106/+0 |
| | | | | Relates: https://st.yandex-team.ru/, https://st.yandex-team.ru/ | ||||
* | External build system generator release 65 | robot-ya-builder | 2023-12-05 | 1 | -3/+3 |
| | | | | Update tools: yexport, os-yexport | ||||
* | add darwin-arm64 CMakeLists | dcherednik | 2023-11-20 | 2 | -0/+19 |
| | |||||
* | add ymake export to ydb | alexv-smirnov | 2023-06-13 | 1 | -0/+7 |
| | |||||
* | Remove extra semicolon (library) | bulatman | 2023-06-10 | 1 | -2/+2 |
| | |||||
* | External build system generator release 29 | robot-ya-builder | 2023-04-19 | 1 | -1/+1 |
| | | | Update tools: yexport | ||||
* | Revert ymake build from ydb oss export | alexv-smirnov | 2023-03-28 | 1 | -7/+0 |
| | |||||
* | External build system generator release 21 | robot-ya-builder | 2023-03-17 | 1 | -3/+3 |
| | | | Update tools: yexport | ||||
* | add library/cpp/actors, ymake build to ydb oss export | alexv-smirnov | 2023-03-15 | 1 | -0/+7 |
| | |||||
* | Intermediate changes | robot-piglet | 2023-03-09 | 2 | -0/+19 |
| | |||||
* | Intermediate changes | robot-piglet | 2023-03-07 | 3 | -2/+2 |
| | |||||
* | External build system generator release 17 | robot-ya-builder | 2023-03-06 | 1 | -1/+1 |
| | | | Update tools: yexport | ||||
* | Intermediate changes | robot-piglet | 2023-02-07 | 3 | -3/+3 |
| | |||||
* | Intermediate changes | robot-piglet | 2023-02-07 | 3 | -3/+3 |
| | |||||
* | External build system generator release 12 | robot-ya-builder | 2023-01-31 | 1 | -1/+1 |
| | | | Update tools: yexport | ||||
* | External build system generator release 8 | robot-ya-builder | 2023-01-17 | 4 | -4/+4 |
| | | | Update tools: yexport | ||||
* | parse line on deploy by option | ivanmorozov | 2022-12-23 | 6 | -0/+214 |