[
https://issues.apache.org/jira/browse/AVRO-2923?focusedWorklogId=642371&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-642371
]
ASF GitHub Bot logged work on AVRO-2923:
----------------------------------------
Author: ASF GitHub Bot
Created on: 26/Aug/21 14:28
Start Date: 26/Aug/21 14:28
Worklog Time Spent: 10m
Work Description: RyanSkraba merged pull request #949:
URL: https://github.com/apache/avro/pull/949
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 642371)
Time Spent: 20m (was: 10m)
> GenericDatum::logicalType() API should return the logical type corresponing
> to one of the constituent types of the union
> ------------------------------------------------------------------------------------------------------------------------
>
> Key: AVRO-2923
> URL: https://issues.apache.org/jira/browse/AVRO-2923
> Project: Apache Avro
> Issue Type: Bug
> Components: c++
> Affects Versions: 1.10.0
> Reporter: Yang Xu
> Assignee: Yang Xu
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.11.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> According to the avro document, GenericDatum::logicalType() API should behave
> Just like GenericDatum::type() or GenericDatum::value() APIs to return the
> logical type corresponing to one of the constituent types of the union When
> it was a Union type.
> {code:cpp}
> inline Type GenericDatum::type() const {
> return (type_ == AVRO_UNION) ?
> #if __cplusplus >= 201703L
> std::any_cast<GenericUnion>(&value_)->datum().type() :
> #else
> boost::any_cast<GenericUnion>(&value_)->datum().type() :
> #endif
> type_;
> }
> template<typename T> T& GenericDatum::value() {
> return (type_ == AVRO_UNION) ?
> #if __cplusplus >= 201703L
> std::any_cast<GenericUnion>(&value_)->datum().value<T>() :
> *std::any_cast<T>(&value_);
> #else
> boost::any_cast<GenericUnion>(&value_)->datum().value<T>() :
> *boost::any_cast<T>(&value_);
> #endif
> }
> {code}
> while logicalType api was like this:
> {code:cpp}
> inline LogicalType GenericDatum::logicalType() const {
> return logicalType_;
> }
> {code}
> it should also do the GenericUnion check
--
This message was sent by Atlassian Jira
(v8.3.4#803005)