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: issues-unsubscr...@avro.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org