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