-
Notifications
You must be signed in to change notification settings - Fork 298
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
ProtobufList documentation #3128
Comments
Hi @randomizedcoder, thanks for opening this issue! Examples in formats is something we recognise as needing improvement (in some cases there aren't even examples) that we will be tackling in the near future, so I will add this to the list of formats we need to look at. |
@Blargian Thanks for the reply. Do you have any reason to believe ProtobufList works? |
@antaljanosbenjamin maybe you could help us out here? |
I think @rschu1ze is the best to answer this, however I will try to answer it. I think the fields in the I think it depends on the message is embedded in the message Now let's answer the questions:
No. The example should work, you can even delete the declared field as long as you keep the embedded message. However because of the extra field, it is super confusing, so it definitely needs improvements, thus thanks for bringing this up!
Yes, that works as our serializer doesn't care about the fields.
The message is only duplicated to make our test scripts simpler.
Based on the tests I have high confidence in |
Company or project name
No response
Describe the issue
G'day,
I'm not sure this is a issue, but maybe the documentation for protobuflist seems to be missing "repeated"?
https://clickhouse.com/docs/en/interfaces/formats#protobuflist
protobuflist
The original PR ClickHouse/ClickHouse#35152 has "repeated".
protobufListPR
The original issue that started this also has "repeated". issue16436
It would also be amazing if the protobuflist docs linked to a working example.
Maybe this is an example, but it doesn't have "row"?
https://github.com/ClickHouse/ClickHouse/blob/677b1cbfe76d0326df4b739bb0ad359af125ed87/tests/queries/0_stateless/format_schemas/02240_protobuflist_format_persons_syntax2.proto#L1
This is another example, and it does have "repeated". This example is also confusing, because it's unclear if the message type "Person" needs to be repetitively defined. To compile this protobuf, you do NOT need to define "Person" twice, but maybe you do for Clickhouse?
https://github.com/ClickHouse/ClickHouse/blob/677b1cbfe76d0326df4b739bb0ad359af125ed87/tests/queries/0_stateless/format_schemas/02240_protobuflist1_format_persons.proto#L68
:) oh great. The integration test doesn't cover ProtobufList. Maybe this is why I'm struggling. Maybe it doesn't work anymore?
https://github.com/ClickHouse/ClickHouse/blob/677b1cbfe76d0326df4b739bb0ad359af125ed87/tests/integration/test_storage_kafka/test_produce_http_interface.py#L137
https://github.com/ClickHouse/ClickHouse/blob/677b1cbfe76d0326df4b739bb0ad359af125ed87/tests/integration/test_storage_kafka/test_produce_http_interface.py#L172
...
While I'm here the Protobuf docs reference to some random GEODE project, but then doesn't really answer the question about how to add the length delimiting
It might improve the docs to link directly to the golang protodelim MarshalTo
protodelim.MarshalTo
https://pkg.go.dev/google.golang.org/protobuf@v1.36.3/encoding/protodelim#MarshalTo
Thanks
Additional context
No response
The text was updated successfully, but these errors were encountered: