Peter Rozsa has posted comments on this change. ( http://gerrit.cloudera.org:8080/22407 )
Change subject: IMPALA-12588: Don't UPDATE rows that already have the desired value ...................................................................... Patch Set 2: (1 comment) http://gerrit.cloudera.org:8080/#/c/22407/2/fe/src/main/java/org/apache/impala/analysis/UpdateStmt.java File fe/src/main/java/org/apache/impala/analysis/UpdateStmt.java: http://gerrit.cloudera.org:8080/#/c/22407/2/fe/src/main/java/org/apache/impala/analysis/UpdateStmt.java@164 PS2, Line 164: Predicate next = negateAssignment(assignments_.get(i)); It should be checked whether the second part of the assignment is a function call or not. If a UDF returns a random value on each invocation, the negated predicate could yield incorrect results. Example source statement: SELECT CAST(2 AS INT), `default`.ice_nondet.b, `default`.ice_nondet.b, `default`.ice_nondet.INPUT__FILE__NAME, `default`.ice_nondet.FILE__POSITION, `default`.ice_nondet.PARTITION__SPEC__ID, `default`.ice_nondet.ICEBERG__PARTITION__SERIALIZED FROM `default`.ice_nondet WHERE a IS DISTINCT FROM CAST(1 AS INT) -- To view, visit http://gerrit.cloudera.org:8080/22407 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I926c80e8110de5a4615a3624a81a330f54317c8b Gerrit-Change-Number: 22407 Gerrit-PatchSet: 2 Gerrit-Owner: Noemi Pap-Takacs <[email protected]> Gerrit-Reviewer: Daniel Becker <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Noemi Pap-Takacs <[email protected]> Gerrit-Reviewer: Peter Rozsa <[email protected]> Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]> Gerrit-Comment-Date: Thu, 13 Feb 2025 15:38:46 +0000 Gerrit-HasComments: Yes
