You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by im...@apache.org on 2020/08/07 19:50:47 UTC

[asterixdb] 03/05: Merge branch 'master' into release-0.9.5-rc0-manual

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

imaxon pushed a commit to branch release-0.9.5
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit ed3f425c2186e0385e35be7a765fca40b3d1d2de
Merge: 30b08c5 866d4c8
Author: Ian Maxon <ia...@maxons.email>
AuthorDate: Sun Jul 5 20:12:00 2020 -0700

    Merge branch 'master' into release-0.9.5-rc0-manual
    
    Change-Id: I493dfffd77c596bb3485eccb00b417d40f47b642

 .../org/apache/asterix/active/ActiveManager.java   |   2 +-
 .../algebra/extension/ExtensionStatement.java      |   2 +
 .../optimizer/rules/ConstantFoldingRule.java       |  10 +-
 .../optimizer/rules/am/BTreeAccessMethod.java      |   3 +-
 .../asterix/translator/IRequestParameters.java     |   7 +
 .../asterix/translator/IStatementExecutor.java     |  33 ++
 .../translator/LangExpressionToPlanTranslator.java |  12 +-
 .../SqlppExpressionToPlanTranslator.java           |  28 +-
 .../apache/asterix/translator/TypeTranslator.java  |  20 +-
 .../asterix-app/data/json/malformed-json-2.json    |   7 +
 .../data/json/single-line/array_of_objects.json    |   1 +
 .../asterix-app/data/jsonl/malformed-jsonl-1.json  |   4 +
 .../asterix-app/data/jsonl/malformed-jsonl-2.json  |  14 +
 asterixdb/asterix-app/pom.xml                      |   5 -
 .../apache/asterix/api/http/server/ApiServlet.java |   2 +-
 .../asterix/api/http/server/BasicAuthServlet.java  |  18 +-
 .../api/http/server/NCQueryServiceServlet.java     |  27 +-
 .../http/server/QueryServiceRequestParameters.java |  10 +
 .../api/http/server/QueryServiceServlet.java       | 106 ++--
 .../api/http/server/RebalanceApiServlet.java       |   3 +-
 .../asterix/api/http/server/UdfApiServlet.java     | 458 +++++++++--------
 .../apache/asterix/api/java/AsterixJavaClient.java |   4 +-
 .../apache/asterix/app/active/RecoveryTask.java    |   6 +-
 .../asterix/app/external/ExternalLibraryUtil.java  | 140 ++++++
 .../asterix/app/external/ExternalLibraryUtils.java |  55 ---
 .../asterix/app/message/AbstractUdfMessage.java    |  66 ---
 .../message/ExecuteStatementRequestMessage.java    |   7 +-
 .../message/ExecuteStatementResponseMessage.java   |  10 +
 .../apache/asterix/app/message/LoadUdfMessage.java |  41 --
 .../asterix/app/message/UdfResponseMessage.java    |  70 ---
 .../apache/asterix/app/nc/NCAppRuntimeContext.java |  25 +-
 .../app/nc/task/ExternalLibrarySetupTask.java      |  50 --
 .../app/replication/NcLifecycleCoordinator.java    |   2 -
 .../asterix/app/translator/QueryTranslator.java    | 540 ++++++++++++++-------
 .../asterix/app/translator/RequestParameters.java  |  27 +-
 .../asterix/hyracks/bootstrap/CCApplication.java   |  24 +-
 .../org/apache/asterix/utils/FeedOperations.java   |   5 +-
 .../api/common/AsterixHyracksIntegrationUtil.java  |   9 +-
 .../http/servlet/QueryCancellationServletTest.java |   8 +-
 .../asterix/test/common/ResultExtractor.java       |   4 +-
 .../apache/asterix/test/common/TestExecutor.java   |  79 ++-
 .../aws/AwsS3ExternalDatasetOnePartitionTest.java  |   6 +-
 .../aws/AwsS3ExternalDatasetTest.java              | 172 +++++--
 .../asterix/test/runtime/ExecutionTestUtil.java    |  20 +-
 .../test/runtime/SqlppRQGGroupingSetsIT.java       |   7 +-
 .../agg_filter_01/agg_filter_01.3.sqlpp}           |  70 ++-
 .../agg_filter_01/agg_filter_01.4.sqlpp}           |  72 ++-
 .../agg_filter_01/agg_filter_01.5.sqlpp}           |  72 ++-
 .../agg_filter_01/agg_filter_01.6.sqlpp            |  58 +++
 .../agg_filter_01/agg_filter_01.7.sqlpp            |  58 +++
 .../agg_filter_01/agg_filter_01.8.sqlpp}           |  71 ++-
 .../btree-composite-key-non-enforced-04.sqlpp}     |  24 +-
 .../agg_filter_01/agg_filter_01.3.plan             |  34 ++
 .../agg_filter_01/agg_filter_01.4.plan             |  38 ++
 .../agg_filter_01/agg_filter_01.5.plan             |  94 ++++
 .../agg_filter_01/agg_filter_01.6.plan             |  26 +
 .../agg_filter_01/agg_filter_01.7.plan             |  44 ++
 .../agg_filter_01/agg_filter_01.8.plan             |  28 ++
 .../btree-composite-key-non-enforced-04.plan       |  17 +
 .../agg_filter_01/agg_filter_01.1.ddl.sqlpp}       |  39 +-
 .../agg_filter_01/agg_filter_01.2.update.sqlpp}    |   4 +-
 .../agg_filter_01/agg_filter_01.3.query.sqlpp}     |  11 +-
 .../agg_filter_01/agg_filter_01.4.query.sqlpp}     |  13 +-
 .../agg_filter_01/agg_filter_01.5.query.sqlpp}     |  13 +-
 .../agg_filter_01/agg_filter_01.6.query.sqlpp}     |  29 +-
 .../agg_filter_01/agg_filter_01.7.query.sqlpp}     |  29 +-
 .../agg_filter_01/agg_filter_01.8.query.sqlpp}     |  12 +-
 .../agg_filter_02.neg.5.query.sqlpp}               |   9 +-
 .../agg_filter_02_neg.1.query.sqlpp}               |   7 +-
 .../agg_filter_02_neg.2.query.sqlpp}               |   7 +-
 .../agg_filter_02_neg.3.query.sqlpp}               |   8 +-
 .../agg_filter_02_neg.4.query.sqlpp}               |   9 +-
 .../bad-type-ddl/bad-type-ddl.1.ddl.sqlpp}         |  13 +-
 .../create-dataset-inline-type-2.5.ddl.sqlpp}      |  10 +-
 .../test.000.ddl.sqlpp}                            |   4 +-
 .../test.099.ddl.sqlpp}                            |   0
 .../test.000.ddl.sqlpp}                            |   4 +-
 .../test.001.query.sqlpp}                          |   4 +-
 .../test.099.ddl.sqlpp}                            |   0
 .../external_dataset.000.ddl.sqlpp                 |   2 +-
 .../bad-name-1/test.000.ddl.sqlpp}                 |   8 +-
 .../bad-name-1/test.099.ddl.sqlpp}                 |   0
 .../bad-name-2/test.000.ddl.sqlpp}                 |   8 +-
 .../bad-name-2/test.099.ddl.sqlpp}                 |   0
 .../bad-name-3/test.000.ddl.sqlpp}                 |   8 +-
 .../bad-name-3/test.099.ddl.sqlpp}                 |   0
 .../both/test.000.ddl.sqlpp}                       |   8 +-
 .../both/test.099.ddl.sqlpp}                       |   0
 .../exclude-1/test.000.ddl.sqlpp}                  |   7 +-
 .../exclude-1/test.001.query.sqlpp}                |   3 +-
 .../exclude-1/test.099.ddl.sqlpp}                  |   0
 .../exclude-2/test.000.ddl.sqlpp}                  |   9 +-
 .../exclude-2/test.001.query.sqlpp}                |   3 +-
 .../exclude-2/test.099.ddl.sqlpp}                  |   0
 .../exclude-3/test.000.ddl.sqlpp}                  |   8 +-
 .../exclude-3/test.001.query.sqlpp}                |   3 +-
 .../exclude-3/test.099.ddl.sqlpp}                  |   0
 .../exclude-4/test.000.ddl.sqlpp}                  |   8 +-
 .../exclude-4/test.001.query.sqlpp}                |   3 +-
 .../exclude-4/test.099.ddl.sqlpp}                  |   0
 .../exclude-5/test.000.ddl.sqlpp}                  |   8 +-
 .../exclude-5/test.001.query.sqlpp}                |   3 +-
 .../exclude-5/test.099.ddl.sqlpp}                  |   0
 .../exclude-6/test.000.ddl.sqlpp}                  |   7 +-
 .../exclude-6/test.001.query.sqlpp}                |   3 +-
 .../exclude-6/test.099.ddl.sqlpp}                  |   0
 .../exclude-all/test.000.ddl.sqlpp}                |   7 +-
 .../exclude-all/test.001.query.sqlpp}              |   3 +-
 .../exclude-all/test.099.ddl.sqlpp}                |   0
 .../include-1/test.000.ddl.sqlpp}                  |   7 +-
 .../include-1/test.001.query.sqlpp}                |   3 +-
 .../include-1/test.099.ddl.sqlpp}                  |   0
 .../include-10/test.000.ddl.sqlpp}                 |   8 +-
 .../include-10/test.001.query.sqlpp}               |   3 +-
 .../include-10/test.099.ddl.sqlpp}                 |   0
 .../include-2/test.000.ddl.sqlpp}                  |   7 +-
 .../include-2/test.001.query.sqlpp}                |   3 +-
 .../include-2/test.002.query.sqlpp}                |   3 +-
 .../include-2/test.099.ddl.sqlpp}                  |   0
 .../include-3/test.000.ddl.sqlpp}                  |  10 +-
 .../include-3/test.001.query.sqlpp}                |   3 +-
 .../include-3/test.099.ddl.sqlpp}                  |   0
 .../include-4/test.000.ddl.sqlpp}                  |  10 +-
 .../include-4/test.001.query.sqlpp}                |   3 +-
 .../include-4/test.099.ddl.sqlpp}                  |   0
 .../include-5/test.000.ddl.sqlpp}                  |   7 +-
 .../include-5/test.001.query.sqlpp}                |   3 +-
 .../include-5/test.099.ddl.sqlpp}                  |   0
 .../include-6/test.000.ddl.sqlpp}                  |   7 +-
 .../include-6/test.001.query.sqlpp}                |   3 +-
 .../include-6/test.099.ddl.sqlpp}                  |   0
 .../include-7/test.000.ddl.sqlpp}                  |   8 +-
 .../include-7/test.001.query.sqlpp}                |   3 +-
 .../include-7/test.099.ddl.sqlpp}                  |   0
 .../include-8/test.000.ddl.sqlpp}                  |   8 +-
 .../include-8/test.001.query.sqlpp}                |   3 +-
 .../include-8/test.099.ddl.sqlpp}                  |   0
 .../include-9/test.000.ddl.sqlpp}                  |   8 +-
 .../include-9/test.001.query.sqlpp}                |   3 +-
 .../include-9/test.099.ddl.sqlpp}                  |   0
 .../include-all/test.000.ddl.sqlpp}                |   7 +-
 .../include-all/test.001.query.sqlpp}              |   3 +-
 .../include-all/test.099.ddl.sqlpp}                |   0
 .../test.000.ddl.sqlpp}                            |   6 +-
 .../test.099.ddl.sqlpp}                            |   0
 .../s3/json/json/external_dataset.000.ddl.sqlpp    |  11 +
 .../s3/json/json/external_dataset.007.query.sqlpp} |   4 +-
 ...07.ddl.sqlpp => external_dataset.099.ddl.sqlpp} |   0
 .../malformed-json.000.s3bucket.sqlpp}             |   4 +-
 .../malformed-json.001.ddl.sqlpp}                  |  19 +-
 .../malformed-json.002.query.sqlpp}                |   3 +-
 .../malformed-json.003.s3bucket.sqlpp}             |   4 +-
 .../malformed-json.004.query.sqlpp}                |   3 +-
 .../malformed-json.005.s3bucket.sqlpp}             |   4 +-
 .../malformed-json.006.query.sqlpp}                |   3 +-
 .../malformed-json.007.s3bucket.sqlpp}             |   4 +-
 .../malformed-json.008.query.sqlpp}                |   3 +-
 .../malformed-json.009.s3bucket.sqlpp}             |   4 +-
 .../malformed-json.010.query.sqlpp}                |   3 +-
 .../malformed-json.099.ddl.sqlpp}                  |   2 +-
 .../test.000.ddl.sqlpp}                            |   8 +-
 .../test.001.query.sqlpp}                          |   4 +-
 .../test.099.ddl.sqlpp}                            |   0
 .../exclude-all-files/test.000.ddl.sqlpp}          |   8 +-
 .../exclude-all-files/test.001.query.sqlpp}        |   4 +-
 .../exclude-all-files/test.099.ddl.sqlpp}          |   0
 .../include-no-files/test.000.ddl.sqlpp}           |   8 +-
 .../include-no-files/test.001.query.sqlpp}         |   4 +-
 .../include-no-files/test.099.ddl.sqlpp}           |   0
 .../udf_metadata/udf_metadata.0.ddl.sqlpp          |  13 +-
 .../udf_metadata/udf_metadata.1.lib.sqlpp          |   1 +
 .../udf_metadata/udf_metadata.2.ddl.sqlpp          |  14 +-
 .../udf_metadata/udf_metadata.3.query.sqlpp        |   4 +-
 .../udf_metadata/udf_metadata.4.ddl.sqlpp          |   1 +
 .../feed-with-external-adapter.0.ddl.sqlpp}        |   7 +-
 .../feed-with-external-adapter.1.lib.sqlpp}        |   7 +-
 .../feed-with-external-adapter.2.ddl.sqlpp}        |  32 +-
 .../feed-with-external-adapter.3.update.sqlpp}     |  11 +-
 .../feed-with-external-adapter.4.query.sqlpp}      |  10 +-
 .../case_09/case_09.1.query.sqlpp}                 |   2 +-
 .../btree-index-composite-key-04.1.ddl.sqlpp}      |  11 +-
 .../btree-index-composite-key-04.2.update.sqlpp}   |  17 +-
 .../btree-index-composite-key-04.3.query.sqlpp}    |   6 +-
 .../all_datasets/all_datasets.10.post.http         |   2 +-
 .../all_datasets/all_datasets.4.post.http          |   2 +-
 .../all_datasets_compressed.10.post.http           |   2 +-
 .../all_datasets_compressed.4.post.http            |   2 +-
 .../duplicate_location.3.post.http                 |   2 +-
 .../empty_location/empty_location.3.post.http      |   2 +-
 .../identical_location.3.post.http                 |   2 +-
 .../rebalance/metadata/metadata.1.post.http        |   2 +-
 .../miss_dataverse/miss_dataverse.3.post.http      |   2 +-
 .../nonexist_dataset/nonexist_dataset.1.post.http  |   2 +-
 .../single_dataset/single_dataset.4.post.http      |   2 +-
 .../single_dataset/single_dataset.8.post.http      |   2 +-
 .../single_dataset_compressed.4.post.http          |   2 +-
 .../single_dataset_compressed.8.post.http          |   2 +-
 .../single_dataset_with_index.4.post.http          |   2 +-
 .../single_dataset_with_index.9.post.http          |   2 +-
 ...ingle_dataset_with_index_compressed.4.post.http |   2 +-
 ...ingle_dataset_with_index_compressed.9.post.http |   2 +-
 .../single_dataverse/single_dataverse.10.post.http |   2 +-
 .../single_dataverse/single_dataverse.4.post.http  |   2 +-
 .../single_dataverse_compressed.10.post.http       |   2 +-
 .../single_dataverse_compressed.4.post.http        |   2 +-
 .../range_hint/range_hint.1.ddl.sqlpp}             |  24 +-
 .../range_hint/range_hint.10.query.sqlpp}          |   6 +-
 .../sorting/range_hint/range_hint.2.update.sqlpp   |  39 ++
 .../range_hint/range_hint.3.query.sqlpp}           |   6 +-
 .../range_hint/range_hint.4.query.sqlpp}           |   6 +-
 .../range_hint/range_hint.5.query.sqlpp}           |   6 +-
 .../range_hint/range_hint.6.query.sqlpp}           |   6 +-
 .../range_hint/range_hint.7.query.sqlpp}           |   6 +-
 .../range_hint/range_hint.8.query.sqlpp}           |   6 +-
 .../range_hint/range_hint.9.query.sqlpp}           |   6 +-
 .../ASTERIXDB-2750_unnest_join.1.query.sqlpp}      |   6 +-
 .../ASTERIXDB-2750_unnest_join.2.query.sqlpp}      |   7 +-
 .../bad-function-ddl-11.1.ddl.sqlpp}               |  13 +-
 .../bad-function-ddl-11.2.ddl.sqlpp}               |  13 +-
 .../udf32_metadata/udf32_metadata.1.ddl.sqlpp      |  35 +-
 .../agg_filter_01/agg_filter_01.3.adm              |   1 +
 .../agg_filter_01/agg_filter_01.4.adm              |   2 +
 .../agg_filter_01/agg_filter_01.5.adm              |   3 +
 .../agg_filter_01/agg_filter_01.6.adm              |  10 +
 .../agg_filter_01/agg_filter_01.7.adm              |  20 +
 .../agg_filter_01/agg_filter_01.8.adm              |   2 +
 .../s3/definition-does-not-exist/result.001.adm    |   1 +
 .../s3/include-exclude/exclude-1/result.001.adm    |   1 +
 .../s3/include-exclude/exclude-2/result.001.adm    |   1 +
 .../s3/include-exclude/exclude-3/result.001.adm    |   1 +
 .../s3/include-exclude/exclude-4/result.001.adm    |   1 +
 .../s3/include-exclude/exclude-5/result.001.adm    |   1 +
 .../s3/include-exclude/exclude-6/result.001.adm    |   1 +
 .../s3/include-exclude/exclude-all/result.001.adm  |   1 +
 .../s3/include-exclude/include-1/result.001.adm    |   1 +
 .../s3/include-exclude/include-2/result.001.adm    |   1 +
 .../s3/include-exclude/include-2/result.002.adm    |   4 +
 .../s3/include-exclude/include-3/result.001.adm    |   1 +
 .../s3/include-exclude/include-4/result.001.adm    |   1 +
 .../s3/include-exclude/include-5/result.001.adm    |   1 +
 .../s3/include-exclude/include-6/result.001.adm    |   1 +
 .../s3/include-exclude/include-7/result.001.adm    |   1 +
 .../s3/include-exclude/include-8/result.001.adm    |   1 +
 .../s3/include-exclude/include-9/result.001.adm    |   1 +
 .../aws/s3/json/json/external_dataset.007.adm      |   1 +
 .../definition-points-to-nothing/result.001.adm    |   1 +
 .../exclude-all-files/result.001.adm               |   1 +
 .../include-no-files/result.001.adm                |   1 +
 .../deterministic/deterministic.4.adm              |   2 +-
 .../udf_metadata/udf_metadata.3.adm                |  39 +-
 .../feed-with-external-adapter.4.adm               |   4 +
 .../runtimets/results/misc/case_09/case_09.1.adm   |   1 +
 .../btree-index-composite-key-04.3.adm             |   1 +
 .../results/sorting/range_hint/range_hint.10.adm   |   9 +
 .../results/sorting/range_hint/range_hint.3.adm    |   9 +
 .../results/sorting/range_hint/range_hint.4.adm    |   9 +
 .../results/sorting/range_hint/range_hint.5.adm    |   9 +
 .../results/sorting/range_hint/range_hint.6.adm    |   9 +
 .../results/sorting/range_hint/range_hint.7.adm    |   9 +
 .../results/sorting/range_hint/range_hint.8.adm    |   9 +
 .../results/sorting/range_hint/range_hint.9.adm    |   9 +
 .../ASTERIXDB-2750_unnest_join.1.adm               |   1 +
 .../ASTERIXDB-2750_unnest_join.2.adm               |   1 +
 .../udf32_metadata/udf32_metadata.2.adm            |  22 +-
 .../agg_filter_01/agg_filter_1.01.ast              |  22 +
 .../agg_filter_01/agg_filter_1.02.ast              |   1 +
 .../agg_filter_01/agg_filter_1.03.ast              |  67 +++
 .../agg_filter_01/agg_filter_1.04.ast              |  79 +++
 .../agg_filter_01/agg_filter_1.05.ast              |  83 ++++
 .../agg_filter_01/agg_filter_1.06.ast              | 102 ++++
 .../agg_filter_01/agg_filter_1.07.ast              | 145 ++++++
 .../agg_filter_01/agg_filter_1.08.ast              |  83 ++++
 .../runtimets/testsuite_external_dataset.xml       | 163 +++++++
 .../resources/runtimets/testsuite_it_sqlpp.xml     |   7 +-
 .../test/resources/runtimets/testsuite_sqlpp.xml   |  77 ++-
 .../resources/runtimets/testsuite_sqlpp_parser.xml |   7 +
 .../asterix/common/api/IApplicationContext.java    |   6 -
 .../asterix/common/api/INcApplicationContext.java  |   6 +
 .../asterix/common/api/IRequestReference.java      |  14 +
 .../asterix/common/config/StorageProperties.java   |   9 +
 .../common/context/GlobalVirtualBufferCache.java   | 206 ++++----
 .../asterix/common/exceptions/ErrorCode.java       |  22 +-
 .../common/exceptions/NoOpWarningCollector.java}   |  29 +-
 .../asterix/common/external/IAdapterFactory.java   |   8 +-
 .../apache/asterix/common/library/ILibrary.java    |   3 +-
 .../asterix/common/library/ILibraryManager.java    |  17 +-
 .../asterix/common/library/LibraryDescriptor.java  |  21 +-
 .../src/main/resources/asx_errormsg/en.properties  |  22 +-
 .../asterix-doc/src/main/markdown/sqlpp/3_query.md |  19 +-
 asterixdb/asterix-external-data/pom.xml            |  12 +-
 .../adapter/factory/ExternalAdapterFactory.java    | 138 ++++++
 .../adapter/factory/GenericAdapterFactory.java     |  46 +-
 .../adapter/factory/LookupAdapterFactory.java      |  18 +-
 .../external/api/IExternalDataSourceFactory.java   |   3 +-
 .../dataflow/AbstractFeedDataFlowController.java   |   4 +-
 .../external/input/HDFSDataSourceFactory.java      |   4 +-
 .../input/record/reader/aws/AwsS3InputStream.java  |  71 ++-
 .../record/reader/aws/AwsS3InputStreamFactory.java | 222 ++++-----
 .../record/reader/aws/AwsS3ReaderFactory.java      |   5 +-
 .../reader/hdfs/HDFSLookupReaderFactory.java       |   4 +-
 .../reader/http/HttpServerRecordReaderFactory.java |   4 +-
 .../record/reader/rss/RSSRecordReaderFactory.java  |   4 +-
 .../reader/stream/SemiStructuredRecordReader.java  |  19 +-
 .../reader/stream/StreamRecordReaderFactory.java   |   7 +-
 .../reader/twitter/TwitterRecordReaderFactory.java |   4 +-
 .../external/input/stream/LocalFSInputStream.java  |  55 ++-
 .../stream/factory/LocalFSInputStreamFactory.java  |   4 +-
 .../factory/SocketClientInputStreamFactory.java    |   4 +-
 .../factory/SocketServerInputStreamFactory.java    |   4 +-
 .../factory/TwitterFirehoseStreamFactory.java      |   4 +-
 .../external/library/ExternalLibraryManager.java   | 280 +++++++++--
 .../library/ExternalScalarFunctionEvaluator.java   |   4 +-
 .../asterix/external/library/JavaLibrary.java      |  13 +-
 .../asterix/external/library/PythonLibrary.java    |   4 +-
 .../AbstractLibraryOperatorDescriptor.java         | 154 ++++++
 .../operators/FeedIntakeOperatorDescriptor.java    |  20 +-
 .../LibraryDeployAbortOperatorDescriptor.java      |  71 +++
 .../LibraryDeployCommitOperatorDescriptor.java     |  65 +++
 .../LibraryDeployPrepareOperatorDescriptor.java    | 337 +++++++++++++
 .../LibraryUndeployOperatorDescriptor.java         |  67 +++
 .../external/parser/AbstractDataParser.java        |  27 +-
 .../asterix/external/parser/JSONDataParser.java    |  47 +-
 .../external/provider/AdapterFactoryProvider.java  |  23 +-
 .../provider/DatasourceFactoryProvider.java        |  29 +-
 .../provider/LookupReaderFactoryProvider.java      |   5 +-
 .../external/provider/ParserFactoryProvider.java   |  10 +-
 .../external/util/ExternalDataConstants.java       |   9 +-
 .../asterix/external/util/ExternalDataUtils.java   | 312 +++++++++++-
 .../apache/asterix/external/util/ParseUtil.java    |   5 +-
 .../reader/RecordWithPKTestReaderFactory.java      |   4 +-
 .../record/reader/kv/KVTestReaderFactory.java      |   4 +-
 .../library/adapter/TestTypedAdapterFactory.java   |  20 +-
 .../factory/TestRecordWithPKParserFactory.java     |   3 +-
 .../visitor/AqlBuiltinFunctionRewriteVisitor.java  |   4 +-
 .../base/AbstractAqlSimpleExpressionVisitor.java   |   3 +
 asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj  |   6 +-
 .../apache/asterix/lang/common/base/Statement.java |   2 +
 .../asterix/lang/common/expression/CallExpr.java   |  23 +-
 .../asterix/lang/common/parser/FunctionParser.java |   2 +-
 .../common/statement/CreateFunctionStatement.java  |  39 +-
 .../common/statement/CreateLibraryStatement.java   |  87 ++++
 .../common/statement/LibraryDropStatement.java}    |  47 +-
 .../asterix/lang/common/util/FunctionUtil.java     |  60 ++-
 .../asterix/lang/common/util/RangeMapBuilder.java  |  63 ++-
 .../common/visitor/AbstractInlineUdfsVisitor.java  |  18 +-
 .../CloneAndSubstituteVariablesVisitor.java        |  17 +-
 .../lang/common/visitor/FormatPrintVisitor.java    |  24 +-
 .../common/visitor/GatherFunctionCallsVisitor.java |  13 +-
 .../lang/common/visitor/QueryPrintVisitor.java     |  18 +-
 .../base/AbstractQueryExpressionVisitor.java       |  12 +
 .../lang/common/visitor/base/ILangVisitor.java     |   6 +
 .../lang/sqlpp/expression/WindowExpression.java    |  28 +-
 .../lang/sqlpp/rewrites/SqlppQueryRewriter.java    |   3 +
 .../AbstractSqlppExpressionExtractionVisitor.java  |  32 --
 .../visitor/Sql92AggregateFunctionVisitor.java     | 121 +++--
 .../rewrites/visitor/SqlppCaseRewriteVisitor.java  |  10 +-
 .../rewrites/visitor/SqlppGroupingSetsVisitor.java |   4 +
 .../rewrites/visitor/SqlppInlineUdfsVisitor.java   |   5 +
 .../SqlppListInputFunctionRewriteVisitor.java      |   4 +-
 .../SqlppWindowAggregationSugarVisitor.java        |  34 +-
 .../visitor/SqlppWindowRewriteVisitor.java         |  75 +--
 .../visitor/VariableCheckAndRewriteVisitor.java    |  12 +-
 .../asterix/lang/sqlpp/util/FunctionMapUtil.java   |   6 +-
 .../sqlpp/visitor/CheckSql92AggregateVisitor.java  |   4 +
 .../lang/sqlpp/visitor/CheckSubqueryVisitor.java   |   4 +-
 .../lang/sqlpp/visitor/DeepCopyVisitor.java        |  15 +-
 .../lang/sqlpp/visitor/FreeVariableVisitor.java    |   6 +
 .../lang/sqlpp/visitor/SqlppAstPrintVisitor.java   |  21 +-
 .../SqlppCloneAndSubstituteVariablesVisitor.java   |  10 +-
 .../sqlpp/visitor/SqlppFormatPrintVisitor.java     |  43 +-
 .../AbstractSqlppContainsExpressionVisitor.java    |   4 +-
 .../AbstractSqlppExpressionScopingVisitor.java     |  10 +-
 .../base/AbstractSqlppSimpleExpressionVisitor.java |  10 +-
 .../asterix-lang-sqlpp/src/main/javacc/SQLPP.jj    | 218 +++++----
 .../apache/asterix/metadata/MetadataManager.java   |  22 +-
 .../org/apache/asterix/metadata/MetadataNode.java  | 210 +++++---
 .../metadata/MetadataTransactionContext.java       |   2 +-
 .../asterix/metadata/api/IMetadataManager.java     |  10 +
 .../apache/asterix/metadata/api/IMetadataNode.java |  11 +
 .../metadata/bootstrap/MetadataBootstrap.java      |  20 +
 .../metadata/bootstrap/MetadataRecordTypes.java    |   6 +-
 .../metadata/declared/DatasetDataSource.java       |   5 +-
 .../declared/FunctionDataSourceFactory.java        |   3 +-
 .../metadata/declared/LoadableDataSource.java      |   2 +-
 .../metadata/declared/MetadataProvider.java        |  21 +-
 .../asterix/metadata/entities/BuiltinTypeMap.java  |   5 +-
 .../metadata/entities/DatasourceAdapter.java       |  17 +-
 .../apache/asterix/metadata/entities/Function.java |  39 +-
 .../apache/asterix/metadata/entities/Library.java  |  14 +-
 .../DatasourceAdapterTupleTranslator.java          |  30 +-
 .../FunctionTupleTranslator.java                   | 145 +++---
 .../LibraryTupleTranslator.java                    |  50 +-
 .../asterix/metadata/feeds/FeedMetadataUtil.java   |  52 +-
 .../functions/ExternalFunctionCompilerUtil.java    |  50 +-
 .../metadata/functions/ExternalTypeComputer.java   |  19 +-
 .../apache/asterix/metadata/utils/DatasetUtil.java |  10 -
 .../metadata/utils/ExternalIndexingOperations.java |   3 +-
 .../apache/asterix/metadata/utils/TypeUtil.java    |  37 ++
 .../ExternalFunctionCompilerUtilTest.java          |  52 --
 .../om/base/temporal/ADateParserFactory.java       |  44 +-
 .../om/base/temporal/ADateTimeParserFactory.java   |  79 ++-
 .../org/apache/asterix/om/types/TypeSignature.java |  15 +-
 .../evaluators/functions/SwitchCaseDescriptor.java |   2 +-
 .../runtime/utils/CcApplicationContext.java        |  16 +-
 asterixdb/pom.xml                                  |  11 +-
 .../api/HeuristicCompilerFactoryBuilder.java       |   2 +-
 .../algebra/operators/logical/LimitOperator.java   |   2 +-
 .../algebricks/core/jobgen/impl/JobGenContext.java |  10 +-
 .../rewriter/rules/CopyLimitDownRule.java          |   3 +-
 .../PushMapOperatorDownThroughProductRule.java     |   4 +-
 .../rewriter/rules/PushProjectDownRule.java        |   4 +-
 .../rules/RemoveUnnecessarySortMergeExchange.java  |   3 +-
 .../client/HyracksClientInterfaceFunctions.java    |   8 +-
 .../api/client/IHyracksClientConnection.java       |   9 +-
 .../api/client/IHyracksClientInterface.java        |   3 +-
 .../hyracks/api/exceptions/HyracksException.java   |   2 +-
 .../hyracks/api/exceptions/SourceLocation.java     |  18 +-
 .../org/apache/hyracks/api/exceptions/Warning.java |   3 +-
 .../java/org/apache/hyracks/api/io/IIOManager.java |   5 +
 .../org/apache/hyracks/api/messages/IMessage.java  |   4 +-
 .../java/org/apache/hyracks/api/util/IoUtil.java   |  20 +
 .../hyracks/control/cc/ClientInterfaceIPCI.java    |   2 +-
 .../cc/web/ApplicationInstallationHandler.java     |   6 +-
 .../control/cc/work/CliDeployBinaryWork.java       |   8 +-
 .../control/common/base/INodeController.java       |   2 +-
 .../control/common/context/ServerContext.java      |   4 +-
 .../control/common/deployment/DeploymentUtils.java |  92 +---
 .../hyracks/control/common/ipc/CCNCFunctions.java  |   9 +-
 .../common/ipc/NodeControllerRemoteProxy.java      |   5 +-
 .../hyracks/control/nc/NodeControllerIPCI.java     |   4 +-
 .../hyracks/control/nc/NodeControllerService.java  |   4 +-
 .../apache/hyracks/control/nc/io/FileHandle.java   |   6 +-
 .../apache/hyracks/control/nc/io/IOManager.java    |  51 +-
 .../hyracks/control/nc/work/DeployBinaryWork.java  |  13 +-
 .../file/FieldCursorForDelimitedDataParser.java    |   4 +-
 .../java/org/apache/hyracks/http/api/IServlet.java |   7 +
 .../hyracks/http/server/AbstractServlet.java       |   2 +-
 .../org/apache/hyracks/http/server/HttpServer.java |  10 +-
 .../apache/hyracks/http/server/utils/HttpUtil.java |  19 +-
 .../impl/HyracksClientInterfaceRemoteProxy.java    |   6 +-
 .../apache/hyracks/ipc/impl/HyracksConnection.java |   7 +-
 .../storage/am/lsm/common/api/ILSMComponent.java   |   4 +-
 .../storage/am/lsm/common/api/ILSMIndex.java       |   4 +
 .../am/lsm/common/api/ILSMMemoryComponent.java     |  10 +-
 .../lsm/common/impls/AbstractLSMDiskComponent.java |   3 +-
 .../am/lsm/common/impls/AbstractLSMIndex.java      |  21 +-
 .../common/impls/AbstractLSMMemoryComponent.java   |  26 +-
 .../impls/AbstractLSMWithBuddyMemoryComponent.java |   4 +-
 .../am/lsm/common/impls/EmptyComponent.java        |   2 +-
 .../storage/am/lsm/common/impls/LSMHarness.java    |  57 ++-
 hyracks-fullstack/hyracks/hyracks-util/pom.xml     |   4 +
 .../java/org/apache/hyracks/util/ExitUtil.java     |  23 +-
 .../java/org/apache/hyracks/util/IRetryPolicy.java |   2 +-
 .../java/org/apache/hyracks/util/NetworkUtil.java  |  32 +-
 .../org/apache/hyracks/util/ThrowingConsumer.java  |  19 +
 ...ThrowingConsumer.java => ThrowingFunction.java} |   4 +-
 ...{IRetryPolicy.java => ThrowingIntConsumer.java} |  28 +-
 ...ThrowingConsumer.java => ThrowingSupplier.java} |   4 +-
 hyracks-fullstack/pom.xml                          |  10 +-
 459 files changed, 7184 insertions(+), 2922 deletions(-)