>From Peeyush Gupta <[email protected]>: Peeyush Gupta has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17785 )
Change subject: [NO ISSUE][COMP] DML on datasets with meta records error msg cleanup ...................................................................... [NO ISSUE][COMP] DML on datasets with meta records error msg cleanup - user model changes: no - storage format changes: no - interface changes: no Change-Id: Iaad9bd6c8426d541614019f689003342253d74b0 Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17785 Integration-Tests: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Reviewed-by: Peeyush Gupta <[email protected]> Reviewed-by: Murtadha Hubail <[email protected]> --- M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_profiled.xml M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties 5 files changed, 32 insertions(+), 16 deletions(-) Approvals: Murtadha Hubail: Looks good to me, approved Peeyush Gupta: Looks good to me, but someone else must approve Jenkins: Verified; Verified diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java index 9c4fddf..469fef2 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java @@ -18,7 +18,6 @@ */ package org.apache.asterix.translator; -import static org.apache.asterix.common.api.IIdentifierMapper.Modifier.PLURAL; import static org.apache.asterix.common.utils.IdentifierUtil.dataset; import java.io.IOException; @@ -213,8 +212,8 @@ validateDatasetInfo(metadataProvider, stmt.getDataverseName(), stmt.getDatasetName(), sourceLoc); List<List<String>> partitionKeys = targetDatasource.getDataset().getPrimaryKeys(); if (dataset.hasMetaPart()) { - throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, dataset.getDatasetName() + ": load " - + dataset() + " is not supported on " + dataset(PLURAL) + " with meta records"); + throw new CompilationException(ErrorCode.ILLEGAL_DML_OPERATION, sourceLoc, dataset.getDatasetName(), + stmt.getKind() == Statement.Kind.LOAD ? "load" : "copy into"); } LoadableDataSource lds; @@ -476,9 +475,8 @@ ICompiledDmlStatement stmt) throws AlgebricksException { SourceLocation sourceLoc = stmt.getSourceLocation(); if (targetDatasource.getDataset().hasMetaPart()) { - throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, - targetDatasource.getDataset().getDatasetName() + ": delete from " + dataset() - + " is not supported on " + dataset(PLURAL) + " with meta records"); + throw new CompilationException(ErrorCode.ILLEGAL_DML_OPERATION, sourceLoc, + targetDatasource.getDataset().getDatasetName(), "delete from"); } List<String> filterField = DatasetUtil.getFilterField(targetDatasource.getDataset()); @@ -507,9 +505,8 @@ IResultMetadata resultMetadata) throws AlgebricksException { SourceLocation sourceLoc = stmt.getSourceLocation(); if (!targetDatasource.getDataset().allow(topOp, DatasetUtil.OP_UPSERT)) { - throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, - targetDatasource.getDataset().getDatasetName() + ": upsert into " + dataset() - + " is not supported on " + dataset(PLURAL) + " with meta records"); + throw new CompilationException(ErrorCode.ILLEGAL_DML_OPERATION, sourceLoc, + targetDatasource.getDataset().getDatasetName(), "upsert into"); } ProjectOperator project = (ProjectOperator) topOp; CompiledUpsertStatement compiledUpsert = (CompiledUpsertStatement) stmt; @@ -520,8 +517,8 @@ if (targetDatasource.getDataset().hasMetaPart()) { if (returnExpression != null) { - throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, - "Returning not allowed on " + dataset(PLURAL) + " with meta records"); + throw new CompilationException(ErrorCode.ILLEGAL_DML_OPERATION, sourceLoc, + targetDatasource.getDataset().getDatasetName(), "return expression"); } List<LogicalVariable> metaAndKeysVars; List<Mutable<ILogicalExpression>> metaAndKeysExprs; @@ -631,9 +628,8 @@ ICompiledDmlStatement stmt, IResultMetadata resultMetadata) throws AlgebricksException { SourceLocation sourceLoc = stmt.getSourceLocation(); if (targetDatasource.getDataset().hasMetaPart()) { - throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, - targetDatasource.getDataset().getDatasetName() + ": insert into " + dataset() - + " is not supported on " + dataset(PLURAL) + " with meta records"); + throw new CompilationException(ErrorCode.ILLEGAL_DML_OPERATION, sourceLoc, + targetDatasource.getDataset().getDatasetName(), "insert into"); } List<String> filterField = DatasetUtil.getFilterField(targetDatasource.getDataset()); 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 8ad67a3..88086d6 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml @@ -13813,7 +13813,7 @@ <test-case FilePath="load"> <compilation-unit name="dataset-with-meta"> <output-dir compare="Text">dataset-with-meta</output-dir> - <expected-error>ASX1079: Compilation error: DatasetWithMeta: load dataset is not supported on datasets with meta records (in line 27, at column 1)</expected-error> + <expected-error>ASX1184: Compilation error: DatasetWithMeta: load dataset is not supported on datasets with meta records (in line 27, at column 1)</expected-error> </compilation-unit> </test-case> <test-case FilePath="load"> diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_profiled.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_profiled.xml index c22d6d0..b92e37a 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_profiled.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_profiled.xml @@ -13642,7 +13642,7 @@ <test-case FilePath="load"> <compilation-unit name="dataset-with-meta"> <output-dir compare="Text">dataset-with-meta</output-dir> - <expected-error>ASX1079: Compilation error: DatasetWithMeta: load dataset is not supported on datasets with meta records (in line 27, at column 1)</expected-error> + <expected-error>ASX1184: Compilation error: DatasetWithMeta: load dataset is not supported on datasets with meta records (in line 27, at column 1)</expected-error> </compilation-unit> </test-case> <test-case FilePath="load"> diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java index 3ac665c..ff00aef 100644 --- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java +++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java @@ -278,6 +278,7 @@ UNSUPPORTED_COMPUTED_FIELD_TYPE(1181), FAILED_TO_CALCULATE_COMPUTED_FIELDS(1182), FAILED_TO_EVALUATE_COMPUTED_FIELD(1183), + ILLEGAL_DML_OPERATION(1184), // Feed errors DATAFLOW_ILLEGAL_STATE(3001), diff --git a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties index 3c9543a..72d118e 100644 --- a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties +++ b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties @@ -280,6 +280,7 @@ 1181 = Unsupported computed field type: %1$s 1182 = Failed to calculate computed fields: %1$s 1183 = Failed to evaluate computed field. File: '%1$s'. Computed Field Name: '%2$s'. Computed Field Type: '%3$s'. Computed Field Value: '%4$s'. Reason: '%5$s' +1184 = Compilation error: %1$s: %2$s dataset is not supported on datasets with meta records # Feed Errors 3001 = Illegal state. -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17785 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Change-Id: Iaad9bd6c8426d541614019f689003342253d74b0 Gerrit-Change-Number: 17785 Gerrit-PatchSet: 4 Gerrit-Owner: Peeyush Gupta <[email protected]> Gerrit-Reviewer: Ali Alsuliman <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Murtadha Al Hubail <[email protected]> Gerrit-Reviewer: Murtadha Hubail <[email protected]> Gerrit-Reviewer: Peeyush Gupta <[email protected]> Gerrit-MessageType: merged
