This is an automated email from the ASF dual-hosted git repository.
siddteotia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 312808c651 Change comment to be more precise (#11735)
312808c651 is described below
commit 312808c651862af6ced30950868147b72fcc6f35
Author: Gonzalo Ortiz Jaureguizar <[email protected]>
AuthorDate: Wed Oct 4 17:56:10 2023 +0200
Change comment to be more precise (#11735)
---
.../plugin/inputformat/protobuf/ProtoBufRecordExtractor.java | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git
a/pinot-plugins/pinot-input-format/pinot-protobuf/src/main/java/org/apache/pinot/plugin/inputformat/protobuf/ProtoBufRecordExtractor.java
b/pinot-plugins/pinot-input-format/pinot-protobuf/src/main/java/org/apache/pinot/plugin/inputformat/protobuf/ProtoBufRecordExtractor.java
index 83c6c7fc5a..aa1976f504 100644
---
a/pinot-plugins/pinot-input-format/pinot-protobuf/src/main/java/org/apache/pinot/plugin/inputformat/protobuf/ProtoBufRecordExtractor.java
+++
b/pinot-plugins/pinot-input-format/pinot-protobuf/src/main/java/org/apache/pinot/plugin/inputformat/protobuf/ProtoBufRecordExtractor.java
@@ -55,14 +55,12 @@ public class ProtoBufRecordExtractor extends
BaseRecordExtractor<Message> {
/**
* For fields that are not set, we want to populate a null, instead of proto
default.
- * @param fieldDescriptor
- * @param message
*/
private Object getFieldValue(Descriptors.FieldDescriptor fieldDescriptor,
Message message) {
- // Note w.r.t proto3 - If a field is not declared with optional keyword,
there's no way to distinguish
- // if its explicitly set to a proto default or not been set at all i.e
hasField() returns false
- // and we would use null.
- if (fieldDescriptor.isRepeated() || !fieldDescriptor.hasPresence() ||
message.hasField(fieldDescriptor)) {
+ // In order to support null, the field needs to support _field presence_
+ // See
https://github.com/protocolbuffers/protobuf/blob/main/docs/field_presence.md
+ // or FieldDescriptor#hasPresence()
+ if (!fieldDescriptor.hasPresence() || message.hasField(fieldDescriptor)) {
return message.getField(fieldDescriptor);
} else {
return null;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]