Gabor Kaszab has posted comments on this change. ( http://gerrit.cloudera.org:8080/20711 )
Change subject: IMPALA-12557: DELETE throws DateTimeParseException when deleting from time-partitioned table ...................................................................... Patch Set 2: (6 comments) Thanks for the fix, Zoli! Left some minor comments but in general this looks good. http://gerrit.cloudera.org:8080/#/c/20711/2/be/src/exec/iceberg-delete-sink.cc File be/src/exec/iceberg-delete-sink.cc: http://gerrit.cloudera.org:8080/#/c/20711/2/be/src/exec/iceberg-delete-sink.cc@321 PS2, Line 321: if (!transform_status.ok()) return transform_status; If HumanReadablePartitionValue returned Status then we could use RETURN_IF_ERROR here. I think that is the preference in Impala c++ code. http://gerrit.cloudera.org:8080/#/c/20711/2/be/src/util/iceberg-utility-functions-test.cc File be/src/util/iceberg-utility-functions-test.cc: http://gerrit.cloudera.org:8080/#/c/20711/2/be/src/util/iceberg-utility-functions-test.cc@28 PS2, Line 28: EXPECT_EQ("1969", HumanReadableYear(-1)); All of these new functions get an int64 as param. Would it make sense to test some extreme values like int64 min/max values? http://gerrit.cloudera.org:8080/#/c/20711/2/be/src/util/iceberg-utility-functions.h File be/src/util/iceberg-utility-functions.h: http://gerrit.cloudera.org:8080/#/c/20711/2/be/src/util/iceberg-utility-functions.h@37 PS2, Line 37: /// Based on Iceberg's TransformUtil.humanMonth() nit: could you extend these comments with examples of these human readable values? http://gerrit.cloudera.org:8080/#/c/20711/2/be/src/util/iceberg-utility-functions.h@52 PS2, Line 52: std::string HumanReadableTime( Don't we usually return Status as a return value and the actual return value as a pointer parameter? http://gerrit.cloudera.org:8080/#/c/20711/2/be/src/util/iceberg-utility-functions.cc File be/src/util/iceberg-utility-functions.cc: http://gerrit.cloudera.org:8080/#/c/20711/2/be/src/util/iceberg-utility-functions.cc@33 PS2, Line 33: int64_t An int32 would be enough here I think (also for the addition in L55 should be fine if I'm not mistaken) http://gerrit.cloudera.org:8080/#/c/20711/2/be/src/util/iceberg-utility-functions.cc@76 PS2, Line 76: *status = Status(Substitute("Failed to parse time partition value '$0' as int.", I think the status should be the return value of this function, but if we decide to keep it as a param, we should for nullness before using it. -- To view, visit http://gerrit.cloudera.org:8080/20711 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1cfeaed6409289663eb0f65b1ee2ecebd93e6118 Gerrit-Change-Number: 20711 Gerrit-PatchSet: 2 Gerrit-Owner: Zoltan Borok-Nagy <[email protected]> Gerrit-Reviewer: Csaba Ringhofer <[email protected]> Gerrit-Reviewer: Gabor Kaszab <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]> Gerrit-Comment-Date: Wed, 22 Nov 2023 10:05:19 +0000 Gerrit-HasComments: Yes
