Jackie-Jiang opened a new pull request, #18436:
URL: https://github.com/apache/pinot/pull/18436

   ## Summary
   
   Remove the shared `BaseRecordExtractor.convert` dispatcher and its helpers 
(`convertSingleValue`, `convertMultiValue`, `convertCollection`, 
`convertArray`, `convertPrimitiveArray`, `convertMap`, `convertRecord`, 
`isMultiValue`, `isMap`, `isRecord`). Each format extractor now owns its 
conversion logic.
   
   `BaseRecordExtractor` keeps only:
   - `init` / `_fields` / `_extractAll` / `initConfig` — include-list resolution
   - `stringifyMapKey` — shared map-key contract serialization
   
   ### What changed per extractor
   
   | Extractor | Before | After |
   |---|---|---|
   | `JSONRecordExtractor` | called `super.convert(...)` | inline `convert` / 
`convertList` / `convertMap` (BigInteger → BigDecimal; `List` → `Object[]`; 
`Map` → `Map<String, Object>`; scalar pass-through) |
   | `CLPLogRecordExtractor` | called `super.convert(...)` | same shape as JSON 
|
   | `ThriftRecordExtractor` | called `super.convert(...)`; overrode `isRecord` 
/ `convertRecord` | inline `convert` / `convertSingleValue` / 
`convertCollection` / `convertMap` / `convertRecord` |
   | Avro / Parquet (avro + native) / Arrow / ORC / ProtoBuf / CSV | already 
self-contained | unchanged |
   
   ### Other adjustments
   
   - Format-specific `convert` methods drop the inherited `@Nullable` where the 
new impl never returns null (JSON / CLPLog / Thrift). 
`CSVRecordExtractor.convert` gains `@Nullable` to match its existing 
null-on-empty behavior.
   - `BaseRecordExtractorTest` slimmed to cover the surviving surface (`init`, 
`stringifyMapKey`); the dispatcher tests are exercised through the per-format 
extractor tests.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


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