Till Westmann has submitted this change and it was merged. Change subject: fix NPE in ValidateUtil ......................................................................
fix NPE in ValidateUtil Change-Id: I8f623441a3f5b72a9a0621d32d9d1a6aa5567d66 Reviewed-on: https://asterix-gerrit.ics.uci.edu/1139 Reviewed-by: Yingyi Bu <[email protected]> Sonar-Qube: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Integration-Tests: Jenkins <[email protected]> --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java M asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml 4 files changed, 15 insertions(+), 11 deletions(-) Approvals: Yingyi Bu: Looks good to me, approved Jenkins: Verified; No violations found; Verified diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java index 13153c2..065b1b0 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/ValidateUtil.java @@ -107,6 +107,10 @@ keySourceIndicators); for (int fidx = 0; fidx < partitioningExprTypes.size(); ++fidx) { IAType fieldType = partitioningExprTypes.get(fidx); + if (fieldType == null) { + throw new AsterixException( + "Type not found for partitioning key " + partitioningExprs.get(fidx)); + } switch (fieldType.getTypeTag()) { case INT8: case INT16: @@ -125,10 +129,10 @@ break; case UNION: throw new AsterixException( - "The partitioning key \"" + partitioningExprs.get(fidx) + "\" cannot be nullable"); + "The partitioning key " + partitioningExprs.get(fidx) + " cannot be nullable"); default: - throw new AsterixException("The partitioning key \"" + partitioningExprs.get(fidx) - + "\" cannot be of type " + fieldType.getTypeTag() + "."); + throw new AsterixException("The partitioning key " + partitioningExprs.get(fidx) + + " cannot be of type " + fieldType.getTypeTag() + "."); } } } diff --git a/asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml b/asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml index 8f35293..251e2e4 100644 --- a/asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml +++ b/asterixdb/asterix-app/src/test/resources/metadata/testsuite.xml @@ -412,13 +412,13 @@ <test-case FilePath="exception"> <compilation-unit name="issue_255_create_dataset_error_1"> <output-dir compare="Text">none</output-dir> - <expected-error>java.lang.NullPointerException</expected-error> + <expected-error>Type not found for partitioning key [name]</expected-error> </compilation-unit> </test-case> <test-case FilePath="exception"> <compilation-unit name="issue_255_create_dataset_error_2"> <output-dir compare="Text">none</output-dir> - <expected-error>Error: The partitioning key "[open-type]" cannot be of type RECORD.</expected-error> + <expected-error>Error: The partitioning key [open-type] cannot be of type RECORD.</expected-error> </compilation-unit> </test-case> <!-- Feed datasets are not supported anymore @@ -432,13 +432,13 @@ <test-case FilePath="exception"> <compilation-unit name="issue_266_create_dataset_error_1"> <output-dir compare="Text">none</output-dir> - <expected-error>java.lang.NullPointerException</expected-error> + <expected-error>Type not found for partitioning key [point]</expected-error> </compilation-unit> </test-case> <test-case FilePath="exception"> <compilation-unit name="issue_266_create_dataset_error_2"> <output-dir compare="Text">none</output-dir> - <expected-error>Error: The partitioning key "[id]" cannot be nullable</expected-error> + <expected-error>Error: The partitioning key [id] cannot be nullable</expected-error> </compilation-unit> </test-case> <test-case FilePath="exception"> diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml index 9e4a3c4..6c65a62 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml @@ -3179,7 +3179,7 @@ <test-case FilePath="misc"> <compilation-unit name="partition-by-nonexistent-field"> <!-- Seriously?? 3 expected errors --> <output-dir compare="Text">partition-by-nonexistent-field</output-dir> - <expected-error>java.lang.NullPointerException</expected-error> + <expected-error>Type not found for partitioning key [id]</expected-error> <expected-error>org.apache.hyracks.algebricks.common.exceptions.AlgebricksException: Cannot find dataset</expected-error> <expected-error>org.apache.hyracks.algebricks.common.exceptions.AlgebricksException: Could not find dataset</expected-error> </compilation-unit> diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml index a074df9..a89808e 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml @@ -3034,9 +3034,9 @@ <test-case FilePath="misc"> <compilation-unit name="partition-by-nonexistent-field"> <output-dir compare="Text">partition-by-nonexistent-field</output-dir> - <expected-error>java.lang.NullPointerException</expected-error> - <expected-error>Cannot find dataset</expected-error> - <expected-error>Cannot find dataset testds in dataverse test nor an alias with name testds</expected-error> + <expected-error>Type not found for partitioning key [id]</expected-error> + <expected-error>Cannot find dataset testds in dataverse test</expected-error> + <expected-error>Cannot find dataset testds in dataverse test nor an alias with name testds!</expected-error> </compilation-unit> </test-case> <test-case FilePath="misc"> -- To view, visit https://asterix-gerrit.ics.uci.edu/1139 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: I8f623441a3f5b72a9a0621d32d9d1a6aa5567d66 Gerrit-PatchSet: 6 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Till Westmann <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Till Westmann <[email protected]> Gerrit-Reviewer: Yingyi Bu <[email protected]>
