SahilKang commented on code in PR #843:
URL: https://github.com/apache/avro/pull/843#discussion_r1590626595
##########
lang/c/src/schema.h:
##########
@@ -76,12 +78,30 @@ struct avro_link_schema_t {
avro_schema_t to;
};
+struct avro_bytes_schema_t {
+ struct avro_obj_t obj;
+ avro_logical_schema_t *logical_type;
+};
Review Comment:
I had started looking into ipc and logical support shortly before running
into this PR, and managed to open #2891 as an alternative where I add decimal
support by creating a new `AVRO_DECIMAL` `avro_type_t` branch
in that PR, the decimal support is added to the "value api" instead of the
legacy "datum api", but in an optional way: users can call `get_decimal` on the
new decimal values, or continue calling `get_bytes` or `get_fixed`
fwiw, the approach you've taken here is more similar to existing
implementations from what I've seen: i.e. most implementations have a
`getType()` and then a `getLogicalType()` method that users are expected to
call if they're interested in logical types
in my opinion though (feel free to disagree), the distinction between
logical and non-logical types is only useful for the spec and wire-format: from
a user's pov, they're probably more interested in working with timestamps and
decimals instead thinking about the underlying int and "big-endian encoded
two's-complement" representations
--
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]