costas-db opened a new issue, #3828:
URL: https://github.com/apache/parquet-java/issues/3828

   ### Problem
   
   `DictionaryPageReader` keys column metadata and cached dictionary pages by 
`ColumnPath.toDotString()`. These distinct component paths therefore collide:
   
   ```text
   Top-level field named `a.b`: ["a.b"]
   Nested field `b` in `a`:     ["a", "b"]
   ```
   
   The later column overwrites the earlier entry under the shared `"a.b"` key.
   
   ### Reproduction
   
   A generic test uses two dictionary-encoded string columns with disjoint 
values:
   
   ```text
   ["a.b"]    -> ["one", "two"]
   ["a", "b"] -> ["nested-one", "nested-two"]
   ```
   
   Requesting the top-level dictionary currently returns:
   
   ```text
   expected: ["one", "two"]
   actual:   ["nested-one", "nested-two"]
   ```
   
   ### Proposed direction
   
   Key the metadata and dictionary cache maps by component-based `ColumnPath` 
rather than flattened strings. This is an in-memory identity fix with no 
on-disk format change.


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to