You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by dl...@apache.org on 2021/04/13 00:06:56 UTC

[asterixdb] 07/07: Merge branch 'cheshire-cat'

This is an automated email from the ASF dual-hosted git repository.

dlych pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit 881578e7c34d1dd215ad84d21a1f3bc93c27b88e
Merge: 5832920 55ad6ac
Author: Dmitry Lychagin <dm...@couchbase.com>
AuthorDate: Mon Apr 12 11:03:31 2021 -0700

    Merge branch 'cheshire-cat'
    
    Change-Id: I1f21eca41175d3b18f7fb0f639988d59a7d35434

 .../org/apache/asterix/active/ActiveManager.java   |   8 +-
 .../translator/LangExpressionToPlanTranslator.java |  11 +-
 .../apache/asterix/api/common/APIFramework.java    |  10 +-
 .../api/http/server/AbstractNCUdfServlet.java      | 157 ++-------
 .../asterix/api/http/server/NCUdfApiServlet.java   |  98 +++---
 .../api/http/server/NCUdfRecoveryServlet.java      |   5 +-
 .../asterix/api/http/server/ServletUtil.java       |  12 +
 .../app/active/ActiveEntityEventsListener.java     |  26 ++
 .../app/active/ActiveNotificationHandler.java      |  32 +-
 .../asterix/app/function/DatasetRewriter.java      |   3 +-
 .../apache/asterix/app/function/FeedRewriter.java  |   3 +-
 .../asterix/app/translator/QueryTranslator.java    |  39 ++-
 .../asterix/hyracks/bootstrap/NCApplication.java   |  15 +-
 .../asterix/app/external/ExternalUDFLibrarian.java |  31 +-
 .../app/external/IExternalUDFLibrarian.java        |   8 +-
 .../apache/asterix/test/common/TestExecutor.java   |  20 +-
 .../asterix/test/sqlpp/ParserTestExecutor.java     |  63 ++--
 .../parserts/results_parser_sqlpp/IfInFLOWGR.ast   |  22 +-
 .../parserts/results_parser_sqlpp/IfThenElse.ast   |  18 +-
 .../results_parser_sqlpp/nestedFLWOGR1.ast         |  18 +-
 .../results_parser_sqlpp/nestedFLWOGR2.ast         |  22 +-
 ...t.http => invalid_library_requests.1.post.http} |   4 +-
 .../invalid_library_requests.2.delete.http}        |   4 +-
 ...t.http => invalid_library_requests.3.post.http} |   4 +-
 ...t.http => invalid_library_requests.4.post.http} |   4 +-
 ...t.http => invalid_library_requests.5.post.http} |   4 +-
 .../library_list_api/library_list_api.1.post.http  |   4 +-
 .../library_list_api_multipart.1.post.http         |   5 +-
 .../library_list_api_multipart.2.post.http         |   4 +-
 .../library_list_api_multipart.3.post.http         |   6 +-
 .../library_list_api_multipart.4.post.http         |   6 +-
 .../mysentiment_multipart.1.lib.sqlpp              |   2 +-
 .../udf37_recursion/udf37_recursion.1.ddl.sqlpp}   |   6 +-
 .../udf37_recursion/udf37_recursion.2.ddl.sqlpp}   |   7 +-
 .../udf37_recursion/udf37_recursion.3.ddl.sqlpp}   |   8 +-
 .../udf37_recursion/udf37_recursion.4.ddl.sqlpp}   |  15 +-
 .../udf37_recursion/udf37_recursion.5.query.sqlpp} |  14 +-
 .../udf37_recursion/udf37_recursion.6.query.sqlpp} |  15 +-
 .../udf37_recursion/udf37_recursion.7.query.sqlpp} |  16 +-
 .../udf37_recursion/udf37_recursion.8.ddl.sqlpp}   |  13 +-
 .../udf37_recursion/udf37_recursion.9.query.sqlpp} |  19 +-
 .../udf38_no_recursion.1.ddl.sqlpp}                |  14 +-
 .../udf38_no_recursion.2.query.sqlpp}              |  11 +-
 .../udf38_no_recursion.3.ddl.sqlpp}                |  19 +-
 .../udf38_no_recursion.4.query.sqlpp}              |  13 +-
 .../udf38_no_recursion.5.ddl.sqlpp}                |  26 +-
 .../udf38_no_recursion.6.query.sqlpp}              |  13 +-
 .../udf39_illegal_call.1.ddl.sqlpp}                |  15 +-
 .../udf39_illegal_call.2.ddl.sqlpp}                |  12 +-
 .../library_list_api.5.regexjson                   |   6 +-
 .../udf38_no_recursion/udf38_no_recursion.2.adm    |   2 +
 .../udf38_no_recursion/udf38_no_recursion.4.adm    |   2 +
 .../udf38_no_recursion/udf38_no_recursion.6.adm    |   2 +
 .../grouping-sets-2/grouping-sets-2.17.ast         |  92 +++---
 .../group-by/grouping-sets-2/grouping-sets-2.8.ast |  78 ++---
 .../misc/ifthenelse_01/ifthenelse_01.3.ast         |  18 +-
 .../string/like_01/like_01.3.ast                   |  12 +-
 .../string/like_null/like_null.3.ast               |   6 +-
 .../q08_national_market_share.3.ast                |  36 +-
 .../tpch-sql-like/q12_shipping/q12_shipping.3.ast  |  86 +----
 .../q13_customer_distribution.3.ast                |  13 +-
 .../q14_promotion_effect.3.ast                     |  39 +--
 .../q08_national_market_share.3.ast                |  32 +-
 .../tpch/q12_shipping/q12_shipping.3.ast           |  81 ++---
 .../q13_customer_distribution.3.ast                |  13 +-
 .../q14_promotion_effect.3.ast                     |  39 +--
 .../window/misc_01/misc_01.3.ast                   |  22 +-
 .../resources/runtimets/testsuite_it_sqlpp.xml     |   4 +-
 .../test/resources/runtimets/testsuite_sqlpp.xml   |  27 +-
 .../asterix/common/api/IIdentifierMapper.java      |   8 +-
 .../common/config/TransactionProperties.java       |   6 +-
 .../asterix/common/exceptions/ErrorCode.java       |   6 +-
 .../common/utils/IdentifierMappingUtil.java        |  43 ++-
 .../asterix/common/utils/IdentifierUtil.java       |  11 +-
 .../src/main/resources/asx_errormsg/en.properties  |   8 +-
 .../apache/asterix/lang/common/base/IParser.java   |   3 +-
 .../asterix/lang/common/base/IQueryRewriter.java   |  21 +-
 .../asterix/lang/common/parser/FunctionParser.java |  62 ----
 .../lang/common/rewrites/LangRewritingContext.java |  26 +-
 .../lang/common/statement/FunctionDecl.java        |  23 +-
 .../asterix/lang/common/util/FunctionUtil.java     | 219 ++++++------
 .../common/visitor/AbstractInlineUdfsVisitor.java  | 335 ++++++++-----------
 .../CloneAndSubstituteVariablesVisitor.java        |   2 +-
 .../common/visitor/GatherFunctionCallsVisitor.java |  15 +-
 .../sqlpp/rewrites/SqlppFunctionBodyRewriter.java  |  20 +-
 .../lang/sqlpp/rewrites/SqlppQueryRewriter.java    | 368 +++++++--------------
 .../visitor/SqlppFunctionCallResolverVisitor.java  |  22 +-
 .../visitor/SqlppGatherFunctionCallsVisitor.java   | 238 +++++++++++++
 .../rewrites/visitor/SqlppInlineUdfsVisitor.java   | 132 ++++----
 .../lang/sqlpp/visitor/DeepCopyVisitor.java        |   4 +-
 .../asterix-lang-sqlpp/src/main/javacc/SQLPP.jj    |   6 +-
 .../org/apache/asterix/metadata/MetadataNode.java  |   3 +-
 .../metadata/declared/MetadataProvider.java        |   5 +-
 .../InvertedIndexResourceFactoryProvider.java      |   3 +-
 .../hyracks/control/cc/ClusterControllerIPCI.java  |  12 +-
 .../control/common/base/IClusterController.java    |   2 +
 .../hyracks/control/common/ipc/CCNCFunctions.java  |  14 +-
 .../common/ipc/ClusterControllerRemoteProxy.java   |   9 +-
 .../common/ipc/NodeControllerRemoteProxy.java      |   2 +-
 .../hyracks/control/nc/NodeControllerService.java  |   4 +
 100 files changed, 1559 insertions(+), 1587 deletions(-)

diff --cc asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
index d2e9284,8dcb534..777f4d5
--- 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
@@@ -18,9 -18,9 +18,10 @@@
   */
  package org.apache.asterix.app.translator;
  
+ import static org.apache.asterix.common.api.IIdentifierMapper.Modifier.PLURAL;
  import static org.apache.asterix.common.utils.IdentifierUtil.dataset;
  import static org.apache.asterix.common.utils.IdentifierUtil.dataverse;
 +import static org.apache.asterix.lang.common.statement.CreateFullTextFilterStatement.FIELD_TYPE_STOPWORDS;
  
  import java.io.File;
  import java.io.FileInputStream;
diff --cc asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
index 0406132,210ce0f..1be99f0
--- 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
@@@ -233,12 -233,8 +233,14 @@@ public enum ErrorCode implements IErro
      UNKNOWN_FEED_POLICY(1146),
      CANNOT_DROP_DATAVERSE_DEPENDENT_EXISTS(1147),
      CANNOT_DROP_OBJECT_DEPENDENT_EXISTS(1148),
-     FULL_TEXT_CONFIG_ALREADY_EXISTS(1149),
-     FULL_TEXT_FILTER_ALREADY_EXISTS(1150),
+     ILLEGAL_FUNCTION_RECURSION(1149),
+     ILLEGAL_FUNCTION_USE(1150),
 +    FULL_TEXT_CONFIG_NOT_FOUND(1151),
 +    FULL_TEXT_FILTER_NOT_FOUND(1152),
 +    FULL_TEXT_DEFAULT_CONFIG_CANNOT_BE_DELETED_OR_CREATED(1153),
 +    COMPILATION_INCOMPATIBLE_INDEX_TYPE(1154),
++    FULL_TEXT_CONFIG_ALREADY_EXISTS(1155),
++    FULL_TEXT_FILTER_ALREADY_EXISTS(1156),
  
      // Feed errors
      DATAFLOW_ILLEGAL_STATE(3001),
diff --cc asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
index 7dc2c56,93fa828..591fa9a
--- a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
+++ b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
@@@ -235,12 -235,8 +235,14 @@@
  1146 = Cannot find feed policy with name %1$s
  1147 = Cannot drop dataverse: %1$s %2$s being used by %3$s %4$s
  1148 = Cannot drop %1$s %2$s being used by %3$s %4$s
- 1149 = Full-text config %1$s already exists
- 1150 = Full-text filter %1$s already exists
+ 1149 = Illegal function recursion
+ 1150 = Illegal use of function %1$s
 +1151 = Full-text config %1$s not found
 +1152 = Full-text filter %1$s not found
 +1153 = Default full-text config with a name of null cannot be deleted or created
 +1154 = Incompatible index type %1$s
++1155 = Full-text config %1$s already exists
++1156 = Full-text filter %1$s already exists
  
  # Feed Errors
  3001 = Illegal state.
diff --cc asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
index 29acbda,20172db..f8ba574
--- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
+++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
@@@ -19,7 -19,7 +19,8 @@@
  
  package org.apache.asterix.metadata;
  
+ import static org.apache.asterix.common.api.IIdentifierMapper.Modifier.PLURAL;
 +import static org.apache.asterix.common.exceptions.ErrorCode.FULL_TEXT_DEFAULT_CONFIG_CANNOT_BE_DELETED_OR_CREATED;
  import static org.apache.asterix.common.utils.IdentifierUtil.dataset;
  
  import java.rmi.RemoteException;