Skip to content

Conversation

@alex268
Copy link
Member

@alex268 alex268 commented Feb 6, 2026

No description provided.

@alex268 alex268 requested a review from pnv1 February 6, 2026 16:19
@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 79.74138% with 47 lines in your changes missing coverage. Please review.
✅ Project coverage is 65.86%. Comparing base (e1721e3) to head (d3cd160).

Files with missing lines Patch % Lines
...db/table/result/impl/ProtoOptionalValueReader.java 62.18% 41 Missing and 4 partials ⚠️
...ch/ydb/table/result/impl/ProtoResultSetReader.java 97.29% 1 Missing ⚠️
...ain/java/tech/ydb/table/values/PrimitiveValue.java 97.05% 1 Missing ⚠️
Additional details and impacted files
@@                 Coverage Diff                  @@
##             release_v2.4.0     #584      +/-   ##
====================================================
+ Coverage             65.16%   65.86%   +0.70%     
- Complexity             2734     2841     +107     
====================================================
  Files                   344      344              
  Lines                 14323    14403      +80     
  Branches               1481     1488       +7     
====================================================
+ Hits                   9334     9487     +153     
+ Misses                 4322     4252      -70     
+ Partials                667      664       -3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request implements fixes and improvements to the ResultSetReader and related value reading functionality in the YDB Java SDK. The changes aim to improve error handling, simplify optional value reading logic, enhance toString output for bytes/yson values, and improve test coverage.

Changes:

  • Refactored optional value reader handling by consolidating logic into ProtoOptionalValueReader and removing the nested Optional class from ProtoPrimitiveValueReader
  • Improved PrimitiveValue.Bytes toString output to use hex format with length information instead of octal escape sequences
  • Enhanced ResultSetReader state management and error messages for better clarity

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 25 comments.

Show a summary per file
File Description
table/src/test/java/tech/ydb/table/values/PrimitiveValueTest.java Added comprehensive tests for bytes and yson equality, toString, and getter behavior
table/src/test/java/tech/ydb/table/result/impl/ProtoValueReaderTest.java New comprehensive test file covering type checking and null handling for all value types
table/src/test/java/tech/ydb/table/result/impl/OptionalReaderTest.java Updated tests to reflect new error messages and null value handling
table/src/test/java/tech/ydb/table/result/ResultSetReaderTest.java Added tests for column access, iteration, and boundary conditions
table/src/test/java/tech/ydb/table/integration/ValuesReadTest.java Added integration tests for null handling and timezone date types
table/src/main/java/tech/ydb/table/values/proto/ProtoType.java Removed unused toString method
table/src/main/java/tech/ydb/table/values/PrimitiveValue.java Refactored Bytes class to use ByteString internally and hex toString format
table/src/main/java/tech/ydb/table/result/impl/ProtoValueReaders.java Simplified optional reader creation logic, deprecated forResultSets method
table/src/main/java/tech/ydb/table/result/impl/ProtoResultSetReader.java Improved state management with explicit before-first and after-last handling
table/src/main/java/tech/ydb/table/result/impl/ProtoPrimitiveValueReader.java Improved error messages with type names, removed nested Optional class
table/src/main/java/tech/ydb/table/result/impl/ProtoOptionalValueReader.java Added delegating methods with null checks for all value types
table/src/main/java/tech/ydb/table/result/impl/AbstractValueReader.java Added missing @OverRide annotations and improved error messages
table/src/main/java/tech/ydb/table/result/ResultSetReader.java Enhanced JavaDoc documentation for all methods
query/src/test/java/tech/ydb/query/tools/QueryReaderTest.java Updated tests for new setRowIndex behavior
query/src/main/java/tech/ydb/query/tools/QueryReader.java Fixed setRowIndex to properly handle negative indices and boundary conditions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@alex268 alex268 merged commit d3cd160 into ydb-platform:release_v2.4.0 Feb 9, 2026
19 of 23 checks passed
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