vlsi commented on a change in pull request #2272:
URL: https://github.com/apache/calcite/pull/2272#discussion_r528566370



##########
File path: core/src/main/java/org/apache/calcite/tools/RelBuilder.java
##########
@@ -495,6 +495,10 @@ public RexNode field(int inputCount, String alias, String 
fieldName) {
 
   /** Returns a reference to a given field of a record-valued expression. */
   public RexNode field(RexNode e, String name) {
+    if (!e.getType().isStruct()) {
+      throw new IllegalArgumentException("Requested field " + name + " in 
non-struct expression "
+          + e.toString() + " (type: " + e.getType() + ")");
+    }

Review comment:
       >With this change, the scenario in the Jira would fail with an 
AssertionError (thrown by getFieldList()) instead of NPE.
   
   Please use the tailored null check and the proper exception so the user 
could know which field is wrong. Then user could relate the problematic field 
name to the input SQL.




----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to