Xikui Wang has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1674
Change subject: Add function signature check to Connect Feed ...................................................................... Add function signature check to Connect Feed Revise the exception info when apply an unknown function to feed. Change-Id: I1462b394d84ea7e1eae5a03f98fe8cd39213eb8e --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties 3 files changed, 7 insertions(+), 2 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/74/1674/1 diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java index cb59f5c..fe36342 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java @@ -2121,6 +2121,11 @@ ARecordType outputType = FeedMetadataUtil.getOutputType(feed, feed.getAdapterConfiguration(), ExternalDataConstants.KEY_TYPE_NAME); List<FunctionSignature> appliedFunctions = cfs.getAppliedFunctions(); + for (FunctionSignature func : appliedFunctions) { + if (MetadataManager.INSTANCE.getFunction(mdTxnCtx, func) == null) + throw new CompilationException(ErrorCode.FEED_CONNECT_FEED_APPLIED_INVALID_FUNCTION, + func.getName()); + } fc = MetadataManager.INSTANCE.getFeedConnection(metadataProvider.getMetadataTxnContext(), dataverseName, feedName, datasetName); if (fc != null) { 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 9de9dde..967b5bc 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 @@ -117,7 +117,7 @@ public static final int INPUT_RECORD_RECORD_WITH_METADATA_AND_PK_NULL_IN_NON_OPTIONAL = 3018; public static final int INPUT_RECORD_RECORD_WITH_METADATA_AND_PK_CANNT_GET_PKEY = 3019; public static final int FEED_CHANGE_FEED_CONNECTIVITY_ON_ALIVE_FEED = 3020; - public static final int FEED_MANAGEMENT_FEED_EVENT_REGISTER_INTAKE_JOB_FAIL = 3021; + public static final int FEED_CONNECT_FEED_APPLIED_INVALID_FUNCTION = 3021; public static final int PROVIDER_DATAFLOW_CONTROLLER_UNKNOWN_DATA_SOURCE = 3022; public static final int PROVIDER_DATASOURCE_FACTORY_UNKNOWN_INPUT_STREAM_FACTORY = 3023; public static final int UTIL_EXTERNAL_DATA_UTILS_FAIL_CREATE_STREAM_FACTORY = 3024; 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 b6423f6..2e1b871 100644 --- a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties +++ b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties @@ -103,7 +103,7 @@ 3018 = Field %1$s of meta record is not an optional type so it cannot accept null value. 3019 = Can't get PK from record part 3020 = This operation cannot be done when Feed %1$s is alive. -3021 = Could not register feed intake job [%1$s] for feed %2$s +3021 = Cannot find function %1$s. 3022 = Unknown data source type: %1$s 3023 = Unknown input stream factory: %1$s 3024 = Failed to create stream factory -- To view, visit https://asterix-gerrit.ics.uci.edu/1674 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1462b394d84ea7e1eae5a03f98fe8cd39213eb8e Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Xikui Wang <xkk...@gmail.com>