| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| | |
commit_hash:19b37bd3d7e3b4d80e4844676c881bbef1fec76b
|
| |
| |
| |
| | |
commit_hash:c97917e5fe0a2f094b8f7a50cf183357e8d07096
|
|\| |
|
| |
| |
| |
| | |
commit_hash:572c24e53109592f361b35e728523fe44b5b858e
|
| |
| |
| |
| | |
commit_hash:509ce4be1e807a8956ba6b097801566b93400463
|
| |
| |
| |
| | |
commit_hash:7fce5e6adcc97528aec0d9b3071c4aece6648a2c
|
| |
| |
| |
| | |
commit_hash:a6348b372e2440db12be7fa99ff5a89ec0907d5f
|
|\| |
|
| |
| |
| |
| | |
commit_hash:ac0b5dcbcf99d08823bfca0f550ce4a4d1a8ba01
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
std::string everywhere
done
commit_hash:8a83afa39917ba66a5161388a7cd74a4488d9908
|
| |
| |
| |
| | |
commit_hash:9c38bbe53e87d788bf4d4e1155e2c080773bacc0
|
|\| |
|
| |
| |
| |
| | |
commit_hash:c87fb9e7c5cb8a896dd4b758ad73c5c540339df7
|
| |
| |
| |
| | |
commit_hash:19481c9fbb008aab4f4d676f1a3a242f6e90e90e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
becoming CPO, move TErrorCode and TError to library/cpp/yt/error
\[nodiff:caesar\]
List of changes:
1) Make `ConvertTo` a normal function again (basically, a revert of previous change). It turned out to be very inconvenient entry point
2) Introduce concept for "Primitive types" which are handled without yt/core module. Please note that inclusion of core **does not** affect work with primitive types (otherwise we would be facing and ODR violation). These are numerics, duration, instant, string-like objects and guid
3) Introduce `FromErrorAttributeValue` which is a substitute to `ConvertTo` with special behavior (see below)
4) Scheme for (de-)serialization has changed:
1) Primitive types are handled via `ConvertToTextYsonString` and `ConvertFromTextYsonString`
2) Other types are not supported without yt/core. Otherwise `ConvertToYsonString(value, EYsonFormat::Text)` used for serialization and `ConvertTo<T>(value)` for deserialization.
5) New format of attribute value storage allows to not care about concrete type of the attribute (text yson strings can be detected since they start with `\"` and deserialized so are text yson bools, everything else is already human readable). This drops dependency on `TTokenizer`
6) Some small parts (e.g. enums or constants or aliases) of yt/core/misc files were moved to library/cpp/yt/\* locations and re-included to drop dependencies of stripped\_error on them
7) `TErrorAttributes` is now a simple hash map instead of a handle to `IAttributeDictionary`
8) `ExtractFromAttributes` weak symbol is finally moved to library/cpp/yt/error due to point 9 allowing to fully drop dependency on `IAttributeDictionary`. Combined with point 7 this drops dep on yt/core/ytree altogether
9) Moved `TErrorCode` to library/cpp/yt/error. There is a logger there which forces dep on library/cpp/yt/logging. It is not required really, and can be later removed
10) Moved `TError` with format and macroes to library/cpp/yt/error. It still (and probably forever will) depend on yson.
What can be done next: Switch TYsonString to TString and move ConvertTo/FromTextYsonString to library/cpp/yt/error. This would remove dep on library/cpp/yt/yson\_string
commit_hash:6f11dc478ab782a1f98a5aedcd45a4800d3f4e7b
|
|\| |
|
| |
| |
| |
| | |
commit_hash:a31e79330e3ec72361743d932a47fc67f92fb7a0
|
|\| |
|
| |
| |
| |
| | |
commit_hash:41c16027e2f796197b98307419a63da9fa3f1a88
|
| |
| |
| |
| | |
commit_hash:f0e4b9bf3cc217402238bf1efcc4b8695f6a3709
|
| |
| |
| |
| | |
commit_hash:b3038041fc2814c9002bbb5e5d9e96520a3fb60a
|
| |
| |
| |
| | |
commit_hash:534ea2df7961feea6932d1e243df20d825c7fe69
|
| |
| |
| |
| |
| |
| | |
library/cpp/yt/yson_string to be later used for error attribute serialization
commit_hash:f7632c9622c71e023148c9454a9889e9cac75ecd
|
|\| |
|
| |
| |
| |
| | |
commit_hash:690d178c5c95ad7106aee6c26a031e6eeec1f093
|
| |
| |
| |
| | |
commit_hash:57515baf5d33fd78c2555cb2b3351498b9189c72
|
| |
| |
| |
| |
| |
| |
| | |
Если в редиректе приходит url со схемой **http (без s !!!)**, то порт выставляется ++443++
Этот PR фиксит это поведение
commit_hash:ef496e4f1cb08f3ba3b9b0f89a34f077cce38e00
|
|\| |
|
| |
| |
| |
| | |
commit_hash:79b0a0b437e41879c3a7d4c079ab571bbaafd45f
|
| |
| |
| |
| | |
commit_hash:b1f7ffc9e8130d80fb923e4c0f5dc58bc68ce1be
|
|\| |
|
| |
| |
| |
| | |
commit_hash:b1009a56f6e70d65c67b72f3079ed71e43b48a7c
|
| |
| |
| |
| | |
commit_hash:7d3055f901a21e63f7860f443252a86e9895fd08
|
| |
| |
| |
| | |
commit_hash:db2785d0d17510b53aeaec1e30271e6b08e07db1
|
|\| |
|
| |
| |
| |
| | |
commit_hash:a9a7c2df09742a540851227c4fcb7d925edd9793
|
| |
| |
| |
| | |
commit_hash:d483051ff24331bcda69d8afa1413158c9e01925
|
| |
| |
| |
| | |
commit_hash:70fc3cba6ca373b988a4d0c0de6d8e2b2028b495
|
| |
| |
| |
| | |
commit_hash:ed49b07b792d94c6e0da54331828dae3a5cd1e2b
|
| |
| |
| |
| |
| |
| |
| | |
Add test to verify the threads limit
Try to fix; Limit number of gRPC threads.
commit_hash:d525e94e0ef397bf05d367ec9904d674c17d0d76
|
| |
| |
| |
| | |
commit_hash:d483051ff24331bcda69d8afa1413158c9e01925
|
| |
| |
| |
| | |
commit_hash:70fc3cba6ca373b988a4d0c0de6d8e2b2028b495
|
| |
| |
| |
| | |
commit_hash:ed49b07b792d94c6e0da54331828dae3a5cd1e2b
|
| |
| |
| |
| |
| |
| |
| | |
Add test to verify the threads limit
Try to fix; Limit number of gRPC threads.
commit_hash:d525e94e0ef397bf05d367ec9904d674c17d0d76
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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:06fd6ffa9ec768168c34547fcdfb15e2f9ad75f8
|
| |
| |
| |
| | |
commit_hash:39518295f157c161f6c0a25a1df24b32a6cff296
|