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