You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2020/05/31 12:35:19 UTC
[asterixdb] 04/04: Merge commit 'a548307b9f' from
'gerrit/mad-hatter'
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 825eaaf29a979efc109b7afb1dae5b2fb7869f2f
Merge: 28c0ee8 a548307
Author: Hussain Towaileb <Hu...@Gmail.com>
AuthorDate: Fri May 29 13:17:26 2020 +0300
Merge commit 'a548307b9f' from 'gerrit/mad-hatter'
Change-Id: I57eb5d96af8f227e5a9550381418f9468eb400d8
.../asterix-app/data/json/malformed-json-2.json | 7 ++
.../asterix-app/data/jsonl/malformed-jsonl-1.json | 4 +
.../asterix-app/data/jsonl/malformed-jsonl-2.json | 14 +++
asterixdb/asterix-app/pom.xml | 4 -
.../asterix/app/translator/QueryTranslator.java | 22 +++-
.../s3/bucket-does-not-exist/test.000.ddl.sqlpp | 37 +++++++
.../s3/bucket-does-not-exist/test.099.ddl.sqlpp | 20 ++++
.../definition-does-not-exist/test.000.ddl.sqlpp | 37 +++++++
.../definition-does-not-exist/test.001.query.sqlpp | 22 ++++
.../definition-does-not-exist/test.099.ddl.sqlpp | 20 ++++
.../aws/s3/invalid-endpoint/test.000.ddl.sqlpp | 37 +++++++
.../aws/s3/invalid-endpoint/test.099.ddl.sqlpp | 20 ++++
.../malformed-json.000.s3bucket.sqlpp | 20 ++++
.../s3/malformed-json/malformed-json.001.ddl.sqlpp | 36 +++++++
.../malformed-json/malformed-json.002.query.sqlpp | 21 ++++
.../malformed-json.003.s3bucket.sqlpp | 20 ++++
.../malformed-json/malformed-json.004.query.sqlpp | 21 ++++
.../malformed-json.005.s3bucket.sqlpp | 20 ++++
.../malformed-json/malformed-json.006.query.sqlpp | 21 ++++
.../malformed-json.007.s3bucket.sqlpp | 20 ++++
.../malformed-json/malformed-json.008.query.sqlpp | 21 ++++
.../malformed-json.009.s3bucket.sqlpp | 20 ++++
.../malformed-json/malformed-json.010.query.sqlpp | 21 ++++
.../s3/malformed-json/malformed-json.099.ddl.sqlpp | 20 ++++
.../s3/definition-does-not-exist/result.001.adm | 1 +
.../runtimets/testsuite_external_dataset.xml | 27 +++++
.../test/resources/runtimets/testsuite_sqlpp.xml | 14 +--
.../asterix/common/exceptions/ErrorCode.java | 14 +--
.../src/main/resources/asx_errormsg/en.properties | 14 +--
asterixdb/asterix-external-data/pom.xml | 8 ++
.../input/record/reader/aws/AwsS3InputStream.java | 60 ++++-------
.../record/reader/aws/AwsS3InputStreamFactory.java | 108 ++++++++------------
.../reader/stream/SemiStructuredRecordReader.java | 1 +
.../external/input/stream/LocalFSInputStream.java | 55 ++++++----
.../asterix/external/parser/JSONDataParser.java | 47 ++++++++-
.../external/util/ExternalDataConstants.java | 7 +-
.../asterix/external/util/ExternalDataUtils.java | 112 +++++++++++++++++++++
asterixdb/pom.xml | 5 +
.../java/org/apache/hyracks/util/NetworkUtil.java | 32 ++++--
39 files changed, 847 insertions(+), 163 deletions(-)
diff --cc asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
index 2663453,f127fbd..102b56a
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
@@@ -5583,29 -5405,6 +5583,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>ASX1113: Unexpected alias: v21</expected-error>
- <expected-error>ASX1113: Unexpected alias: v22</expected-error>
- <expected-error>ASX1113: Unexpected alias: v23</expected-error>
++ <expected-error>ASX1115: Unexpected alias: v21</expected-error>
++ <expected-error>ASX1115: Unexpected alias: v22</expected-error>
++ <expected-error>ASX1115: Unexpected alias: v23</expected-error>
+ <expected-error>ASX1087: Invalid number of arguments for function grouping</expected-error>
- <expected-error>ASX1112: Invalid argument to grouping() function</expected-error>
- <expected-error>ASX1112: Invalid argument to grouping() function</expected-error>
- <expected-error>ASX1112: Invalid argument to grouping() function</expected-error>
- <expected-error>ASX1111: Too many grouping sets in group by clause: 512. Maximum allowed: 128.</expected-error>
++ <expected-error>ASX1114: Invalid argument to grouping() function</expected-error>
++ <expected-error>ASX1114: Invalid argument to grouping() function</expected-error>
++ <expected-error>ASX1114: Invalid argument to grouping() function</expected-error>
++ <expected-error>ASX1113: 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 f689b5a,6496c94..97d653d
--- 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
@@@ -197,12 -196,8 +197,14 @@@ public class ErrorCode
public static final int OPERATION_NOT_SUPPORTED_ON_PRIMARY_INDEX = 1105;
public static final int EXPECTED_CONSTANT_VALUE = 1106;
public static final int UNEXPECTED_HINT = 1107;
- public static final int SYNONYM_EXISTS = 1108;
- public static final int UNKNOWN_SYNONYM = 1109;
- public static final int UNKNOWN_LIBRARY = 1110;
- public static final int COMPILATION_GROUPING_SETS_OVERFLOW = 1111;
- public static final int COMPILATION_GROUPING_OPERATION_INVALID_ARG = 1112;
- public static final int COMPILATION_UNEXPECTED_ALIAS = 1113;
+ public static final int EXTERNAL_SOURCE_ERROR = 1108;
+ public static final int EXTERNAL_SOURCE_CONTAINER_NOT_FOUND = 1109;
++ public static final int SYNONYM_EXISTS = 1110;
++ public static final int UNKNOWN_SYNONYM = 1111;
++ public static final int UNKNOWN_LIBRARY = 1112;
++ public static final int COMPILATION_GROUPING_SETS_OVERFLOW = 1113;
++ public static final int COMPILATION_GROUPING_OPERATION_INVALID_ARG = 1114;
++ public static final int COMPILATION_UNEXPECTED_ALIAS = 1115;
// Feed errors
public static final int DATAFLOW_ILLEGAL_STATE = 3001;
diff --cc asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
index 033f377,7e75a51..2de5f48
--- a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
+++ b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
@@@ -192,12 -191,8 +192,14 @@@
1105 = Operation not supported on primary index %1$s
1106 = Expected constant value
1107 = Unexpected hint: %1$s. %2$s expected at this location
- 1108 = A synonym with this name %1$s already exists
- 1109 = Cannot find synonym with name %1$s
- 1110 = Unknown library %1$s
- 1111 = Too many grouping sets in group by clause: %1$s. Maximum allowed: %2$s.
- 1112 = Invalid argument to grouping() function
- 1113 = Unexpected alias: %1$s
+ 1108 = External source error. %1$s
+ 1109 = External source container %1$s not found
++1110 = A synonym with this name %1$s already exists
++1111 = Cannot find synonym with name %1$s
++1112 = Unknown library %1$s
++1113 = Too many grouping sets in group by clause: %1$s. Maximum allowed: %2$s.
++1114 = Invalid argument to grouping() function
++1115 = Unexpected alias: %1$s
# Feed Errors
3001 = Illegal state.
diff --cc asterixdb/asterix-external-data/pom.xml
index f6ebdba,8270d71..3f1b434
--- a/asterixdb/asterix-external-data/pom.xml
+++ b/asterixdb/asterix-external-data/pom.xml
@@@ -445,19 -436,15 +445,27 @@@
<artifactId>netty-all</artifactId>
</dependency>
<dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>net.razorvine</groupId>
+ <artifactId>pyrolite</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>net.razorvine</groupId>
+ <artifactId>serpent</artifactId>
+ </dependency>
+ <dependency>
<groupId>software.amazon.awssdk</groupId>
+ <artifactId>http-client-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>software.amazon.awssdk</groupId>
+ <artifactId>sdk-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
</dependency>
<dependency>
diff --cc asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java
index 3cf67e6,1501287..d19d949
--- 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
@@@ -24,16 -24,18 +24,21 @@@ import static org.apache.asterix.extern
import static org.apache.asterix.external.util.ExternalDataConstants.KEY_RECORD_END;
import static org.apache.asterix.external.util.ExternalDataConstants.KEY_RECORD_START;
+ import java.net.URI;
+ import java.net.URISyntaxException;
import java.util.EnumMap;
+ import java.util.List;
import java.util.Map;
+ import java.util.Optional;
import org.apache.asterix.common.exceptions.AsterixException;
+ 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.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;