-
Notifications
You must be signed in to change notification settings - Fork 7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added RowBinaryWithNamesAndTypes format #4200
Added RowBinaryWithNamesAndTypes format #4200
Conversation
* Extended BinaryRowOutputStream with flags allowing to output names/types of columns * Added one (for now) new output format - RowBinaryWithNamesAndTypes * Updated docs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Missing test. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's also implement input format.
It will be useful for table dumps, that can be loaded back and parsed by separate tools.
This PR fixes #929 |
Added input format support + test for output format. TODO: test for input format |
BTW: if there some chance to wrap AggregateFunction states somehow in RowBinary? For example - add LEB128-encoded length prefix before the value, just to be able to skip that column if it comes in the output. If it will be added just for new format ( RowBinaryWithNamesAndTypes ) then no backward compatibility issues will appear. That will make possible to do the roundtrip of RowBinary, and to build clients which can pass AggregateFunction states back and forward safely. |
Better don't do it to avoid confusion with RowBinary format. Also note that writing LEB128 prefix requires extra copy. We've almost finished development of Protobuf format that allows to read and write AggregateFunctions as |
Input format reminds me the weird issue #3469 that should be fixed first. |
Category: New Feature
Short description: Added new input/output format: RowBinaryWithNamesAndTypes