Ravil Zakirov created IGNITE-28736:
--------------------------------------

             Summary: Preserve initial order of fields in 
BinaryType#fieldNames()
                 Key: IGNITE-28736
                 URL: https://issues.apache.org/jira/browse/IGNITE-28736
             Project: Ignite
          Issue Type: Improvement
          Components: binary
            Reporter: Ravil Zakirov


h3. Description
 
Currently, the method `BinaryType#fieldNames()` returns a `Collection<String>` 
without any guarantee of field order preservation. In practice, the order of 
fields as defined in the original class or schema is often lost, as the 
underlying implementation may use unordered collections (e.g., `HashSet`).

However, in various use cases — such as data export, schema introspection, 
debugging, or integration with external systems — it is important to retain the 
**original declaration order** of fields. This helps maintain predictability 
and consistency, especially when field order has semantic meaning (e.g., in 
CSV/JSON serialization, UI rendering, or compatibility with other binary 
formats).
h3. Suggested Implementation
 
Ensure that during metadata registration in `BinaryTypeImpl` (or equivalent), 
field names are stored in a `LinkedHashSet` to preserve insertion order, and 
return them in that same order.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to