Skip to content

Conversation

@KaviarasuSakthivadivel
Copy link
Contributor

Before: One giant QueryResultIterator class (200+ lines) doing everything - handling messages, processing chunks, monitoring status, and checking completion all mixed together.

After: Split into 4 focused components - QueryExecutor (handles messages), ChunkProcessor (fetches data), StatusMonitor (tracks progress), and CompletionVerifier (checks completion).

Why Better: Each component has a single, clear responsibility making the code easier to understand, test, debug, and maintain.

Real Impact: Instead of digging through 200+ lines to fix a bug, you now know exactly which 30-line component to look at.

Result: Same functionality, but much cleaner architecture that's easier to work with!

Before: One giant QueryResultIterator class (200+ lines) doing everything - handling messages, processing chunks, monitoring status, and checking completion all mixed together.

After: Split into 4 focused components - QueryExecutor (handles messages), ChunkProcessor (fetches data), StatusMonitor (tracks progress), and CompletionVerifier (checks completion).

Why Better: Each component has a single, clear responsibility making the code easier to understand, test, debug, and maintain.

Real Impact: Instead of digging through 200+ lines to fix a bug, you now know exactly which 30-line component to look at.

Result: Same functionality, but much cleaner architecture that's easier to work with!
@codecov
Copy link

codecov bot commented Oct 24, 2025

Codecov Report

❌ Patch coverage is 71.00000% with 29 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.79%. Comparing base (32f7673) to head (fd0738b).

Files with missing lines Patch % Lines
...e/datacloud/jdbc/protocol/QueryResultIterator.java 71.00% 12 Missing and 17 partials ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main     #130      +/-   ##
============================================
- Coverage     83.11%   82.79%   -0.33%     
+ Complexity     1245     1239       -6     
============================================
  Files           103      103              
  Lines          3713     3777      +64     
  Branches        373      386      +13     
============================================
+ Hits           3086     3127      +41     
- Misses          463      474      +11     
- Partials        164      176      +12     
Components Coverage Δ
JDBC Core 84.70% <71.00%> (-0.47%) ⬇️
JDBC Main 40.22% <ø> (ø)
JDBC HTTP 90.98% <ø> (ø)
JDBC Utilities 60.97% <ø> (ø)
Spark Datasource ∅ <ø> (∅)
Files with missing lines Coverage Δ
...e/datacloud/jdbc/protocol/QueryResultIterator.java 72.41% <71.00%> (-10.28%) ⬇️

Impacted file tree graph

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants