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 <[email protected]>