wgtmac commented on code in PR #822:
URL: https://github.com/apache/iceberg-cpp/pull/822#discussion_r3563670184
##########
src/iceberg/data/file_scan_task_reader.cc:
##########
@@ -161,9 +165,9 @@ class FileScanTaskReader::Impl {
data_file->file_size_in_bytes);
if (task.delete_files().empty()) {
- auto options =
- MakeReaderOptions(*data_file, io_, projected_schema_,
task.residual_filter(),
- name_mapping_, properties_);
+ auto options = MakeReaderOptions(
Review Comment:
I looked into the Java REST implementation and OpenAPI. This is not
C++-specific: `RESTFileScanTaskParser` serializes the task file through
`ContentFileParser`, and `ContentFileParser` only round-trips `first-row-id`,
not the manifest-entry data sequence number. The OpenAPI
`FileScanTask`/`DataFile` schema also has `first-row-id` but no field for the
data sequence number.
So the failing case is REST-planned scan tasks reading row lineage metadata,
where `_last_updated_sequence_number` needs the manifest entry sequence number
but that value is not part of the REST contract. I think the correct fix should
start in the REST API / Java parser, then C++ can implement the same field. I
don’t think C++ should add a non-standard private field here.
--
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]