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

Reply via email to