This is an automated email from the ASF dual-hosted git repository. mblow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 7ac75e7ba9966fa11e794bd839f22e5a6669c45a Merge: 44809d7 c25c36d Author: Hussain Towaileb <[email protected]> AuthorDate: Wed Jun 24 19:12:32 2020 +0300 Merge commit 'c25c36d1b0' from 'gerrit/mad-hatter' Change-Id: I8a78950cb81f0a29ceae94fa439eec700c17d06d .../optimizer/rules/ConstantFoldingRule.java | 4 ++- .../asterix/app/translator/QueryTranslator.java | 18 +++++----- .../apache/asterix/test/common/TestExecutor.java | 1 - .../test.000.ddl.sqlpp} | 35 ++++++++++---------- .../test.001.query.sqlpp} | 22 ++----------- .../test.099.ddl.sqlpp} | 20 +----------- .../exclude-all-files/test.000.ddl.sqlpp} | 35 ++++++++++---------- .../exclude-all-files/test.001.query.sqlpp} | 22 ++----------- .../exclude-all-files/test.099.ddl.sqlpp} | 20 +----------- .../include-no-files/test.000.ddl.sqlpp} | 35 ++++++++++---------- .../include-no-files/test.001.query.sqlpp} | 22 ++----------- .../include-no-files/test.099.ddl.sqlpp} | 20 +----------- .../definition-points-to-nothing/result.001.adm | 1 + .../exclude-all-files/result.001.adm | 1 + .../include-no-files/result.001.adm | 1 + .../runtimets/testsuite_external_dataset.xml | 18 ++++++++++ .../test/resources/runtimets/testsuite_sqlpp.xml | 22 ++++++------- .../asterix/common/exceptions/ErrorCode.java | 15 +++++---- .../common/exceptions/NoOpWarningCollector.java} | 28 ++++++++++------ .../asterix/common/external/IAdapterFactory.java | 6 ++-- .../src/main/resources/asx_errormsg/en.properties | 15 +++++---- .../adapter/factory/GenericAdapterFactory.java | 15 +++++---- .../adapter/factory/LookupAdapterFactory.java | 10 +++--- .../external/api/IExternalDataSourceFactory.java | 3 +- .../external/input/HDFSDataSourceFactory.java | 4 ++- .../record/reader/aws/AwsS3InputStreamFactory.java | 17 +++++++--- .../record/reader/aws/AwsS3ReaderFactory.java | 5 +-- .../reader/hdfs/HDFSLookupReaderFactory.java | 4 ++- .../reader/http/HttpServerRecordReaderFactory.java | 4 ++- .../record/reader/rss/RSSRecordReaderFactory.java | 4 ++- .../reader/stream/StreamRecordReaderFactory.java | 7 ++-- .../reader/twitter/TwitterRecordReaderFactory.java | 4 ++- .../stream/factory/LocalFSInputStreamFactory.java | 4 ++- .../factory/SocketClientInputStreamFactory.java | 4 ++- .../factory/SocketServerInputStreamFactory.java | 4 ++- .../factory/TwitterFirehoseStreamFactory.java | 4 ++- .../operators/FeedIntakeOperatorDescriptor.java | 3 +- .../external/provider/AdapterFactoryProvider.java | 15 +++++---- .../provider/LookupReaderFactoryProvider.java | 5 +-- .../asterix/external/util/ExternalDataUtils.java | 38 ++++++++++++++++++---- .../apache/asterix/external/util/ParseUtil.java | 5 +-- .../reader/RecordWithPKTestReaderFactory.java | 4 ++- .../record/reader/kv/KVTestReaderFactory.java | 4 ++- .../library/adapter/TestTypedAdapterFactory.java | 4 ++- .../metadata/declared/DatasetDataSource.java | 5 +-- .../declared/FunctionDataSourceFactory.java | 3 +- .../metadata/declared/LoadableDataSource.java | 2 +- .../metadata/declared/MetadataProvider.java | 11 ++++--- .../asterix/metadata/feeds/FeedMetadataUtil.java | 12 ++++--- .../metadata/utils/ExternalIndexingOperations.java | 3 +- .../api/HeuristicCompilerFactoryBuilder.java | 2 +- .../algebricks/core/jobgen/impl/JobGenContext.java | 10 +++++- .../hyracks/api/exceptions/SourceLocation.java | 18 +++++++--- .../org/apache/hyracks/api/exceptions/Warning.java | 3 +- .../file/FieldCursorForDelimitedDataParser.java | 4 +-- 55 files changed, 311 insertions(+), 294 deletions(-) diff --cc asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ConstantFoldingRule.java index 2b703a2,494b1b4..4ca3275 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ConstantFoldingRule.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ConstantFoldingRule.java @@@ -29,9 -29,9 +29,10 @@@ import org.apache.asterix.common.config import org.apache.asterix.common.dataflow.ICcApplicationContext; import org.apache.asterix.common.exceptions.CompilationException; import org.apache.asterix.common.exceptions.ErrorCode; + import org.apache.asterix.common.exceptions.NoOpWarningCollector; import org.apache.asterix.common.exceptions.WarningCollector; import org.apache.asterix.common.exceptions.WarningUtil; +import org.apache.asterix.common.functions.ExternalFunctionLanguage; import org.apache.asterix.dataflow.data.common.ExpressionTypeComputer; import org.apache.asterix.dataflow.data.nontagged.MissingWriterFactory; import org.apache.asterix.formats.nontagged.ADMPrinterFactoryProvider; diff --cc asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java index a5fef11,0f669ef..d1c5aeb --- 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 @@@ -882,8 -851,9 +881,9 @@@ public class QueryTranslator extends Ab } } - protected Map<String, String> createExternalDatasetProperties(String dataverseName, DatasetDecl dd, + protected Map<String, String> createExternalDatasetProperties(DataverseName dataverseName, DatasetDecl dd, - MetadataProvider metadataProvider, MetadataTransactionContext mdTxnCtx) throws AlgebricksException { + Datatype itemType, MetadataProvider metadataProvider, MetadataTransactionContext mdTxnCtx) + throws AlgebricksException { ExternalDetailsDecl externalDetails = (ExternalDetailsDecl) dd.getDatasetDetailsDecl(); return externalDetails.getProperties(); } diff --cc asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml index e1f3084,63773dd..1b9c610 --- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml +++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml @@@ -2862,23 -2837,6 +2862,23 @@@ </compilation-unit> </test-case> </test-group> + <test-group name="aggregate-subclause"> + <test-case FilePath="aggregate-subclause"> + <compilation-unit name="agg_filter_01"> + <output-dir compare="Text">agg_filter_01</output-dir> + </compilation-unit> + </test-case> + <test-case FilePath="aggregate-subclause"> + <compilation-unit name="agg_filter_02_neg"> + <output-dir compare="Text">agg_filter_01</output-dir> - <expected-error>ASX1120: Illegal use of aggregate FILTER clause</expected-error> - <expected-error>ASX1120: Illegal use of aggregate FILTER clause</expected-error> ++ <expected-error>ASX1121: Illegal use of aggregate FILTER clause</expected-error> ++ <expected-error>ASX1121: Illegal use of aggregate FILTER clause</expected-error> + <expected-error>ASX1073: Cannot resolve alias reference for undefined identifier r</expected-error> - <expected-error>ASX1120: Illegal use of aggregate FILTER clause</expected-error> - <expected-error>ASX1120: Illegal use of aggregate FILTER clause</expected-error> ++ <expected-error>ASX1121: Illegal use of aggregate FILTER clause</expected-error> ++ <expected-error>ASX1121: Illegal use of aggregate FILTER clause</expected-error> + </compilation-unit> + </test-case> + </test-group> <test-group name="array_fun"> <test-case FilePath="array_fun"> <compilation-unit name="array_prepend"> @@@ -5612,29 -5406,6 +5612,29 @@@ </compilation-unit> </test-case> <test-case FilePath="group-by"> + <compilation-unit name="grouping-sets-1"> + <output-dir compare="Text">grouping-sets-1</output-dir> + </compilation-unit> + </test-case> + <test-case FilePath="group-by"> + <compilation-unit name="grouping-sets-2"> + <output-dir compare="Text">grouping-sets-2</output-dir> + </compilation-unit> + </test-case> + <test-case FilePath="group-by"> + <compilation-unit name="grouping-sets-3-negative"> + <output-dir compare="Text">grouping-sets-2</output-dir> - <expected-error>ASX1119: Unexpected alias: v21</expected-error> - <expected-error>ASX1119: Unexpected alias: v22</expected-error> - <expected-error>ASX1119: Unexpected alias: v23</expected-error> ++ <expected-error>ASX1120: Unexpected alias: v21</expected-error> ++ <expected-error>ASX1120: Unexpected alias: v22</expected-error> ++ <expected-error>ASX1120: Unexpected alias: v23</expected-error> + <expected-error>ASX1087: Invalid number of arguments for function grouping</expected-error> - <expected-error>ASX1118: Invalid argument to grouping() function</expected-error> - <expected-error>ASX1118: Invalid argument to grouping() function</expected-error> - <expected-error>ASX1118: Invalid argument to grouping() function</expected-error> - <expected-error>ASX1117: Too many grouping sets in group by clause: 512. Maximum allowed: 128.</expected-error> ++ <expected-error>ASX1119: Invalid argument to grouping() function</expected-error> ++ <expected-error>ASX1119: Invalid argument to grouping() function</expected-error> ++ <expected-error>ASX1119: Invalid argument to grouping() function</expected-error> ++ <expected-error>ASX1118: Too many grouping sets in group by clause: 512. Maximum allowed: 128.</expected-error> + </compilation-unit> + </test-case> + <test-case FilePath="group-by"> <compilation-unit name="having"> <output-dir compare="Text">core-02</output-dir> </compilation-unit> diff --cc asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java index 503ff6e,d57c433..fdba8d6 --- 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 @@@ -203,13 -202,7 +203,14 @@@ public class ErrorCode public static final int PROPERTY_INVALID_VALUE_TYPE = 1111; public static final int INVALID_PROPERTY_FORMAT = 1112; public static final int INVALID_REGEX_PATTERN = 1113; - public static final int SYNONYM_EXISTS = 1114; - public static final int UNKNOWN_SYNONYM = 1115; - public static final int UNKNOWN_LIBRARY = 1116; - public static final int COMPILATION_GROUPING_SETS_OVERFLOW = 1117; - public static final int COMPILATION_GROUPING_OPERATION_INVALID_ARG = 1118; - public static final int COMPILATION_UNEXPECTED_ALIAS = 1119; - public static final int COMPILATION_ILLEGAL_USE_OF_FILTER_CLAUSE = 1120; + public static final int EXTERNAL_SOURCE_CONFIGURATION_RETURNED_NO_FILES = 1114; ++ public static final int SYNONYM_EXISTS = 1115; ++ public static final int UNKNOWN_SYNONYM = 1116; ++ public static final int UNKNOWN_LIBRARY = 1117; ++ public static final int COMPILATION_GROUPING_SETS_OVERFLOW = 1118; ++ public static final int COMPILATION_GROUPING_OPERATION_INVALID_ARG = 1119; ++ public static final int COMPILATION_UNEXPECTED_ALIAS = 1120; ++ public static final int COMPILATION_ILLEGAL_USE_OF_FILTER_CLAUSE = 1121; // Feed errors public static final int DATAFLOW_ILLEGAL_STATE = 3001; diff --cc asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties index e612503,5cf3968..9bbebf2 --- a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties +++ b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties @@@ -198,13 -197,7 +198,14 @@@ 1111 = Property \"%1$s\" expects value(s) of type %2$s 1112 = Invalid format for property \"%1$s\" 1113 = Invalid pattern %1$s - 1114 = A synonym with this name %1$s already exists - 1115 = Cannot find synonym with name %1$s - 1116 = Unknown library %1$s - 1117 = Too many grouping sets in group by clause: %1$s. Maximum allowed: %2$s. - 1118 = Invalid argument to grouping() function - 1119 = Unexpected alias: %1$s - 1120 = Illegal use of aggregate FILTER clause + 1114 = The provided external dataset configuration returned no files from the external source ++1115 = A synonym with this name %1$s already exists ++1116 = Cannot find synonym with name %1$s ++1117 = Unknown library %1$s ++1118 = Too many grouping sets in group by clause: %1$s. Maximum allowed: %2$s. ++1119 = Invalid argument to grouping() function ++1120 = Unexpected alias: %1$s ++1121 = Illegal use of aggregate FILTER clause # Feed Errors 3001 = Illegal state. diff --cc asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java index f0c6422,1300ac3..052a8e0 --- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java @@@ -37,10 -37,8 +37,11 @@@ import org.apache.asterix.common.except import org.apache.asterix.common.exceptions.CompilationException; import org.apache.asterix.common.exceptions.ErrorCode; import org.apache.asterix.common.exceptions.RuntimeDataException; + import org.apache.asterix.common.exceptions.WarningUtil; +import org.apache.asterix.common.functions.ExternalFunctionLanguage; +import org.apache.asterix.common.library.ILibrary; import org.apache.asterix.common.library.ILibraryManager; +import org.apache.asterix.common.metadata.DataverseName; import org.apache.asterix.external.api.IDataParserFactory; import org.apache.asterix.external.api.IExternalDataSourceFactory.DataSourceType; import org.apache.asterix.external.api.IInputStreamFactory; diff --cc asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java index 3107a00,c5109b7..3f5d0b0 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java @@@ -823,11 -782,13 +824,13 @@@ public class MetadataProvider implement } protected ITypedAdapterFactory getConfiguredAdapterFactory(Dataset dataset, String adapterName, - Map<String, String> configuration, ARecordType itemType, ARecordType metaType) throws AlgebricksException { + Map<String, String> configuration, ARecordType itemType, ARecordType metaType, + IWarningCollector warningCollector) throws AlgebricksException { try { - configuration.put(ExternalDataConstants.KEY_DATAVERSE, dataset.getDataverseName()); + configuration.put(ExternalDataConstants.KEY_DATAVERSE, dataset.getDataverseName().getCanonicalForm()); - ITypedAdapterFactory adapterFactory = AdapterFactoryProvider.getAdapterFactory( - getApplicationContext().getServiceContext(), adapterName, configuration, itemType, metaType); + ITypedAdapterFactory adapterFactory = + AdapterFactoryProvider.getAdapterFactory(getApplicationContext().getServiceContext(), adapterName, + configuration, itemType, metaType, warningCollector); // check to see if dataset is indexed Index filesIndex = diff --cc asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java index e0a8e83,792501b..24301e0 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java @@@ -28,11 -28,9 +28,12 @@@ import org.apache.asterix.common.except import org.apache.asterix.common.exceptions.CompilationException; import org.apache.asterix.common.exceptions.ErrorCode; import org.apache.asterix.common.exceptions.MetadataException; + import org.apache.asterix.common.exceptions.NoOpWarningCollector; import org.apache.asterix.common.external.IDataSourceAdapter; import org.apache.asterix.common.external.IDataSourceAdapter.AdapterType; +import org.apache.asterix.common.functions.ExternalFunctionLanguage; +import org.apache.asterix.common.library.ILibrary; +import org.apache.asterix.common.metadata.DataverseName; import org.apache.asterix.external.api.ITypedAdapterFactory; import org.apache.asterix.external.feed.api.IFeed; import org.apache.asterix.external.feed.policy.FeedPolicyAccessor; @@@ -56,7 -53,7 +57,8 @@@ import org.apache.hyracks.algebricks.co import org.apache.hyracks.algebricks.common.utils.Triple; import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.dataflow.value.RecordDescriptor; +import org.apache.hyracks.api.exceptions.HyracksDataException; + import org.apache.hyracks.api.exceptions.IWarningCollector; /** * A utility class for providing helper functions for feeds TODO: Refactor this
