atharvalade opened a new pull request, #3198:
URL: https://github.com/apache/iggy/pull/3198

   ## Which issue does this PR close?
   
   Closes #3173
   
   ## Rationale
   
   Row-processing logic lived inline in `poll_tables`, making it impossible to 
reuse across future parallel/chunked polling paths without duplication.
   
   ## What changed?
   
   The column-iteration, value-extraction, JSON-payload construction, and 
`ProducedMessage` assembly were tightly coupled inside `poll_tables`'s inner 
loop (~80 lines). Any new polling variant (parallel, chunked) would need to 
copy-paste this block.
   
   Extracted a `process_row` method that accepts a `RowProcessingConfig` 
(table, tracking/pk columns, format flags) and returns a `ProcessedRow` 
(message + offset + pk). The `poll_tables` loop now delegates to this 
single-responsibility method in ~12 lines.
   
   ## Local Execution
   
   - Passed
   - Pre-commit hooks ran
   
   ## AI Usage
   
   1. Opus 4.6
   2. used for exploration and implementation guidance
   3. Verified via cargo check, clippy -D warnings, fmt --check, all 19 unit 
tests passing, CI lint scripts passing
   4. Yes, all code can be explained


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

Reply via email to