Steve Carlin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/23513 )

Change subject: IMPALA-13695: Calcite planner: fix for ndv with 2 args
......................................................................


Patch Set 2:

(4 comments)

http://gerrit.cloudera.org:8080/#/c/23513/2/java/calcite-planner/src/main/java/org/apache/impala/calcite/operators/ImpalaNdvFunction.java
File 
java/calcite-planner/src/main/java/org/apache/impala/calcite/operators/ImpalaNdvFunction.java:

http://gerrit.cloudera.org:8080/#/c/23513/2/java/calcite-planner/src/main/java/org/apache/impala/calcite/operators/ImpalaNdvFunction.java@35
PS2, Line 35:     if (callBinding.getOperandCount() == 1) {
> Here it checks for 1 or more arguments.  What if it is 0 args ? e.g NDV() .
Well, heh, it threw an exception, but not a clean one.

Fixed the code.


http://gerrit.cloudera.org:8080/#/c/23513/2/java/calcite-planner/src/main/java/org/apache/impala/calcite/operators/ImpalaNdvFunction.java@41
PS2, Line 41: ndv
> nit: SQL functions should preferably be upper case in error messages or log
Done


http://gerrit.cloudera.org:8080/#/c/23513/2/java/calcite-planner/src/main/java/org/apache/impala/calcite/operators/ImpalaNdvFunction.java@46
PS2, Line 46: ndv
> nit: same as above.
Done


http://gerrit.cloudera.org:8080/#/c/23513/2/java/calcite-planner/src/main/java/org/apache/impala/calcite/operators/ImpalaNdvFunction.java@39
PS2, Line 39:     BigDecimal bd = callBinding.getOperandLiteralValue(1, 
BigDecimal.class);
            :     if (bd == null) {
            :       throw new IllegalArgumentException("Error in ndv function, 
" +
            :           "second parameter needs to be an integer.");
            :     }
            :
            :     if (bd.intValue() < 1 || bd.intValue() > 10) {
            :       throw new IllegalArgumentException("Error in ndv function, 
" +
            :           "second parameter needs to be between 1 and 10.");
            :     }
> Can you add tests that trigger this error in calcite.test please?
Done



--
To view, visit http://gerrit.cloudera.org:8080/23513
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I82419f77e043e9975865a042ffb8db75a26931f7
Gerrit-Change-Number: 23513
Gerrit-PatchSet: 2
Gerrit-Owner: Steve Carlin <[email protected]>
Gerrit-Reviewer: Aman Sinha <[email protected]>
Gerrit-Reviewer: Fang-Yu Rao <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Joe McDonnell <[email protected]>
Gerrit-Reviewer: Michael Smith <[email protected]>
Gerrit-Reviewer: Riza Suminto <[email protected]>
Gerrit-Reviewer: Steve Carlin <[email protected]>
Gerrit-Comment-Date: Thu, 16 Oct 2025 15:09:15 +0000
Gerrit-HasComments: Yes

Reply via email to