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;

Reply via email to