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

Reply via email to