diff --git a/README.md b/README.md index 13d955f2cfd..1cae9fdf8e8 100644 --- a/README.md +++ b/README.md @@ -5,25 +5,25 @@ [![Chat](https://img.shields.io/badge/chat-on%20forums-blue)](https://discuss.opendistrocommunity.dev/c/sql/) ![PRs welcome!](https://img.shields.io/badge/PRs-welcome!-success) -# Open Distro for Elasticsearch SQL +# OpenSearch SQL -Open Distro for Elasticsearch enables you to extract insights out of Elasticsearch using the familiar SQL query syntax. Use aggregations, group by, and where clauses to investigate your data. Read your data as JSON documents or CSV tables so you have the flexibility to use the format that works best for you. +OpenSearch enables you to extract insights out of OpenSearch using the familiar SQL query syntax. Use aggregations, group by, and where clauses to investigate your data. Read your data as JSON documents or CSV tables so you have the flexibility to use the format that works best for you. ## SQL Related Projects -The following projects have been merged into this repository as separate folders as of July 9, 2020. Please refer to links below for details. This document will focus on the SQL plugin for Elasticsearch. +The following projects have been merged into this repository as separate folders as of July 9, 2020. Please refer to links below for details. This document will focus on the SQL plugin for OpenSearch. -* [SQL CLI](https://github.com/opendistro-for-elasticsearch/sql/tree/master/sql-cli) -* [SQL JDBC](https://github.com/opendistro-for-elasticsearch/sql/tree/master/sql-jdbc) -* [SQL ODBC](https://github.com/opendistro-for-elasticsearch/sql/tree/master/sql-odbc) -* [Query Workbench](https://github.com/opendistro-for-elasticsearch/sql/tree/master/workbench) +* [SQL CLI](https://github.com/opensearch-project/sql/tree/main/sql-cli) +* [SQL JDBC](https://github.com/opensearch-project/sql/tree/main/sql-jdbc) +* [SQL ODBC](https://github.com/opensearch-project/sql/tree/main/sql-odbc) +* [Query Workbench](https://github.com/opensearch-project/sql/tree/main/workbench) ## Documentation -Please refer to the [SQL Language Reference Manual](./docs/user/index.rst), [Piped Processing Language (PPL) Reference Manual](./docs/experiment/ppl/index.rst) and [Technical Documentation](https://opendistro.github.io/for-elasticsearch-docs) for detailed information on installing and configuring opendistro-elasticsearch-sql plugin. Looking to contribute? Read the instructions on [Development Guide](./docs/developing.rst) and then submit a patch! +Please refer to the [SQL Language Reference Manual](./docs/user/index.rst), [Piped Processing Language (PPL) Reference Manual](./docs/experiment/ppl/index.rst) and [Technical Documentation](https://opendistro.github.io/for-elasticsearch-docs) for detailed information on installing and configuring plugin. Looking to contribute? Read the instructions on [Development Guide](./docs/developing.rst) and then submit a patch! ## SQL Engine V2 @@ -33,9 +33,9 @@ Recently we have been actively improving our query engine primarily for better c ## Setup -Install as plugin: build plugin from source code by following the instruction in Build section and install it to your Elasticsearch. +Install as plugin: build plugin from source code by following the instruction in Build section and install it to your OpenSearch. -After doing this, you need to restart the Elasticsearch server. Otherwise you may get errors like `Invalid index name [sql], must not start with '']; ","status":400}`. +After doing this, you need to restart the OpenSearch server. Otherwise you may get errors like `Invalid index name [sql], must not start with '']; ","status":400}`. ## Build @@ -60,7 +60,7 @@ POST https://:/_opendistro/_sql } ``` -* Explain SQL to elasticsearch query DSL +* Explain SQL to OpenSearch query DSL ``` POST _opendistro/_sql/_explain { @@ -68,7 +68,7 @@ POST _opendistro/_sql/_explain } ``` -* For a sample curl command with the Open Distro for Elasticsearch Security plugin, try: +* For a sample curl command with the OpenSearch Security plugin, try: ``` curl -XPOST https://localhost:9200/_opendistro/_sql -u admin:admin -k -d '{"query": "SELECT * FROM my-index LIMIT 10"}' -H 'Content-Type: application/json' ``` @@ -137,7 +137,7 @@ curl -XPOST https://localhost:9200/_opendistro/_sql -u admin:admin -k -d '{"quer SELECT online FROM online GROUP BY date_range(field='insert_time','format'='yyyy-MM-dd' ,'2014-08-18','2014-08-17','now-8d','now-7d','now-6d','now') -* ES Geographic +* OpenSearch Geographic SELECT * FROM locations WHERE GEO_BOUNDING_BOX(fieldname,100.0,1.0,101,0.0) @@ -166,7 +166,7 @@ curl -XPOST https://localhost:9200/_opendistro/_sql -u admin:admin -k -d '{"quer * SQL Between * SQL Aliases * SQL Not Null -* SQL(ES) Date +* SQL(OpenSearch) Date * SQL avg() * SQL count() * SQL max() @@ -190,13 +190,13 @@ Please check out JDBC driver repository for more details. ## Beyond sql features -* ES TopHits -* ES MISSING -* ES STATS -* ES GEO_INTERSECTS -* ES GEO_BOUNDING_BOX -* ES GEO_DISTANCE -* ES GEOHASH_GRID aggregation +* OpenSearch TopHits +* OpenSearch MISSING +* OpenSearch STATS +* OpenSearch GEO_INTERSECTS +* OpenSearch GEO_BOUNDING_BOX +* OpenSearch GEO_DISTANCE +* OpenSearch GEOHASH_GRID aggregation ## Attribution @@ -204,7 +204,7 @@ This project is based on the Apache 2.0-licensed [elasticsearch-sql](https://git ## Code of Conduct -This project has adopted an [Open Source Code of Conduct](https://opendistro.github.io/for-elasticsearch/codeofconduct.html). +This project has adopted an [Open Source Code of Conduct](./CODE_OF_CONDUCT.md). ## Security issue notifications diff --git a/build-tools/sqlplugin-coverage.gradle b/build-tools/sqlplugin-coverage.gradle index 5d16e8376f6..efa2b5a71fa 100644 --- a/build-tools/sqlplugin-coverage.gradle +++ b/build-tools/sqlplugin-coverage.gradle @@ -13,11 +13,11 @@ * permissions and limitations under the License. */ /** - * ES Plugin build tools don't work with the Gradle Jacoco Plugin to report coverage out of the box. + * OpenSearch Plugin build tools don't work with the Gradle Jacoco Plugin to report coverage out of the box. * https://github.com/elastic/elasticsearch/issues/28867. * - * This code sets up coverage reporting manually for ES plugin tests. This is complicated because: - * 1. The ES integTest Task doesn't implement Gradle's JavaForkOptions so we have to manually start the jacoco agent with the test JVM + * This code sets up coverage reporting manually for OpenSearch plugin tests. This is complicated because: + * 1. The OpenSearch integTest Task doesn't implement Gradle's JavaForkOptions so we have to manually start the jacoco agent with the test JVM * 2. The cluster nodes are stopped using 'kill -9' which means jacoco can't dump it's execution output to a file on VM shutdown * 3. The Java Security Manager prevents JMX from writing execution output to the file. * diff --git a/build.gradle b/build.gradle index 4960147400f..38a0250aec5 100644 --- a/build.gradle +++ b/build.gradle @@ -15,17 +15,23 @@ buildscript { ext { - es_version = "7.10.2" + es_version = "7.10.3-SNAPSHOT" } repositories { mavenCentral() - maven { url "https://plugins.gradle.org/m2/" } + maven { + url = 's3://search-vemsarat/' + credentials(AwsCredentials) { + accessKey = System.env.AWS_ACCESS_KEY_ID ?: findProperty('aws_access_key_id') + secretKey = System.env.AWS_SECRET_ACCESS_KEY ?: findProperty('aws_secret_access_key') + } + } jcenter() } dependencies { - classpath "org.elasticsearch.gradle:build-tools:${es_version}" + classpath "org.opensearch.gradle:build-tools:${es_version}" } } @@ -39,11 +45,11 @@ plugins { // Repository on root level is for dependencies that project code depends on. And this block must be placed after plugins{} repositories { - mavenCentral() // For Elastic Libs that you can use to get started coding until open ES libs are available + mavenCentral() // For Elastic Libs that you can use to get started coding until open OpenSearch libs are available } ext { - opendistroVersion = '1.13.0' + opendistroVersion = '1.15.0' isSnapshot = "true" == System.getProperty("build.snapshot", "true") } @@ -55,6 +61,19 @@ allprojects { } } +subprojects { + repositories { + mavenCentral() + maven { + url = 's3://search-vemsarat/' + credentials(AwsCredentials) { + accessKey = System.env.AWS_ACCESS_KEY_ID ?: findProperty('aws_access_key_id') + secretKey = System.env.AWS_SECRET_ACCESS_KEY ?: findProperty('aws_secret_access_key') + } + } + } +} + // TODO: fix compiler warnings compileJava.options.warnings = false compileJava { diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/analysis/ExpressionAnalyzer.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/analysis/ExpressionAnalyzer.java index 6d123b45a87..9f323316733 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/analysis/ExpressionAnalyzer.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/analysis/ExpressionAnalyzer.java @@ -52,7 +52,6 @@ import com.amazon.opendistroforelasticsearch.sql.expression.function.BuiltinFunctionRepository; import com.amazon.opendistroforelasticsearch.sql.expression.function.FunctionName; import com.amazon.opendistroforelasticsearch.sql.expression.window.aggregation.AggregateWindowFunction; -import com.amazon.opendistroforelasticsearch.sql.expression.window.ranking.RankingWindowFunction; import com.google.common.collect.ImmutableSet; import java.util.ArrayList; import java.util.Arrays; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/expression/Field.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/expression/Field.java index b92b4003cfe..5956c573e1b 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/expression/Field.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/expression/Field.java @@ -19,7 +19,6 @@ import com.google.common.collect.ImmutableList; import java.util.Collections; import java.util.List; -import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.ToString; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/expression/Interval.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/expression/Interval.java index 048faf520cd..636ece477e0 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/expression/Interval.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/expression/Interval.java @@ -16,7 +16,6 @@ package com.amazon.opendistroforelasticsearch.sql.ast.expression; import com.amazon.opendistroforelasticsearch.sql.ast.AbstractNodeVisitor; -import com.google.common.collect.ImmutableList; import java.util.Collections; import java.util.List; import lombok.EqualsAndHashCode; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/tree/Head.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/tree/Head.java index 83a22d38088..7e3e38361ed 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/tree/Head.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/tree/Head.java @@ -16,7 +16,6 @@ package com.amazon.opendistroforelasticsearch.sql.ast.tree; import com.amazon.opendistroforelasticsearch.sql.ast.AbstractNodeVisitor; -import com.amazon.opendistroforelasticsearch.sql.ast.expression.UnresolvedArgument; import com.google.common.collect.ImmutableList; import java.util.List; import lombok.AllArgsConstructor; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/tree/RelationSubquery.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/tree/RelationSubquery.java index c7a224b2e84..ea0da0d377e 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/tree/RelationSubquery.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/ast/tree/RelationSubquery.java @@ -16,10 +16,8 @@ package com.amazon.opendistroforelasticsearch.sql.ast.tree; import com.amazon.opendistroforelasticsearch.sql.ast.AbstractNodeVisitor; -import com.amazon.opendistroforelasticsearch.sql.exception.SemanticCheckException; import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Locale; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.RequiredArgsConstructor; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprBooleanValue.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprBooleanValue.java index dd0e0805fc0..f5183cc59c4 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprBooleanValue.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprBooleanValue.java @@ -18,7 +18,6 @@ import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; import com.google.common.base.Objects; -import lombok.EqualsAndHashCode; /** * Expression Boolean Value. diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprLongValue.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprLongValue.java index 0191376a104..3df35bd4660 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprLongValue.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprLongValue.java @@ -17,7 +17,6 @@ import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.google.common.base.Objects; /** * Expression Long Value. diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprValue.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprValue.java index 0faa3148576..c6b14901127 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprValue.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprValue.java @@ -24,7 +24,6 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.time.ZonedDateTime; import java.time.temporal.TemporalAmount; import java.util.List; import java.util.Map; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprValueUtils.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprValueUtils.java index 976f2de8bbd..6589e74f4f3 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprValueUtils.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprValueUtils.java @@ -17,12 +17,6 @@ import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; import com.amazon.opendistroforelasticsearch.sql.exception.ExpressionEvaluationException; -import com.google.common.annotations.VisibleForTesting; -import java.time.Instant; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.ZonedDateTime; import java.time.temporal.TemporalAmount; import java.util.ArrayList; import java.util.LinkedHashMap; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/AggregatorFunction.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/AggregatorFunction.java index e467c385858..8bbbea6c337 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/AggregatorFunction.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/AggregatorFunction.java @@ -15,8 +15,6 @@ package com.amazon.opendistroforelasticsearch.sql.expression.aggregation; -import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.ARRAY; -import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.BOOLEAN; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.DATE; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.DATETIME; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.DOUBLE; @@ -24,12 +22,10 @@ import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.LONG; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; -import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRUCT; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.TIME; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.TIMESTAMP; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; -import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; import com.amazon.opendistroforelasticsearch.sql.expression.function.BuiltinFunctionName; import com.amazon.opendistroforelasticsearch.sql.expression.function.BuiltinFunctionRepository; import com.amazon.opendistroforelasticsearch.sql.expression.function.FunctionBuilder; @@ -37,13 +33,8 @@ import com.amazon.opendistroforelasticsearch.sql.expression.function.FunctionResolver; import com.amazon.opendistroforelasticsearch.sql.expression.function.FunctionSignature; import com.google.common.collect.ImmutableMap; - -import java.util.ArrayList; import java.util.Collections; -import java.util.Date; -import java.util.List; import java.util.stream.Collectors; - import lombok.experimental.UtilityClass; /** diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/AvgAggregator.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/AvgAggregator.java index 0e1d07c7903..38b2433ca79 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/AvgAggregator.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/AvgAggregator.java @@ -23,7 +23,6 @@ import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.function.BuiltinFunctionName; -import com.amazon.opendistroforelasticsearch.sql.storage.bindingtuple.BindingTuple; import java.util.List; import java.util.Locale; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/CountAggregator.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/CountAggregator.java index 596f3ae0b28..1b13d359d4a 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/CountAggregator.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/CountAggregator.java @@ -23,7 +23,6 @@ import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.CountAggregator.CountState; import com.amazon.opendistroforelasticsearch.sql.expression.function.BuiltinFunctionName; -import com.amazon.opendistroforelasticsearch.sql.storage.bindingtuple.BindingTuple; import java.util.List; import java.util.Locale; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MaxAggregator.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MaxAggregator.java index 4a4fce78961..139fbc43261 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MaxAggregator.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MaxAggregator.java @@ -22,7 +22,6 @@ import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.function.BuiltinFunctionName; -import com.amazon.opendistroforelasticsearch.sql.storage.bindingtuple.BindingTuple; import java.util.List; public class MaxAggregator extends Aggregator { diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MinAggregator.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MinAggregator.java index e03e75dcb7b..9a56cf389a8 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MinAggregator.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MinAggregator.java @@ -22,7 +22,6 @@ import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.function.BuiltinFunctionName; -import com.amazon.opendistroforelasticsearch.sql.storage.bindingtuple.BindingTuple; import java.util.List; /** diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/NamedAggregator.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/NamedAggregator.java index 9d92d4f2e5f..7eb223c86ed 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/NamedAggregator.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/NamedAggregator.java @@ -19,11 +19,8 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.expression.ExpressionNodeVisitor; -import com.amazon.opendistroforelasticsearch.sql.storage.bindingtuple.BindingTuple; -import com.google.common.base.Strings; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.ToString; /** * NamedAggregator expression that represents expression with name. diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/SumAggregator.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/SumAggregator.java index f3cd9902578..bf67e8a87e6 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/SumAggregator.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/SumAggregator.java @@ -33,7 +33,6 @@ import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.SumAggregator.SumState; import com.amazon.opendistroforelasticsearch.sql.expression.function.BuiltinFunctionName; -import com.amazon.opendistroforelasticsearch.sql.storage.bindingtuple.BindingTuple; import java.util.List; import java.util.Locale; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/datetime/DateTimeFormatterUtil.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/datetime/DateTimeFormatterUtil.java index ef0200a5700..7586999301c 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/datetime/DateTimeFormatterUtil.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/datetime/DateTimeFormatterUtil.java @@ -3,7 +3,6 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprStringValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.google.common.collect.ImmutableMap; - import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Locale; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/operator/predicate/UnaryPredicateOperator.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/operator/predicate/UnaryPredicateOperator.java index 01e9aa99cac..c0031560534 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/operator/predicate/UnaryPredicateOperator.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/operator/predicate/UnaryPredicateOperator.java @@ -17,16 +17,12 @@ import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.LITERAL_NULL; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.LITERAL_TRUE; - import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.BOOLEAN; -import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.UNKNOWN; - import static com.amazon.opendistroforelasticsearch.sql.expression.function.FunctionDSL.impl; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprBooleanValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; -import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; import com.amazon.opendistroforelasticsearch.sql.expression.function.BuiltinFunctionName; import com.amazon.opendistroforelasticsearch.sql.expression.function.BuiltinFunctionRepository; import com.amazon.opendistroforelasticsearch.sql.expression.function.FunctionBuilder; @@ -35,7 +31,6 @@ import com.amazon.opendistroforelasticsearch.sql.expression.function.FunctionResolver; import com.amazon.opendistroforelasticsearch.sql.expression.function.FunctionSignature; import com.amazon.opendistroforelasticsearch.sql.expression.function.SerializableFunction; - import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/text/TextFunction.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/text/TextFunction.java index e1a24f29bcd..af7a7e32918 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/text/TextFunction.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/expression/text/TextFunction.java @@ -30,7 +30,6 @@ import com.amazon.opendistroforelasticsearch.sql.expression.function.BuiltinFunctionRepository; import com.amazon.opendistroforelasticsearch.sql.expression.function.FunctionName; import com.amazon.opendistroforelasticsearch.sql.expression.function.FunctionResolver; - import lombok.experimental.UtilityClass; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalAggregation.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalAggregation.java index ddfdbd5a018..a727ead03d2 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalAggregation.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalAggregation.java @@ -21,7 +21,6 @@ import java.util.List; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.RequiredArgsConstructor; import lombok.ToString; /** diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalDedupe.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalDedupe.java index 66dc74ff3cf..79c5c3e322d 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalDedupe.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalDedupe.java @@ -20,7 +20,6 @@ import java.util.List; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.RequiredArgsConstructor; import lombok.ToString; /** diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalEval.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalEval.java index 49133dbfe1d..813450cb747 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalEval.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalEval.java @@ -21,7 +21,6 @@ import java.util.List; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.RequiredArgsConstructor; import lombok.ToString; import org.apache.commons.lang3.tuple.Pair; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalFilter.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalFilter.java index 2978856512d..2573b522686 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalFilter.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalFilter.java @@ -16,12 +16,9 @@ package com.amazon.opendistroforelasticsearch.sql.planner.logical; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; -import java.util.Arrays; import java.util.Collections; -import java.util.List; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.RequiredArgsConstructor; import lombok.ToString; /** diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalPlan.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalPlan.java index 0ba3cc19a4f..9305b5006b6 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalPlan.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalPlan.java @@ -16,7 +16,6 @@ package com.amazon.opendistroforelasticsearch.sql.planner.logical; import com.amazon.opendistroforelasticsearch.sql.planner.PlanNode; -import java.util.Collections; import java.util.List; import lombok.EqualsAndHashCode; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRareTopN.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRareTopN.java index d60818f26a4..bd3fe68b36e 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRareTopN.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRareTopN.java @@ -17,12 +17,10 @@ import com.amazon.opendistroforelasticsearch.sql.ast.tree.RareTopN.CommandType; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; -import java.util.Arrays; import java.util.Collections; import java.util.List; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.RequiredArgsConstructor; import lombok.ToString; /** diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRelation.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRelation.java index 6a99a6d74b9..98a5c81cf34 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRelation.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRelation.java @@ -16,10 +16,8 @@ package com.amazon.opendistroforelasticsearch.sql.planner.logical; import com.google.common.collect.ImmutableList; -import java.util.List; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.RequiredArgsConstructor; import lombok.ToString; /** diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRemove.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRemove.java index 75dc143a568..01c8aeb1818 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRemove.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRemove.java @@ -16,13 +16,10 @@ package com.amazon.opendistroforelasticsearch.sql.planner.logical; import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; -import java.util.Arrays; import java.util.Collections; -import java.util.List; import java.util.Set; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.RequiredArgsConstructor; import lombok.ToString; /** diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRename.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRename.java index 7762e4b0ab5..626543670b3 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRename.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalRename.java @@ -17,11 +17,9 @@ import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; import java.util.Collections; -import java.util.List; import java.util.Map; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.RequiredArgsConstructor; import lombok.ToString; /** diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalValues.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalValues.java index 844c8626fad..53b5a0d870e 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalValues.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/logical/LogicalValues.java @@ -21,7 +21,6 @@ import java.util.List; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.RequiredArgsConstructor; import lombok.ToString; /** diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/physical/LimitOperator.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/physical/LimitOperator.java index 5598d296b87..2bb809921dd 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/physical/LimitOperator.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/physical/LimitOperator.java @@ -18,7 +18,6 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/physical/RareTopNOperator.java b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/physical/RareTopNOperator.java index 99f5e79855b..e62c3e86e57 100644 --- a/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/physical/RareTopNOperator.java +++ b/core/src/main/java/com/amazon/opendistroforelasticsearch/sql/planner/physical/RareTopNOperator.java @@ -24,7 +24,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Streams; import java.util.AbstractMap; -import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/analysis/AnalyzerTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/analysis/AnalyzerTest.java index db07fab0f9a..1af1b2bda2c 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/analysis/AnalyzerTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/analysis/AnalyzerTest.java @@ -26,8 +26,6 @@ import static com.amazon.opendistroforelasticsearch.sql.ast.dsl.AstDSL.intLiteral; import static com.amazon.opendistroforelasticsearch.sql.ast.dsl.AstDSL.qualifiedName; import static com.amazon.opendistroforelasticsearch.sql.ast.dsl.AstDSL.relation; -import static com.amazon.opendistroforelasticsearch.sql.ast.dsl.AstDSL.unresolvedArg; -import static com.amazon.opendistroforelasticsearch.sql.ast.dsl.AstDSL.unresolvedArgList; import static com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort.NullOrder; import static com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort.SortOption; import static com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort.SortOption.DEFAULT_ASC; diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/analysis/SelectExpressionAnalyzerTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/analysis/SelectExpressionAnalyzerTest.java index 08558520f00..8a34ddc7aa5 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/analysis/SelectExpressionAnalyzerTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/analysis/SelectExpressionAnalyzerTest.java @@ -21,7 +21,6 @@ import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRUCT; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.mockito.AdditionalAnswers.returnsFirstArg; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/analysis/symbol/SymbolTableTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/analysis/symbol/SymbolTableTest.java index 390577976e8..12c60a951c4 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/analysis/symbol/SymbolTableTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/analysis/symbol/SymbolTableTest.java @@ -31,7 +31,6 @@ import java.util.Map; import java.util.Optional; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprCollectionValueTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprCollectionValueTest.java index 83085ac1d57..07ff5b17816 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprCollectionValueTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprCollectionValueTest.java @@ -23,7 +23,6 @@ import com.amazon.opendistroforelasticsearch.sql.exception.ExpressionEvaluationException; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import java.util.Arrays; import org.junit.jupiter.api.Test; diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprValueUtilsTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprValueUtilsTest.java index 4c976329586..e09b9115b6b 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprValueUtilsTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/data/model/ExprValueUtilsTest.java @@ -38,7 +38,6 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import java.time.Duration; -import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/data/utils/ExprValueOrderingTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/data/utils/ExprValueOrderingTest.java index 6601d27a849..5de9783a9c1 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/data/utils/ExprValueOrderingTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/data/utils/ExprValueOrderingTest.java @@ -29,10 +29,8 @@ import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.tupleValue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.mockito.Mockito.when; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; -import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; import com.amazon.opendistroforelasticsearch.sql.exception.ExpressionEvaluationException; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/CountAggregatorTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/CountAggregatorTest.java index a4a0fb1e81d..bac60218a11 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/CountAggregatorTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/CountAggregatorTest.java @@ -26,7 +26,6 @@ import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRUCT; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.TIMESTAMP; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MaxAggregatorTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MaxAggregatorTest.java index f5e1db7ba54..1f0eaf51e7d 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MaxAggregatorTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MaxAggregatorTest.java @@ -22,7 +22,6 @@ import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.LONG; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; -import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRUCT; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.TIME; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.TIMESTAMP; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -33,8 +32,6 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils; import com.amazon.opendistroforelasticsearch.sql.exception.ExpressionEvaluationException; import com.amazon.opendistroforelasticsearch.sql.expression.DSL; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import org.junit.jupiter.api.Test; public class MaxAggregatorTest extends AggregationTest { diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MinAggregatorTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MinAggregatorTest.java index c203b69c102..4f02a2b7913 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MinAggregatorTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/aggregation/MinAggregatorTest.java @@ -22,7 +22,6 @@ import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.LONG; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; -import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRUCT; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.TIME; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.TIMESTAMP; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -33,8 +32,6 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils; import com.amazon.opendistroforelasticsearch.sql.exception.ExpressionEvaluationException; import com.amazon.opendistroforelasticsearch.sql.expression.DSL; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import org.junit.jupiter.api.Test; public class MinAggregatorTest extends AggregationTest { diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/operator/predicate/BinaryPredicateOperatorTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/operator/predicate/BinaryPredicateOperatorTest.java index aa7402142ca..e19ef2147a6 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/operator/predicate/BinaryPredicateOperatorTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/operator/predicate/BinaryPredicateOperatorTest.java @@ -27,7 +27,6 @@ import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.LITERAL_TRUE; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.booleanValue; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.fromObjectValue; -import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.missingValue; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.BOOLEAN; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; @@ -56,7 +55,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; -import com.sun.org.apache.xpath.internal.Arg; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; @@ -65,14 +63,12 @@ import java.util.Base64; import java.util.List; import java.util.stream.Stream; - import lombok.AllArgsConstructor; import lombok.Getter; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; -import org.mockito.Mock; class BinaryPredicateOperatorTest extends ExpressionTestBase { diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/operator/predicate/UnaryPredicateOperatorTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/operator/predicate/UnaryPredicateOperatorTest.java index 70cde0d8868..f8c56a3e71b 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/operator/predicate/UnaryPredicateOperatorTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/operator/predicate/UnaryPredicateOperatorTest.java @@ -23,25 +23,18 @@ import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.LITERAL_TRUE; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.booleanValue; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.BOOLEAN; -import static java.lang.Enum.valueOf; import static org.junit.jupiter.api.Assertions.assertEquals; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprNullValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils; -import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; import com.amazon.opendistroforelasticsearch.sql.expression.DSL; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.ExpressionTestBase; import com.amazon.opendistroforelasticsearch.sql.expression.FunctionExpression; import com.google.common.collect.Lists; -import java.lang.reflect.Array; import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; import java.util.stream.Stream; - import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/text/TextFunctionTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/text/TextFunctionTest.java index 5c1f1728c5a..d6756afd1ff 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/text/TextFunctionTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/expression/text/TextFunctionTest.java @@ -34,17 +34,14 @@ import com.amazon.opendistroforelasticsearch.sql.expression.FunctionExpression; import com.amazon.opendistroforelasticsearch.sql.expression.env.Environment; import com.google.common.collect.ImmutableList; - import java.util.List; import java.util.Objects; import java.util.stream.Collectors; - import lombok.AllArgsConstructor; import lombok.Getter; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.junit.jupiter.api.extension.TestInstantiationException; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/planner/PlannerTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/planner/PlannerTest.java index d69e8b8c8f2..4568001a907 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/planner/PlannerTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/planner/PlannerTest.java @@ -28,7 +28,6 @@ import com.amazon.opendistroforelasticsearch.sql.expression.DSL; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalAggregation; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalFilter; -import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalLimit; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlanDSL; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlanNodeVisitor; @@ -37,7 +36,6 @@ import com.amazon.opendistroforelasticsearch.sql.planner.optimizer.LogicalPlanOptimizer; import com.amazon.opendistroforelasticsearch.sql.planner.physical.AggregationOperator; import com.amazon.opendistroforelasticsearch.sql.planner.physical.FilterOperator; -import com.amazon.opendistroforelasticsearch.sql.planner.physical.LimitOperator; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlanDSL; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlanTestBase; diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/planner/physical/FilterOperatorTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/planner/physical/FilterOperatorTest.java index b831d3ba538..eed1f3a830d 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/planner/physical/FilterOperatorTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/planner/physical/FilterOperatorTest.java @@ -34,7 +34,6 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import org.mockito.junit.jupiter.MockitoSettings; @ExtendWith(MockitoExtension.class) class FilterOperatorTest extends PhysicalPlanTestBase { diff --git a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/utils/SystemIndexUtilsTest.java b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/utils/SystemIndexUtilsTest.java index 7090510319f..9428db24413 100644 --- a/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/utils/SystemIndexUtilsTest.java +++ b/core/src/test/java/com/amazon/opendistroforelasticsearch/sql/utils/SystemIndexUtilsTest.java @@ -32,7 +32,7 @@ class SystemIndexUtilsTest { @Test void test_system_index() { assertTrue(isSystemIndex("_ODFE_SYS_TABLE_META.ALL")); - assertFalse(isSystemIndex(".kibana")); + assertFalse(isSystemIndex(".opensearch_dashboards")); } @Test diff --git a/docs/attributions.md b/docs/attributions.md index b157ef1c89d..f956e86ef20 100644 --- a/docs/attributions.md +++ b/docs/attributions.md @@ -1,8 +1,8 @@ This project is based on the Apache 2.0-licensed [elasticsearch-sql](https://github.com/NLPchina/elasticsearch-sql) project. Thank you [eliranmoyal](https://github.com/eliranmoyal), [shi-yuan](https://github.com/shi-yuan), [ansjsun](https://github.com/ansjsun) and everyone else who contributed great code to that project. -## What’s OpenDistro SQL? +## What’s OpenSearch SQL? -The Open Distro for Elaticsearch SQL plugin launched early this year which lets you write queries in SQL rather than the Elasticsearch query domain-specific language (DSL). While the majority of our codebase is on top of ES-SQL initially, there are a lot of new features and bug fixes introduced in our implementation. And in the following releases this year, we keep improving and refactoring our code as well as maintaining version currency of Elasticsearch. Basically OpenDistro SQL is superset of ES-SQL and it’s more reliable and up-to-date. +The Open Distro for Elaticsearch SQL plugin launched early this year which lets you write queries in SQL rather than the OpenSearch query domain-specific language (DSL). While the majority of our codebase is on top of ES-SQL initially, there are a lot of new features and bug fixes introduced in our implementation. And in the following releases this year, we keep improving and refactoring our code as well as maintaining version currency of OpenSearch. Basically OpenSearch SQL is superset of ES-SQL and it’s more reliable and up-to-date. ## The problems we found in NLPchina-ES-SQL. @@ -20,10 +20,10 @@ The ES-SQL codebase has clear architecture and abstraction for a basic query eng Apart from the problems we identified earlier, we made significant improvement in terms of functionality and reliability: -1. *Integration Test*: We migrated all integrate tests to standard Elasticsearch IT framework which spins up in-memory cluster for testing. Now all test cases treat plugin code as blackbox and verify functionality from externally. +1. *Integration Test*: We migrated all integrate tests to standard OpenSearch IT framework which spins up in-memory cluster for testing. Now all test cases treat plugin code as blackbox and verify functionality from externally. 2. *New JDBC Driver*: We developed our own JDBC driver without any dependency on Elasticsearch proprietary code. - [sql-jdbc](https://github.com/opendistro-for-elasticsearch/sql/tree/master/sql-jdbc) -3. *Better Hash JOIN*: OpenDistro SQL launched with Block Hash Join implementation with circuit break mechanism to protect your Elasticsearch memory. Performance testing showed our implementation is 1.5 ~ 2x better than old hash join in terms of throughput and latency and much lower error rate under heavy pressure. + [sql-jdbc](https://github.com/opensearch-project/sql/tree/master/sql-jdbc) +3. *Better Hash JOIN*: OpenDistro SQL launched with Block Hash Join implementation with circuit break mechanism to protect your OpenSearch memory. Performance testing showed our implementation is 1.5 ~ 2x better than old hash join in terms of throughput and latency and much lower error rate under heavy pressure. 4. *Query Planner*: Logical and physical planner was added to support JOIN query in efficient and extendible way. 5. *PartiQL Compatibility*: we are partially compatible with PartiQL specification which allows for query involved in nested JSON documents. 6. *New ANTLR Parser*: A new ANTLR4 parser was generated from grammar based on what we support along with a new semantic analyzer to perform scope and type checking. diff --git a/docs/dev/Architecture.md b/docs/dev/Architecture.md index 07c475e49ff..4029ea8c432 100644 --- a/docs/dev/Architecture.md +++ b/docs/dev/Architecture.md @@ -1,25 +1,25 @@ -# OpenDistro SQL Engine Architecture +# OpenSearch SQL Engine Architecture --- ## 1.Overview -The OpenDistro SQL (OD-SQL) project is developed based on NLPChina project (https://github.com/NLPchina/elasticsearch-sql) which has been deprecated now ([attributions](https://github.com/opendistro-for-elasticsearch/sql/blob/master/docs/attributions.md)). Over the one year in development, a lot of features have been added to the OD-SQL project on top of the existing older NLPChina project. The purpose of this document is to explain the OD-SQL current architecture going ahead. +The OpenSearch SQL (OD-SQL) project is developed based on NLPChina project (https://github.com/NLPchina/elasticsearch-sql) which has been deprecated now ([attributions](https://github.com/opensearch-project/sql/blob/master/docs/attributions.md)). Over the one year in development, a lot of features have been added to the OD-SQL project on top of the existing older NLPChina project. The purpose of this document is to explain the OD-SQL current architecture going ahead. --- ## 2.High Level View In the high level, the OD-SQL Engine could be divided into four major sub-module. -* *Parser*: Currently, there are two Lex&Parser coexists. The Druid Lex&Parser is the original one from NLPChina. The input AST of Core Engine is from the Druid Lex&Parser. The [ANTLR](https://github.com/opendistro-for-elasticsearch/sql/blob/master/src/main/antlr/OpenDistroSqlParser.g4) Lex&Parser is added by us to customized the verification and exception handling. +* *Parser*: Currently, there are two Lex&Parser coexists. The Druid Lex&Parser is the original one from NLPChina. The input AST of Core Engine is from the Druid Lex&Parser. The [ANTLR](https://github.com/opensearch-project/sql/blob/master/src/main/antlr/OpenDistroSqlParser.g4) Lex&Parser is added by us to customized the verification and exception handling. * *Analyzer*: The analyzer module take the output from ANTLR Lex&Parser then perform syntax and semantic analyze. -* *Core Engine*: The QueryAction take the output from Druid Lex&Parser and translate to the Elasticsearch DSL if possible. This is an NLPChina original module. The QueryPlanner Builder is added by us to support the JOIN and Post-processing logic. The QueryPlanner will take the take the output from Druid Lex&Parser and build the PhysicalPlan +* *Core Engine*: The QueryAction take the output from Druid Lex&Parser and translate to the OpenSearch DSL if possible. This is an NLPChina original module. The QueryPlanner Builder is added by us to support the JOIN and Post-processing logic. The QueryPlanner will take the take the output from Druid Lex&Parser and build the PhysicalPlan * *Execution*: The execution module execute QueryAction or QueryPlanner and return the response to the client. Different from the Frontend, Analyzer and Core Engine which running on the Transport Thread and can’t do any blocking operation. The Execution module running on the client threadpool and can perform the blocking operation. There are also others modules include in the OD-SQL engine. * _Documentation_: it is used to auto-generated documentation. * _Metrics_: it is used to collect OD-SQL related metrics. -* _Resource Manager_: it is used to monitor the memory consumption when performing join operation to avoid the impact to Elasticsearch availability. +* _Resource Manager_: it is used to monitor the memory consumption when performing join operation to avoid the impact to OpenSearch availability. ![Architecture Overview](img/architecture-overview.png) @@ -30,10 +30,10 @@ The following diagram take a sample query and explain how the query flow within ![Architecture Journey](img/architecture-journey.png) -1. The ANTRL parser based on grammar file (https://github.com/opendistro-for-elasticsearch/sql/blob/master/src/main/antlr/OpenDistroSqlParser.g4) to auto generate the AST. +1. The ANTRL parser based on grammar file (https://github.com/opensearch-project/sql/blob/master/src/main/antlr/OpenDistroSqlParser.g4) to auto generate the AST. 2. The Syntax and Semantic Analyzer will walk through the AST and verify whether the query is follow the grammar and supported by the OD-SQL. e.g. *SELECT * FROM semantics WHERE LOG(age, city) = 1, *will throw exception with message* Function [LOG] cannot work with [INTEGER, KEYWORD]. *and sample usage message* Usage: LOG(NUMBER T) → DOUBLE. 3. The Druid Lex&Parser takes the input query and generate the druid AST which is different from the AST generated by the ANTRL. This module is the open source library (https://github.com/alibaba/druid) used by NLPChina originally. -4. The QueryPlanner Builder take the AST as input and generate the LogicalPlan from it. Then it optimize the LogicalPlan to PhysicalPlan.(In current implementation, only rule-based model is implemented). The major part of PhysicalPlan generation use NLPChina’s original logic to translate the SQL expression in AST to Elasticsearch DSL. +4. The QueryPlanner Builder take the AST as input and generate the LogicalPlan from it. Then it optimize the LogicalPlan to PhysicalPlan.(In current implementation, only rule-based model is implemented). The major part of PhysicalPlan generation use NLPChina’s original logic to translate the SQL expression in AST to OpenSearch DSL. 5. The QueryPlanner executor execute the PhysicalPlan in worker thread. 6. The formatter will reformat the response data to the required format. The default format is JDBC format. diff --git a/docs/dev/Doctest.md b/docs/dev/Doctest.md index 26909011779..de63e248c0b 100644 --- a/docs/dev/Doctest.md +++ b/docs/dev/Doctest.md @@ -54,7 +54,7 @@ For actually testing the code, the goal is to thoroughly test every case, rather ### 1.4.2 How to run existing doctest? Doctest runs with project build by `./gradlew build`. You can also only run doctest by `./gradlew doctest` -Make sure you don't have any Elasticsearch instance running at `http://localhost:9200` +Make sure you don't have any OpenSearch instance running at `http://localhost:9200` ### 1.4.2 How to write documentation with doctest? 1. If you want to add a new doc, you can add it to `docs` folder, under correct sub-folder, in `.rst` format. @@ -76,17 +76,17 @@ Current SQL Documentation will need reconstruction in the future. Ideally, both -## 2.2 ES Test Instance +## 2.2 OpenSearch Test Instance ### 2.2.1 Testing framework We have two options here -1. Use ES integration testing framework, same as SQL Plugin integration test. -2. Spin up ES instance with SQL Plugin installed without gradle build the package, simply `./gradlew run` +1. Use OpenSearch integration testing framework, same as SQL Plugin integration test. +2. Spin up OpenSearch instance with SQL Plugin installed without gradle build the package, simply `./gradlew run` -The reason we are not using ES test framework, is due to the difficulty of integrating Python code to a Java based framework, considering we are using python built-in module `doctest` for implementation +The reason we are not using OpenSearch test framework, is due to the difficulty of integrating Python code to a Java based framework, considering we are using python built-in module `doctest` for implementation ### 2.2.2 Gradle @@ -96,11 +96,11 @@ The reason we are not using ES test framework, is due to the difficulty of integ 2. Set up gradle build script, which enables doctest by `./gradlew doctest` 3. Gradle tasks: 1. bootstrap - 2. StartES + 2. StartOpenSearch 1. ` ./gradlew run` 2. https://github.com/elastic/elasticsearch/blob/master/TESTING.asciidoc#running-elasticsearch-from-a-checkout 3. doctest - 4. StopES + 4. StopOpenSearch 4. Integrate Doctest to project gradle build, which means `./gradlew build` will also run `doctest` @@ -177,7 +177,7 @@ The code example in a doc using `bash` should be like this ``` sh$ curl -XPOST "localhost:9200/_opendistro/_ppl/" -H 'Content-Type: application/json' - -d'{ "query": "search source=kibana_sample_data_flights OriginCountry = "IT" + -d'{ "query": "search source=opensearch_dashboards_sample_data_flights OriginCountry = "IT" DestiContry = "US" | fields FlightNum, DestCountry, OriginCountry "}' { @@ -199,7 +199,7 @@ sh$ curl -XPOST "localhost:9200/_opendistro/_ppl/" ## 2.3 Test Data -Use elasticsearch python library to create connection to ES instance. It can load test data into ES instance, and delete test index after testing. +Use elasticsearch python library to create connection to OpenSearch instance. It can load test data into OpenSearch instance, and delete test index after testing. **Setup:** `bulk` API **TearDown:** `delete(index=[""])` diff --git a/docs/dev/NewSQLEngine.md b/docs/dev/NewSQLEngine.md index 6bd067985f2..cc50943cfaf 100644 --- a/docs/dev/NewSQLEngine.md +++ b/docs/dev/NewSQLEngine.md @@ -3,7 +3,7 @@ --- ## 1.Motivations -The current SQL query engine provides users the basic query capability for using familiar SQL rather than complex Elasticsearch DSL. Based on NLPchina ES-SQL, many new features have been added additionally, such as semantic analyzer, semi-structured data query support, Hash Join etc. However, as we looked into more advanced SQL features, challenges started emerging especially in terms of correctness and extensibility (see [Attributions](../attributions.md)). After thoughtful consideration, we decided to develop a new query engine to address all the problems met so far. +The current SQL query engine provides users the basic query capability for using familiar SQL rather than complex OpenSearch DSL. Based on NLPchina ES-SQL, many new features have been added additionally, such as semantic analyzer, semi-structured data query support, Hash Join etc. However, as we looked into more advanced SQL features, challenges started emerging especially in terms of correctness and extensibility (see [Attributions](../attributions.md)). After thoughtful consideration, we decided to develop a new query engine to address all the problems met so far. --- @@ -28,8 +28,8 @@ With the architecture and extensibility improved significantly, the following SQ * [Window functions](/docs/user/dql/window.rst): ranking and aggregate window functions * [Selective aggregation](/docs/user/dql/aggregations.rst#filter-clause): by standard `FILTER` function * **Beyond SQL** - * [Semi-structured data query](/docs/user/beyond/partiql.rst#example-2-selecting-deeper-levels): support querying Elasticsearch object fields on arbitrary level - * Elasticsearch multi-field: handled automatically and users won't have the access, ex. `text` is converted to `text.keyword` if it’s a multi-field + * [Semi-structured data query](/docs/user/beyond/partiql.rst#example-2-selecting-deeper-levels): support querying OpenSearch object fields on arbitrary level + * OpenSearch multi-field: handled automatically and users won't have the access, ex. `text` is converted to `text.keyword` if it’s a multi-field As for correctness, besides full coverage of unit and integration test, we developed a new comparison test framework to ensure correctness by comparing with other databases. Please find more details in [Testing](./Testing.md). @@ -45,15 +45,15 @@ Because of implementation changed internally, you can expect Explain output in a ### 3.2 Fallback Mechanism -For these unsupported features, the query will be forwarded to the old query engine by fallback mechanism. To avoid impact on your side, normally you won't see any difference in a query response. If you want to check if and why your query falls back to be handled by old SQL engine, please explain your query and check Elasticsearch log for "Request is falling back to old SQL engine due to ...". +For these unsupported features, the query will be forwarded to the old query engine by fallback mechanism. To avoid impact on your side, normally you won't see any difference in a query response. If you want to check if and why your query falls back to be handled by old SQL engine, please explain your query and check OpenSearch log for "Request is falling back to old SQL engine due to ...". For the following features unsupported in the new engine, the query will be forwarded to the old query engine and thus you cannot use new features listed above: * **Cursor**: request with `fetch_size` parameter -* **JSON response format**: was used to return ES DSL which is not accessible now. Replaced by default format in the new engine which is also in JSON. +* **JSON response format**: was used to return OpenSearch DSL which is not accessible now. Replaced by default format in the new engine which is also in JSON. * **Nested field query**: including supports for nested field query * **JOINs**: including all types of JOIN queries -* **Elasticsearch functions**: fulltext search, metric and bucket functions +* **OpenSearch functions**: fulltext search, metric and bucket functions ### 3.3 Limitations @@ -61,7 +61,7 @@ You can find all the limitations in [Limitations](/docs/user/limitations/limitat ### 3.4 What if Something Wrong -No panic! You can roll back to old query engine easily by a plugin setting change. Simply run the command to disable it by [plugin setting](/docs/user/admin/settings.rst#opendistro-sql-engine-new-enabled). Same as other cluster setting change, no need to restart Elasticsearch and the change will take effect on next incoming query. Later on please report the issue to us. +No panic! You can roll back to old query engine easily by a plugin setting change. Simply run the command to disable it by [plugin setting](/docs/user/admin/settings.rst#opendistro-sql-engine-new-enabled). Same as other cluster setting change, no need to restart OpenSearch and the change will take effect on next incoming query. Later on please report the issue to us. --- @@ -77,4 +77,4 @@ As aforementioned, there are still popular SQL features unsupported in the new q 1. Nested field queries 2. JOIN support -3. Elasticsearch functions +3. OpenSearch functions diff --git a/docs/dev/Pagination.md b/docs/dev/Pagination.md index df6ea173121..e6adec80ad5 100644 --- a/docs/dev/Pagination.md +++ b/docs/dev/Pagination.md @@ -1,10 +1,10 @@ -# Opendistro SQL Cursor (Pagination) Support +# OpenSearch SQL Cursor (Pagination) Support ## 1. Overview In database area, cursor is “a control structure that enables traversal over the records”. It is especially helpful for traversing large result set on a page by page basis. Without pagination or persistence, the entire result set will be resident in memory until last row comes in. -In our SQL plugin the current functionality inherited is broken and missing for most queries. And it is challenging for JOIN query whose result set cannot be paginated by native ES Scroll easily. +In our SQL plugin the current functionality inherited is broken and missing for most queries. And it is challenging for JOIN query whose result set cannot be paginated by native OpenSearch Scroll easily. Support for cursor is a fundamental requirement of any SQL engine. @@ -17,8 +17,8 @@ General cursor support: https://github.com/opendistro-for-elasticsearch/sql/issu There are two typical use cases of cursor: -* In the absence of cursor they are limited by the max of 10000 documents by Elasticsearch by default. The max number fo results could be changed using `index.max_result_window` setting on index level. Since the number of docs for an index can vary, the user would not know unless they see inconsistent result, and they have to change this setting manually which is not a very good experience. -* Interaction with SQL plugin via Kibana or other web interfaces to skim through only the first few pages of a large result set. +* In the absence of cursor they are limited by the max of 10000 documents by OpenSearch by default. The max number fo results could be changed using `index.max_result_window` setting on index level. Since the number of docs for an index can vary, the user would not know unless they see inconsistent result, and they have to change this setting manually which is not a very good experience. +* Interaction with SQL plugin via OpenSearch Dashboards or other web interfaces to skim through only the first few pages of a large result set. * Integration with BI tools or other batch processing program via JDBC/ODBC driver to load full result set for analysis. ### 2.2 Functionalities @@ -71,8 +71,8 @@ With a non-keyset client-side cursor, the server sends the entire result set acr **Cons:** * Client-side cursors may place a significant load on your workstation if they include too many rows -* Since we are limited by Elasticsearch to get all the results we **cannot** materialize this. -* This will require significant work for each client JDBC driver, ODBC driver, SQL CLI, Kibana on how to maintain the client resources and parse the state. It is therefore not scalable. +* Since we are limited by OpenSearch to get all the results we **cannot** materialize this. +* This will require significant work for each client JDBC driver, ODBC driver, SQL CLI, OpenSearch Dashboards on how to maintain the client resources and parse the state. It is therefore not scalable. * This defeats the purpose of pagination if we load the whole data to client side, as the user/application might only need the first few pages and discard the rest. This will also put pressure on network traffic and can increase latency. @@ -90,14 +90,14 @@ With a server-side cursor, the server manages the result set using resources pro * A server-side cursor is — at least temporarily — consuming precious server resources for every active client. -Based on the cons of client side cursors, and the limitation imposed by Elasticsearch, implementing client side cursor is not feasible. +Based on the cons of client side cursors, and the limitation imposed by OpenSearch, implementing client side cursor is not feasible. ### 3.2 Protocol Here is a sample of the request response API for the cursor queries. The client only needs cursor field to fetch the next page. This interface allows clients to de-couple the parsing logic of state. -Since we are implementing server side cursors, either OpenDistro SQL plugin or Elasticsearch needs to maintain state which consumes hardware resources like memory, file descriptors etc. The conserve such resources we provide a clear cursor API to clear resources explicitly, before it is automatically cleaned after expiry. +Since we are implementing server side cursors, either OpenSearch SQL plugin or OpenSearch needs to maintain state which consumes hardware resources like memory, file descriptors etc. The conserve such resources we provide a clear cursor API to clear resources explicitly, before it is automatically cleaned after expiry. ``` # 1.Creates a cursor @@ -198,7 +198,7 @@ Since we are supporting cursor for different type of queries using different imp **3.6.1 SELECT** -Simple SELECT with WHERE and ORDER BY clause can be supported by using the following Elasticsearch APIs +Simple SELECT with WHERE and ORDER BY clause can be supported by using the following OpenSearch APIs **(A) From and Size** From ideal pagination point of view from and size is API needed by the client. Pagination of results can be done by using the from and size but the cost becomes prohibitive when the deep pagination is reached. The `index.max_result_window` which defaults to 10,000 is a safeguard, search requests take heap memory and time proportional to `from + size`. @@ -327,7 +327,7 @@ _*Diagram-1: Always connect to same data node*_ In the case that requests dispatched to different nodes is inevitable, context lookup in cluster is required with the following approaches. -**A) Reroute to Node with Context Inside ES**: route the request to stateful node with the context, fetch result set and return to client side: +**A) Reroute to Node with Context Inside OpenSearch**: route the request to stateful node with the context, fetch result set and return to client side: * **Pros:** * Lightweight: only 1 node maintains the context with small footprint in memory. @@ -341,21 +341,21 @@ In the case that requests dispatched to different nodes is inevitable, context l _*Diagram-2: Reroute request to the node with context*_ -**B)** **Persist Context to ES Index**: +**B)** **Persist Context to OpenSearch Index**: -Persist context to ES index and query it from any node that is serving client request. +Persist context to OpenSearch index and query it from any node that is serving client request. * **Pros:** - * Explicit node communication logic is not required since ES query API can take care of the context lookup. - * In the event of loss of node the context is not lost, as index will be replicated by ES. + * Explicit node communication logic is not required since OpenSearch query API can take care of the context lookup. + * In the event of loss of node the context is not lost, as index will be replicated by OpenSearch. * **Cons:** - * Extra overhead: of (de-)serialization and network communication incurred by ES query. - * Index maintenance: ES index is not designed for frequent update so new context should be appended. It is possible that the index becomes huge without deleting old context documents in the case of large context. + * Extra overhead: of (de-)serialization and network communication incurred by OpenSearch query. + * Index maintenance: OpenSearch index is not designed for frequent update so new context should be appended. It is possible that the index becomes huge without deleting old context documents in the case of large context. ![equi-join-approach-3](img/equi-join-approach-3.png) -_*Diagram-3: Persist context to ES index*_ +_*Diagram-3: Persist context to OpenSearch index*_ **3.6.3.3 Context Rebuild** @@ -388,8 +388,8 @@ For subsequent request for next pages, we have all the information needed to ret -* *(A)* is good option for cursor used by customers in the *interactive* way who just glance over a few pages. This will require major work to implement the transport action to communicate “context host node” with “coordinator node“. It will also require home grown solution to clear the context by the plugin. This can be big blocker if implementation needs changes on Elasticsearch. -* *(3.6.3.3)* From the point of view of SQL plugin this approach is stateless and resolves the node to node communication problem. Since the scroll context will be handled natively by Elasticsearch, contexts will cleared automatically when it timeouts or explicitly by using `clear cursor` API. This solution also aligns with the stateless solution for simple and aggregation queries. +* *(A)* is good option for cursor used by customers in the *interactive* way who just glance over a few pages. This will require major work to implement the transport action to communicate “context host node” with “coordinator node“. It will also require home grown solution to clear the context by the plugin. This can be big blocker if implementation needs changes on OpenSearch. +* *(3.6.3.3)* From the point of view of SQL plugin this approach is stateless and resolves the node to node communication problem. Since the scroll context will be handled natively by OpenSearch, contexts will cleared automatically when it timeouts or explicitly by using `clear cursor` API. This solution also aligns with the stateless solution for simple and aggregation queries. Based on above analysis *3.6.3.3* is the solution to go ahead for *JOINS*. @@ -430,12 +430,12 @@ Right now there is inconsistency in results for `csv` and `jdbc` format. This is - If SQL query limit is less than `fetch_size`, no cursor context will be open and all results will be fetched in first page. - Negative or non-numeric values of `fetch_size` will throw `400` exception. - If `cursor` is given as JSON field in request, other fields like `fetch_size` , `query`, `filter`, `parameters` will be ignored. -- Like Elasticsearch’s scroll, SQL plugin may keep state in Elasticsearch to support the cursor. Unlike scroll, receiving the last page is enough to guarantee that the Elasticsearch state is cleared. +- Like OpenSearch’s scroll, SQL plugin may keep state in OpenSearch to support the cursor. Unlike scroll, receiving the last page is enough to guarantee that the OpenSearch state is cleared. - Multiple invocations of clearing the cursor, will succeed. - Using the cursor after context is expired will throw error. ### 4.3 Settings: -When Elasticsearch bootstraps, SQL plugin will register a few settings in Elasticsearch cluster settings. +When OpenSearch bootstraps, SQL plugin will register a few settings in OpenSearch cluster settings. Most of the settings are able to change dynamically so you can control the behavior of SQL plugin without need to bounce your cluster. For cursors we will be exposing the following settings: @@ -483,7 +483,7 @@ This setting controls the default page size for all cursor requests. - The default value is **1000**. - The minimum value is **1**. -- The effective max value is controlled by `index.max_result_window` setting. Increase the fetch_size above this will give a 500 error from Elasticsearch. +- The effective max value is controlled by `index.max_result_window` setting. Increase the fetch_size above this will give a 500 error from OpenSearch. - This setting is node scope. - This setting can be updated dynamically. - This can be `persistent` and `transient`. diff --git a/docs/dev/SemanticAnalysis.md b/docs/dev/SemanticAnalysis.md index 44c07d65ba0..9674c35aa10 100644 --- a/docs/dev/SemanticAnalysis.md +++ b/docs/dev/SemanticAnalysis.md @@ -3,7 +3,7 @@ --- ## 1.Overview -Previously SQL plugin didn't do semantic analysis, for example field doesn't exist, function call on field with wrong type etc. So it had to rely on Elasticsearch engine to perform the "check" which is actual execution. +Previously SQL plugin didn't do semantic analysis, for example field doesn't exist, function call on field with wrong type etc. So it had to rely on OpenSearch engine to perform the "check" which is actual execution. This led to bad user experience because of missing careful verification, cost of actual execution and confusing error message. In this work, we built a new semantic analyzer based on the new ANTLR generated parser introduced recently. With the new semantic analyzer, we manage to perform various verification in terms of meaning of the query and return clear and helpful message to user for troubleshoot. @@ -172,11 +172,11 @@ Here is a simple diagram showing what Semantic Context looks like at runtime: Type system allows for type check for all symbols present in the SQL query. First of all, we need to define what is type. Typically, type consists of 2 kinds: - * **Base type**: is based on Elasticsearch data type and organized into hierarchy with "class" type internally. - * **ES data type**: For example, INTEGER and LONG belongs to NUMBER, TEXT and KEYWORD belongs to STRING. - * **ES index**: we also have specific type for index, index pattern and nested field. + * **Base type**: is based on OpenSearch data type and organized into hierarchy with "class" type internally. + * **OpenSearch data type**: For example, INTEGER and LONG belongs to NUMBER, TEXT and KEYWORD belongs to STRING. + * **OpenSearch index**: we also have specific type for index, index pattern and nested field. * **Type expression**: is expression of multiple base type as argument type along with a constructor, for example, array constructor can construct integer to integer array, struct constructor can construct couple of base type into a new struct type. Similarly, function and comparison operator accepts arguments and generate result type. - * **Function**: including scalar and aggregate function in SQL standard as well as functions for Elasticsearch. + * **Function**: including scalar and aggregate function in SQL standard as well as functions for OpenSearch. * **Operator**: including comparison operator (=, <, >), set operator (UNION, MINUS) and join operator (JOIN). But support for only simple type is not sufficient. The following special types needs to be covered: @@ -184,7 +184,7 @@ But support for only simple type is not sufficient. The following special types * **Generic type**: when we say `LOG(NUMBER) -> NUMBER` actually we want to return whatever input type (INTEGER, FLOAT) specifically instead of NUMBER. * **Vararg**: for example, function `CONCAT` can apply to arbitrary number of strings. * **Overloading**: function like `LOG` can have multiple specifications, one for not specifying base and another for base. - * **Named argument**: most functions for Elasticsearch feature use named argument, for example `TOPHITS('size'=3,'age'='desc'`. + * **Named argument**: most functions for OpenSearch feature use named argument, for example `TOPHITS('size'=3,'age'='desc'`. * **Optional argument**: essentially this is same as function overloading. Currently we can add support for Generic Type and Overloading. To clarify, function specification involved in generic type like `SUBSTRING(func(T(STRING), INTEGER, INTEGER).to(T))` is similar as that in Java ` T Substring(T, int, int)`. @@ -269,7 +269,7 @@ Firstly, visitor needs to enforce the visiting order of SQL query. Because some ### 4.2 Context Initialization -This part is done in `ESMappingLoader` visitor each of whose visit methods runs ahead of `TypeChecker`. Take query `SELECT * FROM accounts a, a.projects p WHERE age > 20 AND p.active IS TRUE` for example. After visiting the FROM clause, the context completes the initialization with symbol well defined as follows: +This part is done in `OpenSearchMappingLoader` visitor each of whose visit methods runs ahead of `TypeChecker`. Take query `SELECT * FROM accounts a, a.projects p WHERE age > 20 AND p.active IS TRUE` for example. After visiting the FROM clause, the context completes the initialization with symbol well defined as follows: ``` # field names without alias prefix because alias is optional diff --git a/docs/dev/SubQuery.md b/docs/dev/SubQuery.md index e59501ffa1c..126705ed7e2 100644 --- a/docs/dev/SubQuery.md +++ b/docs/dev/SubQuery.md @@ -2,14 +2,14 @@ # Rewrite EXISTS in Nested Query -Opendistro-sql use ElasticSearch nested query to query the nested field. In ElasticSearch domain, the nested query can filter the nested field based the query logic which is correspond to the [EXISTS in PartiQL](https://partiql.org/tutorial.html#use-case-checking-whether-a-nested-collection-satisfies-a-condition). It means, there could be a way to translate the EXISTS query based on the nested query. +OpenSearch SQL uses OpenSearch nested query to query the nested field. In OpenSearch domain, the nested query can filter the nested field based the query logic which is correspond to the [EXISTS in PartiQL](https://partiql.org/tutorial.html#use-case-checking-whether-a-nested-collection-satisfies-a-condition). It means, there could be a way to translate the EXISTS query based on the nested query. Let’s go though the use cases find out how to translate the SQL to DSL. ## Use cases ### **1. EXISTS** -If the SQL doesn’t have condition in the subquery, the [ElasticSearch exists](https://www.elastic.co/guide/en/elasticsearch/reference/7.3/query-dsl-exists-query.html) could be used to translate the SQL to DSL. +If the SQL doesn’t have condition in the subquery, the [OpenSearch exists](https://www.elastic.co/guide/en/elasticsearch/reference/7.3/query-dsl-exists-query.html) could be used to translate the SQL to DSL. ``` SELECT e.name AS employeeName @@ -115,7 +115,7 @@ WHERE EXISTS(SELECT * } } -// Opendistro-SQL +// OpenSearch SQL SELECT e.name FROM employee_nested as e, e.projects as p WHERE p.name LIKE 'security' diff --git a/docs/dev/Testing.md b/docs/dev/Testing.md index 2c1df6a9284..3a39fc8a5d7 100644 --- a/docs/dev/Testing.md +++ b/docs/dev/Testing.md @@ -1,4 +1,4 @@ -# How OpenDistro SQL Is Tested +# How OpenSearch SQL Is Tested ## 1.Introduction @@ -14,7 +14,7 @@ Currently there are quite a few unit tests and integration tests in the codebase In this work, we want to address the problems above for our testing to get more confidence of the correctness of our plugin. To achieve this goal, we need to improve both the quantity and quality of our tests and also keep it running on a regular basis. Although the search space of SQL is infinite, we can cover typical use cases and corner cases and most importantly make sure it does demonstrate the correctness of our implementation if it can pass. -> Note that performance is also another important area that we want to test and understand how efficient or where is the bottleneck of typical queries. Since Elasticsearch provides ESRally benchmark tool which is totally different from our homemade test harness, we will be focuses on the correctness and won't cover performance testing here. +> Note that performance is also another important area that we want to test and understand how efficient or where is the bottleneck of typical queries. Since OpenSearch provides ESRally benchmark tool which is totally different from our homemade test harness, we will be focuses on the correctness and won't cover performance testing here. ## 2.Design @@ -26,11 +26,11 @@ First we can improve the test coverage by improving the diversity of our test ca At this stage we don’t want to spend too much efforts on setting up a complicated infrastructure for testing. So we can take full advantage of capabilities that GitHub provides: - 1. **Test Data & Cases**: Use test case set with Kibana flights and ecommerce sample index. + 1. **Test Data & Cases**: Use test case set with OpenSearch Dashboards flights and ecommerce sample index. 2. **Trigger**: Set up another GitHub Action workflow. - 3. **Test Runner**: Use embedded Elasticsearch and other IMDBs. + 3. **Test Runner**: Use embedded OpenSearch and other IMDBs. 4. **Reporting**: Use standard JUnit report or simple custom json format. - 5. **Visualization**: Enable GitHub Pages for viewing or feed into Elasticsearch. + 5. **Visualization**: Enable GitHub Pages for viewing or feed into OpenSearch. ![Test Framework Components](img/test-framework-components.png) @@ -38,7 +38,7 @@ At this stage we don’t want to spend too much efforts on setting up a complica ### 3.1 Test Data -For schema, we can just use Elasticsearch mapping as the format of schema and convert it to `INSERT` statement. For data we use CSV format simply. +For schema, we can just use OpenSearch mapping as the format of schema and convert it to `INSERT` statement. For data we use CSV format simply. ``` { @@ -73,16 +73,16 @@ X98CCZO,Cape Town International Airport,false,5482.606664853586,...,Venice For now we don't implement a Fuzzer to generate test queries because test queries prepared manually is sufficient to help identify issues. So we just put all queries in a text file. In future, a fuzzer can generate queries and save to file to integrate with Test Runner smoothly. ``` -SELECT 1 AS `empty` FROM `kibana_sample_data_flights` -SELECT substring(OriginWeather, 1, 2) AS OriginWeather FROM kibana_sample_data_flights -SELECT SUM(FlightDelayMin) AS sum_FlightDelayMin_ok FROM kibana_sample_data_flights -SELECT SUM(FlightDelay) AS sum_FlightDelay_ok FROM kibana_sample_data_flights -SELECT SUM(DistanceMiles) AS sum_DistanceMiles_ok FROM kibana_sample_data_flights +SELECT 1 AS `empty` FROM `opensearch_dashboards_sample_data_flights` +SELECT substring(OriginWeather, 1, 2) AS OriginWeather FROM opensearch_dashboards_sample_data_flights +SELECT SUM(FlightDelayMin) AS sum_FlightDelayMin_ok FROM opensearch_dashboards_sample_data_flights +SELECT SUM(FlightDelay) AS sum_FlightDelay_ok FROM opensearch_dashboards_sample_data_flights +SELECT SUM(DistanceMiles) AS sum_DistanceMiles_ok FROM opensearch_dashboards_sample_data_flights ``` ### 3.3 Test Runner -To simplify the test and be confident about the test result, Test Runner runs query by JDBC driver of OpenDistro SQL and other databases. In this case we don’t need to parse the data format returned from our plugin. And obviously another benefit is the correctness of JDBC driver is also covered. +To simplify the test and be confident about the test result, Test Runner runs query by JDBC driver of OpenSearch SQL and other databases. In this case we don’t need to parse the data format returned from our plugin. And obviously another benefit is the correctness of JDBC driver is also covered. ![How We Do Comparison Test](img/how-we-do-comparison-test.png) @@ -92,7 +92,7 @@ GitHub Action can be set up to trigger Gradle task to generate test report. ### 3.5 Reporting -Elasticsearch integration test is still using JUnit 4 which has many problems, such as dynamic test cases. So we can define our own report format for flexibility: +OpenSearch integration test is still using JUnit 4 which has many problems, such as dynamic test cases. So we can define our own report format for flexibility: ``` { @@ -113,7 +113,7 @@ Elasticsearch integration test is still using JUnit 4 which has many problems, s "result": "Failed", "resultSets": [ { - "database": "Elasticsearch", + "database": "OpenSearch", "resultSet": { "schema": [{"name":"","type":""},...], "dataRows": [[...],...,[...]] @@ -160,20 +160,20 @@ TODO Use default test set and reference databases by `testType` argument given only. Because `integTestRunner` triggers quite a few integration tests which take long time and runs with `gradlew build` every time, `testType` is added to run doctest for documentation and comparison test separately. -Note that for now test data set argument is not supported because it often requires code changes to map more ES data type to JDBC type as well as convert data. +Note that for now test data set argument is not supported because it often requires code changes to map more OpenSearch data type to JDBC type as well as convert data. ``` $ ./gradlew :integ-test:comparisonTest [2020-01-06T11:37:57,437][INFO ][c.a.o.s.c.CorrectnessIT ] [performComparisonTest] Starting comparison test ================================= - Tested Database : (Use internal Elasticsearch in workspace) + Tested Database : (Use internal OpenSearch in workspace) Other Databases : SQLite = jdbc:sqlite::memory: H2 = jdbc:h2:mem:test;DB_CLOSE_DELAY=-1 Test data set(s) : Test data set : - Table name: kibana_sample_data_flights + Table name: opensearch_dashboards_sample_data_flights Schema: { "mappings": { "properties": { @@ -193,13 +193,13 @@ $ ./gradlew :integ-test:comparisonTest Data rows (first 5 in 21): [FlightNum, Origin, FlightDelay, DistanceMiles, FlightTimeMin, OriginWeather, dayOfWeek, AvgTicketPrice, Carrier, FlightDelayMin, OriginRegion, FlightDelayType, DestAirportID, Dest, FlightTimeHour, Cancelled, DistanceKilometers, OriginCityName, DestWeather, OriginCountry, DestCountry, DestRegion, OriginAirportID, DestCityName, timestamp] - [RGXY9H5, Chubu Centrair International Airport, false, 1619.970725161303, 124.1471507959044, Heavy Fog, 0, 626.1297405910661, Kibana Airlines, 0, SE-BD, No Delay, CAN, Guangzhou Baiyun International Airport, 2.06911917993174, true, 2607.0901667139924, Tokoname, Clear, JP, CN, SE-BD, NGO, Guangzhou, 2019-12-23T11:19:32] - [WOPNZEP, Munich Airport, true, 198.57903689856937, 34.9738738474057, Sunny, 0, 681.9911763989377, Kibana Airlines, 15, DE-BY, Carrier Delay, VE05, Venice Marco Polo Airport, 0.5828978974567617, false, 319.58198155849124, Munich, Cloudy, DE, IT, IT-34, MUC, Venice, 2019-12-23T12:32:26] - [G9J5O2V, Frankfurt am Main Airport, false, 4857.154739888458, 651.402736475921, Clear, 0, 868.0507463122127, Kibana Airlines, 0, DE-HE, No Delay, XIY, Xi'an Xianyang International Airport, 10.856712274598683, false, 7816.832837711051, Frankfurt am Main, Thunder & Lightning, DE, CN, SE-BD, FRA, Xi'an, 2019-12-23T03:48:33] + [RGXY9H5, Chubu Centrair International Airport, false, 1619.970725161303, 124.1471507959044, Heavy Fog, 0, 626.1297405910661, OpenSearch Dashboards Airlines, 0, SE-BD, No Delay, CAN, Guangzhou Baiyun International Airport, 2.06911917993174, true, 2607.0901667139924, Tokoname, Clear, JP, CN, SE-BD, NGO, Guangzhou, 2019-12-23T11:19:32] + [WOPNZEP, Munich Airport, true, 198.57903689856937, 34.9738738474057, Sunny, 0, 681.9911763989377, OpenSearch Dashboards Airlines, 15, DE-BY, Carrier Delay, VE05, Venice Marco Polo Airport, 0.5828978974567617, false, 319.58198155849124, Munich, Cloudy, DE, IT, IT-34, MUC, Venice, 2019-12-23T12:32:26] + [G9J5O2V, Frankfurt am Main Airport, false, 4857.154739888458, 651.402736475921, Clear, 0, 868.0507463122127, OpenSearch Dashboards Airlines, 0, DE-HE, No Delay, XIY, Xi'an Xianyang International Airport, 10.856712274598683, false, 7816.832837711051, Frankfurt am Main, Thunder & Lightning, DE, CN, SE-BD, FRA, Xi'an, 2019-12-23T03:48:33] [HM80A5V, Itami Airport, false, 5862.6666599206, 555.0027890084269, Heavy Fog, 0, 765.0413127727119, Logstash Airways, 0, SE-BD, No Delay, TV01, Treviso-Sant'Angelo Airport, 9.250046483473783, true, 9435.047413143258, Osaka, Clear, JP, IT, IT-34, ITM, Treviso, 2019-12-23T19:50:48] Test data set : - Table name: kibana_sample_data_ecommerce + Table name: opensearch_dashboards_sample_data_ecommerce Schema: { "mappings": { "properties": { @@ -229,11 +229,11 @@ $ ./gradlew :integ-test:comparisonTest [Diane, , order, [Tigress Enterprises, Low Tide Media], Diane Turner, 2019-12-22T13:45:07+00:00, Turner, 6, 2, EUR, 107.94, 2, [Women's Clothing, Women's Shoes], 22, [ZO0059900599, ZO0381103811], 555222, diane, FEMALE, diane@turner-family.zzz, Sunday, 107.94] Test query set : SQL queries (first 5 in 215): - SELECT SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `kibana_sample_data_flights` GROUP BY 1 - SELECT SUM(`kibana_sample_data_flights`.`FlightDelayMin`) AS `sum_Offset_ok` FROM `kibana_sample_data_flights` GROUP BY 1 - SELECT SUM(`kibana_sample_data_flights`.`FlightDelay`) AS `sum_FlightDelay_ok` FROM `kibana_sample_data_flights` GROUP BY 1 - SELECT SUM(`kibana_sample_data_flights`.`DistanceMiles`) AS `sum_DistanceMiles_ok` FROM `kibana_sample_data_flights` GROUP BY 1 - SELECT YEAR(`kibana_sample_data_flights`.`timestamp`) AS `yr_timestamp_ok` FROM `kibana_sample_data_flights` GROUP BY 1 + SELECT SUBSTRING(`opensearch_dashboards_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 + SELECT SUM(`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) AS `sum_Offset_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 + SELECT SUM(`opensearch_dashboards_sample_data_flights`.`FlightDelay`) AS `sum_FlightDelay_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 + SELECT SUM(`opensearch_dashboards_sample_data_flights`.`DistanceMiles`) AS `sum_DistanceMiles_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 + SELECT YEAR(`opensearch_dashboards_sample_data_flights`.`timestamp`) AS `yr_timestamp_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 ================================= @@ -252,15 +252,15 @@ $ ./gradlew :integ-test:comparisonTest -Dqueries=sanity_integration_tests.txt ... Test query set : SQL queries (first 5 in 7): - SELECT AvgTicketPrice, Cancelled, Carrier, FlightDelayMin, timestamp FROM kibana_sample_data_flights - SELECT AvgTicketPrice AS avg, Cancelled AS cancel, Carrier AS carrier, FlightDelayMin AS delay, timestamp AS ts FROM kibana_sample_data_flights - SELECT Carrier, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY Carrier - SELECT Carrier, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY Carrier HAVING AVG(FlightDelayMin) > 5 - SELECT YEAR(timestamp) FROM kibana_sample_data_flights + SELECT AvgTicketPrice, Cancelled, Carrier, FlightDelayMin, timestamp FROM opensearch_dashboards_sample_data_flights + SELECT AvgTicketPrice AS avg, Cancelled AS cancel, Carrier AS carrier, FlightDelayMin AS delay, timestamp AS ts FROM opensearch_dashboards_sample_data_flights + SELECT Carrier, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY Carrier + SELECT Carrier, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY Carrier HAVING AVG(FlightDelayMin) > 5 + SELECT YEAR(timestamp) FROM opensearch_dashboards_sample_data_flights ... ``` -Specify external Elasticsearch cluster by `esHost` argument, otherwise an internal Elasticsearch in workspace is in use by default. +Specify external OpenSearch cluster by `esHost` argument, otherwise an internal OpenSearch in workspace is in use by default. ``` $ ./gradlew :integ-test:comparisonTest -DesHost=localhost:9200 diff --git a/docs/developing.rst b/docs/developing.rst index 5c854083c16..acb1f0531d1 100644 --- a/docs/developing.rst +++ b/docs/developing.rst @@ -17,7 +17,7 @@ Prerequisites JDK --- -Specific version of JDK is required to build the plugin because of the dependency on Elasticsearch test framework in our integration test. So you must have the required version of JDK installation on your machine. After the installation, please configure the ``JAVA_HOME`` environment variable accordingly. If everything goes right, you should something similar to this sample output on macOS (take OpenJDK 14 for example):: +Specific version of JDK is required to build the plugin because of the dependency on OpenSearch test framework in our integration test. So you must have the required version of JDK installation on your machine. After the installation, please configure the ``JAVA_HOME`` environment variable accordingly. If everything goes right, you should something similar to this sample output on macOS (take OpenJDK 14 for example):: $ echo $JAVA_HOME /Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home @@ -29,14 +29,14 @@ Specific version of JDK is required to build the plugin because of the dependenc Here are the official instructions on how to set ``JAVA_HOME`` for different platforms: https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/. -Elasticsearch & Kibana ----------------------- +OpenSearch & OpenSearch Dashboards +---------------------------------- -For convenience, we recommend installing `Elasticsearch `_ and `Kibana `_ on your local machine. You can download the open source ZIP for each and extract them to a folder. +For convenience, we recommend installing `OpenSearch `_ and `OpenSearch Dashboards `_ on your local machine. You can download the open source ZIP for each and extract them to a folder. -If you just want to have a quick look, you can also get an Elasticsearch running with plugin installed by ``./gradlew :plugin:run``. +If you just want to have a quick look, you can also get an OpenSearch running with plugin installed by ``./gradlew :plugin:run``. -Kibana is optional, but makes it easier to test your queries. Alternately, you can use curl from the terminal to run queries against the plugin. +OpenSearch Dashboards is optional, but makes it easier to test your queries. Alternately, you can use curl from the terminal to run queries against the plugin. Getting Source Code =================== @@ -57,7 +57,7 @@ If there is update in master or you want to keep the forked repository long livi $ git checkout $ git merge master -After getting the source code as well as Elasticsearch and Kibana, your workspace layout may look like this:: +After getting the source code as well as OpenSearch and OpenSearch Dashboards, your workspace layout may look like this:: $ mkdir opendistro $ cd opendistro @@ -65,8 +65,8 @@ After getting the source code as well as Elasticsearch and Kibana, your workspac total 32 drwxr-xr-x 7 user group^users 4096 Nov 21 12:59 . drwxr-xr-x 19 user group^users 4096 Nov 21 09:44 .. - drwxr-xr-x 10 user group^users 4096 Nov 8 12:16 elasticsearch-7.3.2 - drwxr-xr-x 14 user group^users 4096 Nov 8 12:14 kibana-7.3.2-linux-x86_64 + drwxr-xr-x 10 user group^users 4096 Nov 8 12:16 opensearch + drwxr-xr-x 14 user group^users 4096 Nov 8 12:14 opensearch-dashboards drwxr-xr-x 16 user group^users 4096 Nov 15 10:59 sql @@ -78,12 +78,12 @@ You can develop the plugin in your favorite IDEs such as Eclipse and IntelliJ ID Java Language Level ------------------- -Although later version of JDK is required to build the plugin, the Java language level needs to be Java 8 for compatibility. Only in this case your plugin works with Elasticsearch running against JDK 8. Otherwise it will raise runtime exception when executing new API from new JDK. In case your IDE doesn’t set it right, you may want to double check your project setting after import. +Although later version of JDK is required to build the plugin, the Java language level needs to be Java 8 for compatibility. Only in this case your plugin works with OpenSearch running against JDK 8. Otherwise it will raise runtime exception when executing new API from new JDK. In case your IDE doesn’t set it right, you may want to double check your project setting after import. Remote Debugging ---------------- -Firstly you need to add the following configuration to the JVM used by your IDE. For Intellij IDEA, it should be added to ``/config/jvm.options`` file. After configuring this, an agent in JVM will listen on the port when your Elasticsearch bootstraps and wait for IDE debugger to connect. So you should be able to debug by setting up a “Remote Run/Debug Configuration”:: +Firstly you need to add the following configuration to the JVM used by your IDE. For Intellij IDEA, it should be added to ``/config/jvm.options`` file. After configuring this, an agent in JVM will listen on the port when your OpenSearch bootstraps and wait for IDE debugger to connect. So you should be able to debug by setting up a “Remote Run/Debug Configuration”:: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 @@ -143,7 +143,7 @@ The plugin codebase is in standard layout of Gradle project:: ├── common ├── core ├── doctest - ├── elasticsearch + ├── opensearch ├── integ-test ├── legacy ├── plugin @@ -157,11 +157,11 @@ The plugin codebase is in standard layout of Gradle project:: Here are sub-folders (Gradle modules) for plugin source code: -- ``plugin``: Elasticsearch plugin related code. +- ``plugin``: OpenSearch plugin related code. - ``sql``: SQL language processor. - ``ppl``: PPL language processor. - ``core``: core query engine. -- ``elasticsearch``: Elasticsearch storage engine. +- ``opensearch``: OpenSearch storage engine. - ``protocol``: request/response protocol formatter. - ``common``: common util code. - ``integ-test``: integration and comparison test. @@ -184,7 +184,7 @@ Note that other related project code has already merged into this single reposit Code Convention --------------- -We’re integrated Checkstyle plugin into Gradle build: https://github.com/opendistro-for-elasticsearch/sql/blob/master/config/checkstyle/google_checks.xml. So any violation will fail the build. You need to identify the offending code from Gradle error message and fix them and rerun the Gradle build. Here are the highlight of some Checkstyle rules: +We’re integrated Checkstyle plugin into Gradle build: https://github.com/opensearch-project/sql/blob/master/config/checkstyle/google_checks.xml. So any violation will fail the build. You need to identify the offending code from Gradle error message and fix them and rerun the Gradle build. Here are the highlight of some Checkstyle rules: * 2 spaces indentation. * No line starts with tab character in source file. @@ -229,7 +229,7 @@ To run the task above for specific module, you can do ``./gradlew : Troubleshooting --------------- -Sometimes your Gradle build fails or timeout due to Elasticsearch integration test process hung there. You can check this by the following commands:: +Sometimes your Gradle build fails or timeout due to OpenSearch integration test process hung there. You can check this by the following commands:: #Check if multiple Gradle daemons started by different JDK. #Kill unnecessary ones and restart if necessary. @@ -237,8 +237,8 @@ Sometimes your Gradle build fails or timeout due to Elasticsearch integration te $ ./gradlew stop $ ./gradlew start - #Check if ES integTest process hung there. Kill it if so. - $ ps aux | grep -i elasticsearch + #Check if OpenSearch integTest process hung there. Kill it if so. + $ ps aux | grep -i opensearch #Clean and rebuild $ ./gradlew clean @@ -252,7 +252,7 @@ For test cases, you can use the cases in the following checklist in case you mis - *Functions* - SQL functions - - Special Elasticsearch functions + - Special OpenSearch functions - *Basic Query* @@ -293,11 +293,11 @@ For test cases, you can use the cases in the following checklist in case you mis For unit test: * Put your test class in the same package in src/test/java so you can access and test package-level method. -* Make sure you are testing against the right abstraction with dependencies mocked. For example a bad practice is to create many classes by ESActionFactory class and write test cases on very high level. This makes it more like an integration test. +* Make sure you are testing against the right abstraction with dependencies mocked. For example a bad practice is to create many classes by OpenSearchActionFactory class and write test cases on very high level. This makes it more like an integration test. For integration test: -* Elasticsearch test framework is in use so an in-memory cluster will spin up for each test class. +* OpenSearch test framework is in use so an in-memory cluster will spin up for each test class. * You can only access the plugin and verify the correctness of your functionality via REST client externally. * Our homemade comparison test framework is used heavily to compare with other databases without need of assertion written manually. More details can be found in `Testing <./dev/Testing.md>`_. @@ -324,16 +324,16 @@ Finally thanks to JaCoCo library, you can check out the test coverage in ``/plugins/opendistro-sql} && {kill $(ps aux | awk '/[E]lasticsearch/ {print $2}'); sleep 3; nohup /bin/elasticsearch > ~/Temp/es.log 2>&1 &} + ./gradlew assemble && {echo y | cp -f build/distributions/opendistro_sql-1*0.jar /plugins/opendistro-sql} && {kill $(ps aux | awk '/[O]pensearch/ {print $2}'); sleep 3; nohup /bin/opensearch > ~/Temp/opensearch.log 2>&1 &} Note that for the first time you need to create ``opendistro-sql`` folder and unzip ``build/distribution/opendistro_sql-xxxx.zip`` to it. diff --git a/docs/experiment/ppl/admin/settings.rst b/docs/experiment/ppl/admin/settings.rst index 4d33456770b..df9520d33e1 100644 --- a/docs/experiment/ppl/admin/settings.rst +++ b/docs/experiment/ppl/admin/settings.rst @@ -14,7 +14,7 @@ PPL Settings Introduction ============ -When Elasticsearch bootstraps, PPL plugin will register a few settings in Elasticsearch cluster settings. Most of the settings are able to change dynamically so you can control the behavior of PPL plugin without need to bounce your cluster. +When OpenSearch bootstraps, PPL plugin will register a few settings in OpenSearch cluster settings. Most of the settings are able to change dynamically so you can control the behavior of PPL plugin without need to bounce your cluster. opendistro.ppl.enabled ====================== @@ -122,7 +122,7 @@ opendistro.query.size_limit Description ----------- -The size configure the maximum amount of documents to be pull from Elasticsearch. The default value is: 200 +The size configure the maximum amount of documents to be pull from OpenSearch. The default value is: 200 Notes: This setting will impact the correctness of the aggregation operation, for example, there are 1000 docs in the index, by default, only 200 docs will be extract from index and do aggregation. diff --git a/docs/experiment/ppl/functions/condition.rst b/docs/experiment/ppl/functions/condition.rst index 3ec153065e8..9278eb3c3f8 100644 --- a/docs/experiment/ppl/functions/condition.rst +++ b/docs/experiment/ppl/functions/condition.rst @@ -58,7 +58,7 @@ Example:: EXISTS ------ -`Because Elasticsearch doesn't differentiate null and missing `_. so we can't provide function like ismissing/isnotmissing to test field exist or not. But you can still use isnull/isnotnull for such purpose. +`Because OpenSearch doesn't differentiate null and missing `_. so we can't provide function like ismissing/isnotmissing to test field exist or not. But you can still use isnull/isnotnull for such purpose. Example, the account 13 doesn't have email field:: diff --git a/docs/experiment/ppl/general/datatypes.rst b/docs/experiment/ppl/general/datatypes.rst index 5182abd0180..113880ed003 100644 --- a/docs/experiment/ppl/general/datatypes.rst +++ b/docs/experiment/ppl/general/datatypes.rst @@ -63,47 +63,47 @@ The PPL support the following data types. Data Types Mapping ------------------ -The table below list the mapping between Elasticsearch Data Type, PPL Data Type and SQL Type. - -+--------------------+---------------+-----------+ -| Elasticsearch Type | PPL Type | SQL Type | -+====================+===============+===========+ -| boolean | boolean | BOOLEAN | -+--------------------+---------------+-----------+ -| byte | byte | TINYINT | -+--------------------+---------------+-----------+ -| short | byte | SMALLINT | -+--------------------+---------------+-----------+ -| integer | integer | INTEGER | -+--------------------+---------------+-----------+ -| long | long | BIGINT | -+--------------------+---------------+-----------+ -| float | float | REAL | -+--------------------+---------------+-----------+ -| half_float | float | FLOAT | -+--------------------+---------------+-----------+ -| scaled_float | float | DOUBLE | -+--------------------+---------------+-----------+ -| double | double | DOUBLE | -+--------------------+---------------+-----------+ -| keyword | string | VARCHAR | -+--------------------+---------------+-----------+ -| text | text | VARCHAR | -+--------------------+---------------+-----------+ -| date | timestamp | TIMESTAMP | -+--------------------+---------------+-----------+ -| ip | ip | VARCHAR | -+--------------------+---------------+-----------+ -| date | timestamp | TIMESTAMP | -+--------------------+---------------+-----------+ -| binary | binary | VARBINARY | -+--------------------+---------------+-----------+ -| object | struct | STRUCT | -+--------------------+---------------+-----------+ -| nested | array | STRUCT | -+--------------------+---------------+-----------+ - -Notes: Not all the PPL Type has correspond Elasticsearch Type. e.g. data and time. To use function which required such data type, user should explict convert the data type. +The table below list the mapping between OpenSearch Data Type, PPL Data Type and SQL Type. + ++-----------------+---------------+-----------+ +| OpenSearch Type | PPL Type | SQL Type | ++=================+===============+===========+ +| boolean | boolean | BOOLEAN | ++-----------------+---------------+-----------+ +| byte | byte | TINYINT | ++-----------------+---------------+-----------+ +| short | byte | SMALLINT | ++-----------------+---------------+-----------+ +| integer | integer | INTEGER | ++-----------------+---------------+-----------+ +| long | long | BIGINT | ++-----------------+---------------+-----------+ +| float | float | REAL | ++-----------------+---------------+-----------+ +| half_float | float | FLOAT | ++-----------------+---------------+-----------+ +| scaled_float | float | DOUBLE | ++-----------------+---------------+-----------+ +| double | double | DOUBLE | ++-----------------+---------------+-----------+ +| keyword | string | VARCHAR | ++-----------------+---------------+-----------+ +| text | text | VARCHAR | ++-----------------+---------------+-----------+ +| date | timestamp | TIMESTAMP | ++-----------------+---------------+-----------+ +| ip | ip | VARCHAR | ++-----------------+---------------+-----------+ +| date | timestamp | TIMESTAMP | ++-----------------+---------------+-----------+ +| binary | binary | VARBINARY | ++-----------------+---------------+-----------+ +| object | struct | STRUCT | ++-----------------+---------------+-----------+ +| nested | array | STRUCT | ++-----------------+---------------+-----------+ + +Notes: Not all the PPL Type has correspond OpenSearch Type. e.g. data and time. To use function which required such data type, user should explict convert the data type. @@ -116,7 +116,7 @@ TODO Date and Time Data Types ======================== -The date and time data types are the types that represent temporal values and PPL plugin supports types including DATE, TIME, DATETIME, TIMESTAMP and INTERVAL. By default, the Elasticsearch DSL uses date type as the only date and time related type, which has contained all information about an absolute time point. To integrate with PPL language, each of the types other than timestamp is holding part of temporal or timezone information, and the usage to explicitly clarify the date and time types is reflected in the datetime functions (see `Functions `_ for details), where some functions might have restrictions in the input argument type. +The date and time data types are the types that represent temporal values and PPL plugin supports types including DATE, TIME, DATETIME, TIMESTAMP and INTERVAL. By default, the OpenSearch DSL uses date type as the only date and time related type, which has contained all information about an absolute time point. To integrate with PPL language, each of the types other than timestamp is holding part of temporal or timezone information, and the usage to explicitly clarify the date and time types is reflected in the datetime functions (see `Functions `_ for details), where some functions might have restrictions in the input argument type. Date @@ -228,7 +228,7 @@ A string is a sequence of characters enclosed in either single or double quotes. Query Struct Data Types ======================= -In PPL, the Struct Data Types corresponding to the `Object field type in Elasticsearch `_. The "." is used as the path selector when access the inner attribute of the struct data. +In PPL, the Struct Data Types corresponding to the `Object field type in OpenSearch `_. The "." is used as the path selector when access the inner attribute of the struct data. Example: People --------------- diff --git a/docs/experiment/ppl/general/identifiers.rst b/docs/experiment/ppl/general/identifiers.rst index 951accfbb68..b46584b5978 100644 --- a/docs/experiment/ppl/general/identifiers.rst +++ b/docs/experiment/ppl/general/identifiers.rst @@ -23,9 +23,9 @@ Description A regular identifier is a string of characters that must start with ASCII letter (lower or upper case). The subsequent character can be a combination of letter, digit, underscore (``_``). It cannot be a reversed key word. And whitespace and other special characters are not allowed. -For Elasticsearch, the following identifiers are supported extensionally: +For OpenSearch, the following identifiers are supported extensionally: -1. Identifiers prefixed by dot ``.``: this is called hidden index in Elasticsearch, for example ``.kibana``. +1. Identifiers prefixed by dot ``.``: this is called hidden index in OpenSearch, for example ``.opensearch_dashboards``. 2. Identifiers prefixed by at sign ``@``: this is common for meta fields generated in Logstash ingestion. 3. Identifiers with ``-`` in the middle: this is mostly the case for index name with date information. 4. Identifiers with star ``*`` present: this is mostly an index pattern for wildcard match. @@ -64,7 +64,7 @@ Here are typical examples of the use of delimited identifiers: 1. Identifiers of reserved key word name 2. Identifiers with dot ``.`` present: similarly as ``-`` in index name to include date information, it is required to be quoted so parser can differentiate it from identifier with qualifiers. -3. Identifiers with other special character: Elasticsearch has its own rule which allows more special character, for example Unicode character is supported in index name. +3. Identifiers with other special character: OpenSearch has its own rule which allows more special character, for example Unicode character is supported in index name. Examples -------- @@ -89,7 +89,7 @@ Case Sensitivity Description ----------- -Identifiers are treated in case sensitive manner. So it must be exactly same as what is stored in Elasticsearch. +Identifiers are treated in case sensitive manner. So it must be exactly same as what is stored in OpenSearch. Examples -------- diff --git a/docs/experiment/ppl/index.rst b/docs/experiment/ppl/index.rst index 2c1b19e7ff6..dded169aebe 100644 --- a/docs/experiment/ppl/index.rst +++ b/docs/experiment/ppl/index.rst @@ -5,9 +5,9 @@ OpenDistro PPL Reference Manual Overview --------- -Piped Processing Language (PPL), powered by Open Distro for Elasticsearch, enables Open Distro for Elasticsearch users with exploration and discovery of, and finding search patterns in data stored in Elasticsearch, using a set of commands delimited by pipes (|). These are essentially read-only requests to process data and return results. +Piped Processing Language (PPL), powered by OpenSearch, enables OpenSearch users with exploration and discovery of, and finding search patterns in data stored in OpenSearch, using a set of commands delimited by pipes (|). These are essentially read-only requests to process data and return results. -Currently, Open Distro for Elasticsearch users can query data using either Query DSL or SQL. Query DSL is powerful and fast. However, it has a steep learning curve, and was not designed as a human interface to easily create ad hoc queries and explore user data. SQL allows users to extract and analyze data in Elasticsearch in a declarative manner. Open Distro for Elasticsearch now makes its search and query engine robust by introducing Piped Processing Language (PPL). It enables users to extract insights from Elasticsearch with a sequence of commands delimited by pipes (|). It supports a comprehensive set of commands including search, where, fields, rename, dedup, sort, eval, head, top and rare, and functions, operators and expressions. Even new users who have recently adopted Open Distro for Elasticsearch, can be productive day one, if they are familiar with the pipe (|) syntax. It enables developers, DevOps engineers, support engineers, site reliability engineers (SREs), and IT managers to effectively discover and explore log, monitoring and observability data stored in Open Distro for Elasticsearch. +Currently, OpenSearch users can query data using either Query DSL or SQL. Query DSL is powerful and fast. However, it has a steep learning curve, and was not designed as a human interface to easily create ad hoc queries and explore user data. SQL allows users to extract and analyze data in OpenSearch in a declarative manner. OpenSearch now makes its search and query engine robust by introducing Piped Processing Language (PPL). It enables users to extract insights from OpenSearch with a sequence of commands delimited by pipes (|). It supports a comprehensive set of commands including search, where, fields, rename, dedup, sort, eval, head, top and rare, and functions, operators and expressions. Even new users who have recently adopted OpenSearch, can be productive day one, if they are familiar with the pipe (|) syntax. It enables developers, DevOps engineers, support engineers, site reliability engineers (SREs), and IT managers to effectively discover and explore log, monitoring and observability data stored in OpenSearch. We expand the capabilities of our Workbench, a comprehensive and integrated visual query tool currently supporting only SQL, to run on-demand PPL commands, and view and save results as text and JSON. We also add a new interactive standalone command line tool, the PPL CLI, to run on-demand PPL commands, and view and save results as text and JSON. diff --git a/docs/experiment/ppl/interfaces/endpoint.rst b/docs/experiment/ppl/interfaces/endpoint.rst index 94a3cea63bf..408b9a78957 100644 --- a/docs/experiment/ppl/interfaces/endpoint.rst +++ b/docs/experiment/ppl/interfaces/endpoint.rst @@ -76,7 +76,7 @@ You can send HTTP explain request to endpoint **/_opendistro/_ppl/_explain** wit Example ------- -The following PPL query demonstrated that where and stats command were pushed down to Elasticsearch DSL aggregation query:: +The following PPL query demonstrated that where and stats command were pushed down to OpenSearch DSL aggregation query:: sh$ curl -sS -H 'Content-Type: application/json' \ ... -X POST localhost:9200/_opendistro/_ppl/_explain \ @@ -89,9 +89,9 @@ The following PPL query demonstrated that where and stats command were pushed do }, "children": [ { - "name": "ElasticsearchIndexScan", + "name": "OpenSearchIndexScan", "description": { - "request": "ElasticsearchQueryRequest(indexName=accounts, sourceBuilder={\"from\":0,\"size\":0,\"timeout\":\"1m\",\"query\":{\"range\":{\"age\":{\"from\":10,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}},\"sort\":[{\"_doc\":{\"order\":\"asc\"}}],\"aggregations\":{\"avg(age)\":{\"avg\":{\"field\":\"age\"}}}}, searchDone=false)" + "request": "OpenSearchQueryRequest(indexName=accounts, sourceBuilder={\"from\":0,\"size\":0,\"timeout\":\"1m\",\"query\":{\"range\":{\"age\":{\"from\":10,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}},\"sort\":[{\"_doc\":{\"order\":\"asc\"}}],\"aggregations\":{\"avg(age)\":{\"avg\":{\"field\":\"age\"}}}}, searchDone=false)" }, "children": [] } diff --git a/docs/experiment/ppl/interfaces/protocol.rst b/docs/experiment/ppl/interfaces/protocol.rst index 8cb4ea7b5b9..4e82816ff68 100644 --- a/docs/experiment/ppl/interfaces/protocol.rst +++ b/docs/experiment/ppl/interfaces/protocol.rst @@ -128,8 +128,8 @@ PPL query:: ... -d '{"query" : "source=unknown | fields firstname, lastname"}' { "error": { - "reason": "Error occurred in Elasticsearch engine: no such index [unknown]", - "details": "org.elasticsearch.index.IndexNotFoundException: no such index [unknown]\nFor more details, please send request for Json format to see the raw response from elasticsearch engine.", + "reason": "Error occurred in OpenSearch engine: no such index [unknown]", + "details": "org.opensearch.index.IndexNotFoundException: no such index [unknown]\nFor more details, please send request for Json format to see the raw response from OpenSearch engine.", "type": "IndexNotFoundException" }, "status": 404 diff --git a/docs/presentations/20201116-sql-demo.md b/docs/presentations/20201116-sql-demo.md index 7e0dd4cd2d2..7c41741bddb 100644 --- a/docs/presentations/20201116-sql-demo.md +++ b/docs/presentations/20201116-sql-demo.md @@ -19,11 +19,11 @@ Topics: Here is a great blog that covers main features of SQL, Query Workbench, SQL-CLI, JDBC/ODBC driver: https://opendistro.github.io/for-elasticsearch/blog/odfe-updates/2020/06/An-overview-of-the-SQL-Engine-in-Open-Distro-for-Elasticsearch/ -Now we can start the demo. Note that you can follow the instructions in Resources (II) Demo Cluster to set up Elasticsearch and Kibana cluster locally. +Now we can start the demo. Note that you can follow the instructions in Resources (II) Demo Cluster to set up OpenSearch and OpenSearch Dashboards cluster locally. ## Current SQL Engine -Demonstrate the support for basic SQL queries, complex queries and Elasticsearch functions. +Demonstrate the support for basic SQL queries, complex queries and OpenSearch functions. ``` #Queries @@ -43,7 +43,7 @@ JOIN kibana_sample_data_flights f2 ON f1.FlightNum = f2.FlightNum WHERE f1.OriginWeather = 'Sunny' -#Elasticsearch +#OpenSearch ##Full text search SELECT customer_full_name FROM kibana_sample_data_ecommerce @@ -94,7 +94,7 @@ GROUP BY sub 1. SQL standard 1. SQL Functions 2. Complex queries: JOINs -2. Elasticsearch +2. OpenSearch 1. More nested field support 2. More metrics and bucket functions @@ -114,8 +114,8 @@ Contribution: https://github.com/opendistro-for-elasticsearch/sql/blob/develop/d 1. Create a Docker compose file as below 2. Start docker container: `docker-compose up` -3. Visit Kibana on http://localhost:5601 (default username and password are both `admin`) -4. Load Kibana sample flights and ecommerce indices and `employees` test index as below +3. Visit OpenSearch Dashboards on http://localhost:5601 (default username and password are both `admin`) +4. Load OpenSearch Dashboards sample flights and ecommerce indices and `employees` test index as below 5. Start playing with our SQL plugin diff --git a/docs/user/admin/settings.rst b/docs/user/admin/settings.rst index 0c0b144b9e4..d67ac9d2456 100644 --- a/docs/user/admin/settings.rst +++ b/docs/user/admin/settings.rst @@ -14,7 +14,7 @@ Plugin Settings Introduction ============ -When Elasticsearch bootstraps, SQL plugin will register a few settings in Elasticsearch cluster settings. Most of the settings are able to change dynamically so you can control the behavior of SQL plugin without need to bounce your cluster. +When OpenSearch bootstraps, SQL plugin will register a few settings in OpenSearch cluster settings. Most of the settings are able to change dynamically so you can control the behavior of SQL plugin without need to bounce your cluster. opendistro.sql.enabled @@ -85,7 +85,7 @@ opendistro.sql.query.slowlog Description ----------- -You can configure the time limit (seconds) for slow query which would be logged as 'Slow query: elapsed=xxx (ms)' in elasticsearch.log. +You can configure the time limit (seconds) for slow query which would be logged as 'Slow query: elapsed=xxx (ms)' in opensearch.log. 1. The default value is 2. 2. This setting is node scope. @@ -561,7 +561,7 @@ opendistro.query.size_limit Description ----------- -The new engine fetches a default size of index from Elasticsearch set by this setting, the default value is 200. You can change the value to any value not greater than the max result window value in index level (10000 by default), here is an example:: +The new engine fetches a default size of index from OpenSearch set by this setting, the default value is 200. You can change the value to any value not greater than the max result window value in index level (10000 by default), here is an example:: >> curl -H 'Content-Type: application/json' -X PUT localhost:9200/_cluster/settings -d '{ "transient" : { diff --git a/docs/user/beyond/fulltext.rst b/docs/user/beyond/fulltext.rst index a69e4e92c6b..7b9d195ef0c 100644 --- a/docs/user/beyond/fulltext.rst +++ b/docs/user/beyond/fulltext.rst @@ -12,7 +12,7 @@ Full-text Search Introduction ============ -Full-text search is for searching a single stored document which is distinguished from regular search based on original texts in database. It tries to match search criteria by examining all of the words in each document. In Elasticsearch, full-text queries provided enables you to search text fields analyzed during indexing. +Full-text search is for searching a single stored document which is distinguished from regular search based on original texts in database. It tries to match search criteria by examining all of the words in each document. In OpenSearch, full-text queries provided enables you to search text fields analyzed during indexing. Match Query =========== @@ -20,7 +20,7 @@ Match Query Description ----------- -Match query is the standard query for full-text search in Elasticsearch. Both ``MATCHQUERY`` and ``MATCH_QUERY`` are functions for performing match query. +Match query is the standard query for full-text search in OpenSearch. Both ``MATCHQUERY`` and ``MATCH_QUERY`` are functions for performing match query. Example 1 --------- @@ -404,7 +404,7 @@ Score Query Description ----------- -Elasticsearch supports to wrap a filter query so as to return a relevance score along with every matching document. ``SCORE``, ``SCOREQUERY`` and ``SCORE_QUERY`` can be used for this. +OpenSearch supports to wrap a filter query so as to return a relevance score along with every matching document. ``SCORE``, ``SCOREQUERY`` and ``SCORE_QUERY`` can be used for this. Example ------- diff --git a/docs/user/beyond/partiql.rst b/docs/user/beyond/partiql.rst index 8954cfdd387..467a5e570ef 100644 --- a/docs/user/beyond/partiql.rst +++ b/docs/user/beyond/partiql.rst @@ -12,7 +12,7 @@ PartiQL (JSON) Support Introduction ============ -In Elasticsearch, there are two types of JSON field in Elasticsarch (called "properties"): ``object`` and ``nested``. An object field can have inner field(s) which could be a simple one or another object field recursively. A nested field is a special version of object type that allows inner field be queried independently. +In OpenSearch, there are two types of JSON field (called "properties"): ``object`` and ``nested``. An object field can have inner field(s) which could be a simple one or another object field recursively. A nested field is a special version of object type that allows inner field be queried independently. To support queries for both types, we follow the query language syntax defined in PartiQL specification. PartiQL is a SQL-compatible query language that makes it easy and efficient to query semi-structured and nested data regardless of data format. For now our implementation is only partially compatible with PartiQL specification and more support will be provided in future. @@ -176,7 +176,7 @@ Querying Nested Tuple Values Description ----------- -Before looking into how nested object field (tuple values) be queried, we need to figure out how many cases are there and how it being handled by our SQL implementation. Therefore, first of all, let's examine different cases by the query support matrix as follows. This matrix summerizes what has been supported so far for queries with the object and nested fields involved. Note that another complexity is that any field in Elasticsearch, regular or property, can have contain more than one values in a single document. This makes object field not always a tuple value which needs to be handled separately. +Before looking into how nested object field (tuple values) be queried, we need to figure out how many cases are there and how it being handled by our SQL implementation. Therefore, first of all, let's examine different cases by the query support matrix as follows. This matrix summerizes what has been supported so far for queries with the object and nested fields involved. Note that another complexity is that any field in OpenSearch, regular or property, can have contain more than one values in a single document. This makes object field not always a tuple value which needs to be handled separately. +-------------------------+---------------+-----------------------+---------------------------------------------+-------------------------+ | Level/Field Type | Object Fields | Object Fields (array) | Nested Fields | Comment | @@ -230,7 +230,7 @@ Querying Nested Collection Description ----------- -In SQL-92, a database table can only have tuples that consists of scalar values. PartiQL extends SQL-92 to allow you query and unnest nested collection conveniently. In Elasticsearch world, this is very useful for index with object or nested field. +In SQL-92, a database table can only have tuples that consists of scalar values. PartiQL extends SQL-92 to allow you query and unnest nested collection conveniently. In OpenSearch world, this is very useful for index with object or nested field. Example 1: Unnesting a Nested Collection ---------------------------------------- diff --git a/docs/user/dql/basics.rst b/docs/user/dql/basics.rst index 560484ddb71..d4ce0be4004 100644 --- a/docs/user/dql/basics.rst +++ b/docs/user/dql/basics.rst @@ -13,7 +13,7 @@ Basic Queries Introduction ============ -``SELECT`` statement in SQL is the most common query that retrieves data from Elasticsearch index. In this doc, only simple ``SELECT`` statement with single index and query involved is covered. A ``SELECT`` statement includes ``SELECT``, ``FROM``, ``WHERE``, ``GROUP BY``, ``HAVING``, ``ORDER BY`` and ``LIMIT`` clause. Among these clauses, ``SELECT`` and ``FROM`` are the foundation to specify which fields to be fetched and which index they should be fetched from. All others are optional and used according to your needs. Please read on for their description, syntax and use cases in details. +``SELECT`` statement in SQL is the most common query that retrieves data from OpenSearch index. In this doc, only simple ``SELECT`` statement with single index and query involved is covered. A ``SELECT`` statement includes ``SELECT``, ``FROM``, ``WHERE``, ``GROUP BY``, ``HAVING``, ``ORDER BY`` and ``LIMIT`` clause. Among these clauses, ``SELECT`` and ``FROM`` are the foundation to specify which fields to be fetched and which index they should be fetched from. All others are optional and used according to your needs. Please read on for their description, syntax and use cases in details. Syntax ------ @@ -33,7 +33,7 @@ Although multiple query statements to execute in batch is not supported, ending Fundamentals ------------ -Apart from predefined keyword of SQL language, the most basic element is literal and identifier. Literal is numeric, string, date or boolean constant. Identifier represents Elasticsearch index or field name. With arithmetic operators and SQL functions applied, the basic literals and identifiers can be built into complex expression. +Apart from predefined keyword of SQL language, the most basic element is literal and identifier. Literal is numeric, string, date or boolean constant. Identifier represents OpenSearch index or field name. With arithmetic operators and SQL functions applied, the basic literals and identifiers can be built into complex expression. Rule ``expressionAtom``: @@ -68,7 +68,7 @@ SELECT Description ----------- -``SELECT`` clause specifies which fields in Elasticsearch index should be retrieved. +``SELECT`` clause specifies which fields in OpenSearch index should be retrieved. Syntax ------ @@ -273,7 +273,7 @@ FROM Description ----------- -``FROM`` clause specifies Elasticsearch index where the data should be retrieved from. You've seen how to specify a single index in FROM clause in last section. Here we provide examples for more use cases. +``FROM`` clause specifies OpenSearch index where the data should be retrieved from. You've seen how to specify a single index in FROM clause in last section. Here we provide examples for more use cases. Subquery in ``FROM`` clause is also supported. Please check out the documentation for more details. @@ -311,7 +311,7 @@ SQL query:: Example 3: [Deprecating] Selecting From Specific Index Type ----------------------------------------------------------- -You can also specify type name explicitly though this has been deprecated in later Elasticsearch version. +You can also specify type name explicitly though this has been deprecated in later OpenSearch version. SQL query:: @@ -326,7 +326,7 @@ WHERE Description ----------- -``WHERE`` clause specifies only Elasticsearch documents that meet the criteria should be affected. It consists of predicates that uses ``=``, ``<>``, ``>``, ``>=``, ``<``, ``<=``, ``IN``, ``BETWEEN``, ``LIKE``, ``IS NULL`` or ``IS NOT NULL``. These predicates can be combined by logical operator ``NOT``, ``AND`` or ``OR`` to build more complex expression. +``WHERE`` clause specifies only OpenSearch documents that meet the criteria should be affected. It consists of predicates that uses ``=``, ``<>``, ``>``, ``>=``, ``<``, ``<=``, ``IN``, ``BETWEEN``, ``LIKE``, ``IS NULL`` or ``IS NOT NULL``. These predicates can be combined by logical operator ``NOT``, ``AND`` or ``OR`` to build more complex expression. For ``LIKE`` and other full text search topics, please refer to Full Text Search documentation. @@ -397,7 +397,7 @@ Result set: Example 2: Missing Fields ------------------------- -As NoSQL database, Elasticsearch allows for flexible schema that documents in an index may have different fields. In this case, you can use ``IS NULL`` or ``IS NOT NULL`` to retrieve missing fields or existing fields only. +As NoSQL database, OpenSearch allows for flexible schema that documents in an index may have different fields. In this case, you can use ``IS NULL`` or ``IS NOT NULL`` to retrieve missing fields or existing fields only. Note that for now we don't differentiate missing field and field set to ``NULL`` explicitly. @@ -892,7 +892,7 @@ Result set: Example 2: Specifying Order for Null ------------------------------------ -Additionally you can specify if documents with missing field be put first or last. The default behavior of Elasticsearch is to return nulls or missing last. You can make them present before non-nulls by using ``IS NOT NULL``. +Additionally you can specify if documents with missing field be put first or last. The default behavior of OpenSearch is to return nulls or missing last. You can make them present before non-nulls by using ``IS NOT NULL``. SQL query:: @@ -1113,6 +1113,6 @@ Offset position can be given following the OFFSET keyword as well, here is an ex Limitation ---------- -Generally, sort plan is pushed down into the Elasticsearch DSL in plan optimization, but note that if a query has complex sorting, like sort expression, which would not be pushed down during optimization (see `Optimizations <../optimization/optimization.rst>`_ for details), but computed in local memory. However, the engine fetches the index of a default size that is set in plugin setting (See `Settings <../admin/settings.rst>` opendistro.query.size_limit for details). Therefore, the result might not be absolutely correct if the index size is larger than the default size of index scan. For example, the engine has a index scan size of 200 and the index size is 500. Then a query with limit 300 can only fetch 200 rows of the index, compute and return the sorted result with 200 rows, while the rest 300 rows of the index are ignored and would not be fetched into the engine. To get an absolutely correct result, it is suggested to set the query size limit to a larger value before run the query. +Generally, sort plan is pushed down into the OpenSearch DSL in plan optimization, but note that if a query has complex sorting, like sort expression, which would not be pushed down during optimization (see `Optimizations <../optimization/optimization.rst>`_ for details), but computed in local memory. However, the engine fetches the index of a default size that is set in plugin setting (See `Settings <../admin/settings.rst>` opendistro.query.size_limit for details). Therefore, the result might not be absolutely correct if the index size is larger than the default size of index scan. For example, the engine has a index scan size of 200 and the index size is 500. Then a query with limit 300 can only fetch 200 rows of the index, compute and return the sorted result with 200 rows, while the rest 300 rows of the index are ignored and would not be fetched into the engine. To get an absolutely correct result, it is suggested to set the query size limit to a larger value before run the query. diff --git a/docs/user/dql/complex.rst b/docs/user/dql/complex.rst index 11d6e01d9b1..bc4dbf6d3cd 100644 --- a/docs/user/dql/complex.rst +++ b/docs/user/dql/complex.rst @@ -9,7 +9,7 @@ Complex Queries :local: :depth: 2 -Besides simple SFW queries (SELECT-FROM-WHERE), there is also support for complex queries such as Subquery, ``JOIN``, ``UNION`` and ``MINUS``. For these queries, more than one Elasticsearch index and DSL query is involved. You can check out how they are performed behind the scene by our explain API. +Besides simple SFW queries (SELECT-FROM-WHERE), there is also support for complex queries such as Subquery, ``JOIN``, ``UNION`` and ``MINUS``. For these queries, more than one OpenSearch index and DSL query is involved. You can check out how they are performed behind the scene by our explain API. Subquery ======== @@ -297,7 +297,7 @@ Example 1: Inner Join Inner join is very commonly used that creates a new result set by combining columns of two indices based on the join predicates specified. It iterates both indices and compare each document to find all that satisfy the join predicates. Keyword ``JOIN`` is used and preceded by ``INNER`` keyword optionally. The join predicate(s) is specified by ``ON`` clause. - Remark that the explain API output for join queries looks complicated. This is because a join query is associated with two Elasticsearch DSL queries underlying and execute in the separate query planner framework. You can interpret it by looking into the logical plan and physical plan. + Remark that the explain API output for join queries looks complicated. This is because a join query is associated with two OpenSearch DSL queries underlying and execute in the separate query planner framework. You can interpret it by looking into the logical plan and physical plan. SQL query:: diff --git a/docs/user/dql/troubleshooting.rst b/docs/user/dql/troubleshooting.rst index bfab636156d..0d595c3d1aa 100644 --- a/docs/user/dql/troubleshooting.rst +++ b/docs/user/dql/troubleshooting.rst @@ -62,7 +62,7 @@ Go to the step 2 if not working. #. Disable strict query analysis in new ANTLR parser with the following code block. -#. Verify if the query can pass now. If the query fails as well, please create an issue in our `GitHub Issues `_ section to report bugs fixing or request new features. +#. Verify if the query can pass now. If the query fails as well, please create an issue in our `GitHub Issues `_ section to report bugs fixing or request new features. .. code-block:: JSON @@ -97,4 +97,4 @@ Index Mapping Verification Exception **Workaround** -If index in query is not an index pattern (index name ends with wildcard), check if the index has multiple types. If nothing works during your workaround, please create an issue in our `GitHub Issues `_ section so that we can provide you with our suggestions and help. \ No newline at end of file +If index in query is not an index pattern (index name ends with wildcard), check if the index has multiple types. If nothing works during your workaround, please create an issue in our `GitHub Issues `_ section so that we can provide you with our suggestions and help. \ No newline at end of file diff --git a/docs/user/general/datatypes.rst b/docs/user/general/datatypes.rst index 768eb850646..9372dcef19c 100644 --- a/docs/user/general/datatypes.rst +++ b/docs/user/general/datatypes.rst @@ -63,47 +63,47 @@ The ODFE SQL Engine support the following data types. Data Types Mapping ------------------ -The table below list the mapping between Elasticsearch Data Type, ODFE SQL Data Type and SQL Type. - -+--------------------+---------------+-----------+ -| Elasticsearch Type | ODFE SQL Type | SQL Type | -+====================+===============+===========+ -| boolean | boolean | BOOLEAN | -+--------------------+---------------+-----------+ -| byte | byte | TINYINT | -+--------------------+---------------+-----------+ -| short | byte | SMALLINT | -+--------------------+---------------+-----------+ -| integer | integer | INTEGER | -+--------------------+---------------+-----------+ -| long | long | BIGINT | -+--------------------+---------------+-----------+ -| float | float | REAL | -+--------------------+---------------+-----------+ -| half_float | float | FLOAT | -+--------------------+---------------+-----------+ -| scaled_float | float | DOUBLE | -+--------------------+---------------+-----------+ -| double | double | DOUBLE | -+--------------------+---------------+-----------+ -| keyword | string | VARCHAR | -+--------------------+---------------+-----------+ -| text | text | VARCHAR | -+--------------------+---------------+-----------+ -| date | timestamp | TIMESTAMP | -+--------------------+---------------+-----------+ -| ip | ip | VARCHAR | -+--------------------+---------------+-----------+ -| date | timestamp | TIMESTAMP | -+--------------------+---------------+-----------+ -| binary | binary | VARBINARY | -+--------------------+---------------+-----------+ -| object | struct | STRUCT | -+--------------------+---------------+-----------+ -| nested | array | STRUCT | -+--------------------+---------------+-----------+ - -Notes: Not all the ODFE SQL Type has correspond Elasticsearch Type. e.g. data and time. To use function which required such data type, user should explicitly convert the data type. +The table below list the mapping between OpenSearch Data Type, ODFE SQL Data Type and SQL Type. + ++-----------------+---------------+-----------+ +| OpenSearch Type | ODFE SQL Type | SQL Type | ++=================+===============+===========+ +| boolean | boolean | BOOLEAN | ++-----------------+---------------+-----------+ +| byte | byte | TINYINT | ++-----------------+---------------+-----------+ +| short | byte | SMALLINT | ++-----------------+---------------+-----------+ +| integer | integer | INTEGER | ++-----------------+---------------+-----------+ +| long | long | BIGINT | ++-----------------+---------------+-----------+ +| float | float | REAL | ++-----------------+---------------+-----------+ +| half_float | float | FLOAT | ++-----------------+---------------+-----------+ +| scaled_float | float | DOUBLE | ++-----------------+---------------+-----------+ +| double | double | DOUBLE | ++-----------------+---------------+-----------+ +| keyword | string | VARCHAR | ++-----------------+---------------+-----------+ +| text | text | VARCHAR | ++-----------------+---------------+-----------+ +| date | timestamp | TIMESTAMP | ++-----------------+---------------+-----------+ +| ip | ip | VARCHAR | ++-----------------+---------------+-----------+ +| date | timestamp | TIMESTAMP | ++-----------------+---------------+-----------+ +| binary | binary | VARBINARY | ++-----------------+---------------+-----------+ +| object | struct | STRUCT | ++-----------------+---------------+-----------+ +| nested | array | STRUCT | ++-----------------+---------------+-----------+ + +Notes: Not all the ODFE SQL Type has correspond OpenSearch Type. e.g. data and time. To use function which required such data type, user should explicitly convert the data type. Undefined Data Type @@ -131,7 +131,7 @@ TODO Date and Time Data Types ======================== -The date and time data types are the types that represent temporal values and SQL plugin supports types including DATE, TIME, DATETIME, TIMESTAMP and INTERVAL. By default, the Elasticsearch DSL uses date type as the only date and time related type, which has contained all information about an absolute time point. To integrate with SQL language, each of the types other than timestamp is holding part of temporal or timezone information, and the usage to explicitly clarify the date and time types is reflected in the datetime functions (see `Functions `_ for details), where some functions might have restrictions in the input argument type. +The date and time data types are the types that represent temporal values and SQL plugin supports types including DATE, TIME, DATETIME, TIMESTAMP and INTERVAL. By default, the OpenSearch DSL uses date type as the only date and time related type, which has contained all information about an absolute time point. To integrate with SQL language, each of the types other than timestamp is holding part of temporal or timezone information, and the usage to explicitly clarify the date and time types is reflected in the datetime functions (see `Functions `_ for details), where some functions might have restrictions in the input argument type. Date diff --git a/docs/user/general/identifiers.rst b/docs/user/general/identifiers.rst index b94593228bc..8adbce0b289 100644 --- a/docs/user/general/identifiers.rst +++ b/docs/user/general/identifiers.rst @@ -21,14 +21,14 @@ Regular Identifiers Description ----------- -According to ANSI SQL standard, a regular identifier is a string of characters that must start with ASCII letter (lower or upper case). The subsequent character can be a combination of letter, digit, underscore (``_``). It cannot be a reversed key word. And whitespace and other special characters are not allowed. Additionally in our SQL parser, we make extension to the rule for Elasticsearch storage as shown in next sub-section. +According to ANSI SQL standard, a regular identifier is a string of characters that must start with ASCII letter (lower or upper case). The subsequent character can be a combination of letter, digit, underscore (``_``). It cannot be a reversed key word. And whitespace and other special characters are not allowed. Additionally in our SQL parser, we make extension to the rule for OpenSearch storage as shown in next sub-section. Extensions ---------- -For Elasticsearch, the following identifiers are supported extensionally by our SQL parser for convenience (without the need of being delimited as shown in next section): +For OpenSearch, the following identifiers are supported extensionally by our SQL parser for convenience (without the need of being delimited as shown in next section): -1. Identifiers prefixed by dot ``.``: this is called hidden index in Elasticsearch, for example ``.kibana``. +1. Identifiers prefixed by dot ``.``: this is called hidden index in OpenSearch, for example ``.opensearch_dashboards``. 2. Identifiers prefixed by at sign ``@``: this is common for meta fields generated in Logstash ingestion. 3. Identifiers with ``-`` in the middle: this is mostly the case for index name with date information. 4. Identifiers with star ``*`` present: this is mostly an index pattern for wildcard match. @@ -67,7 +67,7 @@ Here are typical examples of the use of delimited identifiers: 1. Identifiers of reserved key word name 2. Identifiers with dot ``.`` present: similarly as ``-`` in index name to include date information, it is required to be quoted so parser can differentiate it from identifier with qualifiers. -3. Identifiers with other special character: Elasticsearch has its own rule which allows more special character, for example Unicode character is supported in index name. +3. Identifiers with other special character: OpenSearch has its own rule which allows more special character, for example Unicode character is supported in index name. Examples -------- @@ -92,7 +92,7 @@ Case Sensitivity Description ----------- -In SQL-92, regular identifiers are case insensitive and converted to upper case automatically just like key word. While characters in a delimited identifier appear as they are. However, in our SQL implementation, identifiers are treated in case sensitive manner. So it must be exactly same as what is stored in Elasticsearch which is different from ANSI standard. +In SQL-92, regular identifiers are case insensitive and converted to upper case automatically just like key word. While characters in a delimited identifier appear as they are. However, in our SQL implementation, identifiers are treated in case sensitive manner. So it must be exactly same as what is stored in OpenSearch which is different from ANSI standard. Examples -------- @@ -106,7 +106,7 @@ Identifier Qualifiers Description ----------- -An identifier can be qualified by qualifier(s) or not. The qualifier is meant to avoid ambiguity when interpreting the identifier name. Thus, the name symbol can be associated with a concrete field in Elasticsearch correctly. +An identifier can be qualified by qualifier(s) or not. The qualifier is meant to avoid ambiguity when interpreting the identifier name. Thus, the name symbol can be associated with a concrete field in OpenSearch correctly. In particular, identifier qualifiers follow the specification as below: diff --git a/docs/user/index.rst b/docs/user/index.rst index b31aee3424a..2af8ccea9e4 100644 --- a/docs/user/index.rst +++ b/docs/user/index.rst @@ -1,9 +1,9 @@ =============================== -OpenDistro SQL Reference Manual +OpenSearch SQL Reference Manual =============================== -Open Distro for Elasticsearch SQL enables you to extract insights out of Elasticsearch using the familiar SQL query syntax. Please refer to the `technical documentation `_ for detailed information on installing and configuring opendistro-elasticsearch-sql plugin. In this user reference manual, you can find many information for your reference. In each part, we try to make it clear by adding work example along with detailed description. Here is table of contents of the documentation: +OpenSearch SQL enables you to extract insights out of OpenSearch using the familiar SQL query syntax. Please refer to the `technical documentation `_ for detailed information on installing and configuring opendistro-elasticsearch-sql plugin. In this user reference manual, you can find many information for your reference. In each part, we try to make it clear by adding work example along with detailed description. Here is table of contents of the documentation: * **Interfaces** diff --git a/docs/user/interfaces/endpoint.rst b/docs/user/interfaces/endpoint.rst index 970f4f38876..0f77658ee05 100644 --- a/docs/user/interfaces/endpoint.rst +++ b/docs/user/interfaces/endpoint.rst @@ -39,7 +39,7 @@ Explain Description ----------- -To translate your query, send it to explain endpoint. The explain output is Elasticsearch domain specific language (DSL) in JSON format. You can just copy and paste it to your console to run it against Elasticsearch directly. +To translate your query, send it to explain endpoint. The explain output is OpenSearch domain specific language (DSL) in JSON format. You can just copy and paste it to your console to run it against OpenSearch directly. Example ------- diff --git a/docs/user/interfaces/protocol.rst b/docs/user/interfaces/protocol.rst index 9d7c125167d..3432e31dd93 100644 --- a/docs/user/interfaces/protocol.rst +++ b/docs/user/interfaces/protocol.rst @@ -28,7 +28,7 @@ The body of HTTP POST request can take a few more other fields with SQL query. Example 1 --------- -Use `filter` to add more conditions to Elasticsearch DSL directly. +Use `filter` to add more conditions to OpenSearch DSL directly. SQL query:: @@ -208,13 +208,13 @@ Result set:: "status" : 400 } -Elasticsearch DSL -================= +OpenSearch DSL +============== Description ----------- -The plugin returns original response from Elasticsearch in JSON. Because this is the native response from Elasticsearch, extra efforts are needed to parse and interpret it. +The plugin returns original response from OpenSearch in JSON. Because this is the native response from OpenSearch, extra efforts are needed to parse and interpret it. Example ------- diff --git a/docs/user/limitations/limitations.rst b/docs/user/limitations/limitations.rst index bffa9a0c976..213daba310e 100644 --- a/docs/user/limitations/limitations.rst +++ b/docs/user/limitations/limitations.rst @@ -18,7 +18,7 @@ In this doc, the restrictions and limitations of SQL plugin is covered as follow Limitations on Identifiers ========================== -Using Elasticsearch cluster name as catalog name to qualify an index name, such as ``my_cluster.my_index``, is not supported for now. +Using OpenSearch cluster name as catalog name to qualify an index name, such as ``my_cluster.my_index``, is not supported for now. Limitations on Fields ===================== @@ -45,7 +45,7 @@ Subquery in the `FROM` clause in this format: `SELECT outer FROM (SELECT inner)` SELECT t.f, t.d FROM ( SELECT FlightNum as f, DestCountry as d - FROM kibana_sample_data_flights + FROM opensearch_dashboards_sample_data_flights WHERE OriginCountry = 'US') t But, if the outer query has `GROUP BY` or `ORDER BY`, then it's not supported. @@ -67,7 +67,7 @@ For now, only the field defined in index is allowed, all the other calculated fi SELECT OriginCountry, AVG(FlightTimeMin) AS avg_flight_time, RANK() OVER (ORDER BY avg_flight_time) AS rnk - FROM kibana_sample_data_flights + FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry Another limitation is that currently window function cannot be nested in another expression, for example, ``CASE WHEN RANK() OVER(...) THEN ...``. @@ -78,7 +78,7 @@ Workaround for both limitations mentioned above is using a sub-query in FROM cla SUM(t.avg_flight_time) OVER(...) FROM ( SELECT OriginCountry, AVG(FlightTimeMin) AS avg_flight_time, - FROM kibana_sample_data_flights + FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry ) AS t @@ -91,7 +91,7 @@ Currently, the pagination only supports basic queries. For example, the followin POST _opendistro/_sql/ { "fetch_size" : 5, - "query" : "SELECT OriginCountry, DestCountry FROM kibana_sample_data_flights ORDER BY OriginCountry ASC" + "query" : "SELECT OriginCountry, DestCountry FROM opensearch_dashboards_sample_data_flights ORDER BY OriginCountry ASC" } The response in JDBC format with cursor id:: diff --git a/docs/user/optimization/optimization.rst b/docs/user/optimization/optimization.rst index c4aab0e3aa0..48051cd9de7 100644 --- a/docs/user/optimization/optimization.rst +++ b/docs/user/optimization/optimization.rst @@ -42,9 +42,9 @@ The consecutive Filter operator will be merged as one Filter operator:: }, "children": [ { - "name": "ElasticsearchIndexScan", + "name": "OpenSearchIndexScan", "description": { - "request": "ElasticsearchQueryRequest(indexName=accounts, sourceBuilder={\"from\":0,\"size\":200,\"timeout\":\"1m\",\"query\":{\"bool\":{\"filter\":[{\"range\":{\"age\":{\"from\":null,\"to\":20,\"include_lower\":true,\"include_upper\":false,\"boost\":1.0}}},{\"range\":{\"age\":{\"from\":10,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}}],\"adjust_pure_negative\":true,\"boost\":1.0}},\"_source\":{\"includes\":[\"age\"],\"excludes\":[]},\"sort\":[{\"_doc\":{\"order\":\"asc\"}}]}, searchDone=false)" + "request": "OpenSearchQueryRequest(indexName=accounts, sourceBuilder={\"from\":0,\"size\":200,\"timeout\":\"1m\",\"query\":{\"bool\":{\"filter\":[{\"range\":{\"age\":{\"from\":null,\"to\":20,\"include_lower\":true,\"include_upper\":false,\"boost\":1.0}}},{\"range\":{\"age\":{\"from\":10,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}}],\"adjust_pure_negative\":true,\"boost\":1.0}},\"_source\":{\"includes\":[\"age\"],\"excludes\":[]},\"sort\":[{\"_doc\":{\"order\":\"asc\"}}]}, searchDone=false)" }, "children": [] } @@ -69,9 +69,9 @@ The Filter operator should be push down under Sort operator:: }, "children": [ { - "name": "ElasticsearchIndexScan", + "name": "OpenSearchIndexScan", "description": { - "request": "ElasticsearchQueryRequest(indexName=accounts, sourceBuilder={\"from\":0,\"size\":200,\"timeout\":\"1m\",\"query\":{\"range\":{\"age\":{\"from\":null,\"to\":20,\"include_lower\":true,\"include_upper\":false,\"boost\":1.0}}},\"_source\":{\"includes\":[\"age\"],\"excludes\":[]},\"sort\":[{\"age\":{\"order\":\"asc\",\"missing\":\"_first\"}}]}, searchDone=false)" + "request": "OpenSearchQueryRequest(indexName=accounts, sourceBuilder={\"from\":0,\"size\":200,\"timeout\":\"1m\",\"query\":{\"range\":{\"age\":{\"from\":null,\"to\":20,\"include_lower\":true,\"include_upper\":false,\"boost\":1.0}}},\"_source\":{\"includes\":[\"age\"],\"excludes\":[]},\"sort\":[{\"age\":{\"order\":\"asc\",\"missing\":\"_first\"}}]}, searchDone=false)" }, "children": [] } @@ -80,10 +80,10 @@ The Filter operator should be push down under Sort operator:: } -Elasticsearch Specific Optimization -=================================== +OpenSearch Specific Optimization +================================ -The Elasticsearch `Query DSL `_ and `Aggregation `_ also enabling the storage engine specific optimization. +The OpenSearch `Query DSL `_ and `Aggregation `_ also enabling the storage engine specific optimization. Push Project Into Query DSL --------------------------- @@ -100,9 +100,9 @@ The Project list will push down to Query DSL to `filter the source getCmdLineArgs() { private DBConnection getThisDBConnection(TestConfig config) { String dbUrl = config.getDbConnectionUrl(); if (dbUrl.isEmpty()) { - return getESConnection(config); + return getOpenSearchConnection(config); } return new JDBCConnection("DB Tested", dbUrl); } /** - * Use Elasticsearch cluster given on CLI arg or internal embedded in SQLIntegTestCase + * Use OpenSearch cluster given on CLI arg or internal embedded in SQLIntegTestCase */ - private DBConnection getESConnection(TestConfig config) { + private DBConnection getOpenSearchConnection(TestConfig config) { RestClient client; - String esHost = config.getESHostUrl(); - if (esHost.isEmpty()) { + String openSearchHost = config.getOpenSearchHostUrl(); + if (openSearchHost.isEmpty()) { client = getRestClient(); - esHost = client.getNodes().get(0).getHost().toString(); + openSearchHost = client.getNodes().get(0).getHost().toString(); } else { - client = RestClient.builder(HttpHost.create(esHost)).build(); + client = RestClient.builder(HttpHost.create(openSearchHost)).build(); } - return new ESConnection("jdbc:opensearch://" + esHost, client); + return new OpenSearchConnection("jdbc:opensearch://" + openSearchHost, client); } /** diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/TestConfig.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/TestConfig.java index 1d4f7308f93..c3154057ab8 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/TestConfig.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/TestConfig.java @@ -31,7 +31,7 @@ * Test configuration parse the following information from command line arguments: * 1) Test schema and data * 2) Test queries - * 3) Elasticsearch connection URL + * 3) OpenSearch connection URL * 4) Other database connection URLs */ public class TestConfig { @@ -44,10 +44,10 @@ public class TestConfig { private final TestQuerySet testQuerySet; - private final String esHostUrl; + private final String openSearchHostUrl; /** - * Test against some database rather than Elasticsearch via our JDBC driver + * Test against some database rather than OpenSearch via our JDBC driver */ private final String dbConnectionUrl; @@ -56,7 +56,7 @@ public class TestConfig { public TestConfig(Map cliArgs) { testDataSets = buildDefaultTestDataSet(); // TODO: parse test data set argument testQuerySet = buildTestQuerySet(cliArgs); - esHostUrl = cliArgs.getOrDefault("esHost", ""); + openSearchHostUrl = cliArgs.getOrDefault("esHost", ""); dbConnectionUrl = cliArgs.getOrDefault("dbUrl", ""); parseOtherDbConnectionInfo(cliArgs); @@ -70,8 +70,8 @@ public TestQuerySet getTestQuerySet() { return testQuerySet; } - public String getESHostUrl() { - return esHostUrl; + public String getOpenSearchHostUrl() { + return openSearchHostUrl; } public String getDbConnectionUrl() { @@ -84,12 +84,12 @@ public Map getOtherDbConnectionNameAndUrls() { private TestDataSet[] buildDefaultTestDataSet() { return new TestDataSet[] { - new TestDataSet("kibana_sample_data_flights", - readFile("kibana_sample_data_flights.json"), - readFile("kibana_sample_data_flights.csv")), - new TestDataSet("kibana_sample_data_ecommerce", - readFile("kibana_sample_data_ecommerce.json"), - readFile("kibana_sample_data_ecommerce.csv")), + new TestDataSet("opensearch_dashboards_sample_data_flights", + readFile("opensearch_dashboards_sample_data_flights.json"), + readFile("opensearch_dashboards_sample_data_flights.csv")), + new TestDataSet("opensearch_dashboards_sample_data_ecommerce", + readFile("opensearch_dashboards_sample_data_ecommerce.json"), + readFile("opensearch_dashboards_sample_data_ecommerce.csv")), }; } @@ -127,7 +127,7 @@ private static String readFile(String relativePath) { @Override public String toString() { return "\n=================================\n" - + "Tested Database : " + esHostUrlToString() + '\n' + + "Tested Database : " + openSearchHostUrlToString() + '\n' + "Other Databases :\n" + otherDbConnectionInfoToString() + '\n' + "Test data set(s) :\n" + testDataSetsToString() + '\n' + "Test query set : " + testQuerySet + '\n' @@ -140,11 +140,12 @@ private String testDataSetsToString() { collect(joining("\n")); } - private String esHostUrlToString() { + private String openSearchHostUrlToString() { if (!dbConnectionUrl.isEmpty()) { return dbConnectionUrl; } - return esHostUrl.isEmpty() ? "(Use internal Elasticsearch in workspace)" : esHostUrl; + return openSearchHostUrl.isEmpty() ? "(Use internal OpenSearch in workspace)" : + openSearchHostUrl; } private String otherDbConnectionInfoToString() { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/ComparisonTest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/ComparisonTest.java index 53d040dd6b7..ee55c14e2c5 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/ComparisonTest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/ComparisonTest.java @@ -93,8 +93,8 @@ public TestReport verify(TestQuerySet querySet) { TestReport report = new TestReport(); for (String sql : querySet) { try { - DBResult esResult = thisConnection.select(sql); - report.addTestCase(compareWithOtherDb(sql, esResult)); + DBResult openSearchResult = thisConnection.select(sql); + report.addTestCase(compareWithOtherDb(sql, openSearchResult)); } catch (Exception e) { report.addTestCase(new ErrorTestCase(nextId(), sql, StringUtils.format("%s: %s", e.getClass().getSimpleName(), extractRootCause(e)))); @@ -128,13 +128,13 @@ public void close() { /** * Execute the query and compare with current result */ - private TestCaseReport compareWithOtherDb(String sql, DBResult esResult) { - List mismatchResults = Lists.newArrayList(esResult); + private TestCaseReport compareWithOtherDb(String sql, DBResult openSearchResult) { + List mismatchResults = Lists.newArrayList(openSearchResult); StringBuilder reasons = new StringBuilder(); for (int i = 0; i < otherDbConnections.length; i++) { try { DBResult otherDbResult = otherDbConnections[i].select(sql); - if (esResult.equals(otherDbResult)) { + if (openSearchResult.equals(otherDbResult)) { return new SuccessTestCase(nextId(), sql); } @@ -146,7 +146,7 @@ private TestCaseReport compareWithOtherDb(String sql, DBResult esResult) { } } - if (mismatchResults.size() == 1) { // Only ES result on list. Cannot find other database support this query + if (mismatchResults.size() == 1) { // Only OpenSearch result on list. Cannot find other database support this query return new ErrorTestCase(nextId(), sql, "No other databases support this query: " + reasons); } return new FailedTestCase(nextId(), sql, mismatchResults, reasons.toString()); diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/DBConnection.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/DBConnection.java index 46eff96b6f5..b9ed983a1ad 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/DBConnection.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/DBConnection.java @@ -37,7 +37,7 @@ public interface DBConnection { * Create table with the schema. * * @param tableName table name - * @param schema schema json in ES mapping format + * @param schema schema json in OpenSearch mapping format */ void create(String tableName, String schema); diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/JDBCConnection.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/JDBCConnection.java index 36d5860ddf0..a0f3e548c57 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/JDBCConnection.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/JDBCConnection.java @@ -197,8 +197,8 @@ private void populateData(ResultSet resultSet, DBResult result) throws SQLExcept } } - private String mapToJDBCType(String esType) { - switch (esType.toUpperCase()) { + private String mapToJDBCType(String openSearchType) { + switch (openSearchType.toUpperCase()) { case "KEYWORD": case "TEXT": return "VARCHAR"; @@ -207,7 +207,7 @@ private String mapToJDBCType(String esType) { case "HALF_FLOAT": return "FLOAT"; default: - return esType; + return openSearchType; } } diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/ESConnection.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/OpenSearchConnection.java similarity index 81% rename from integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/ESConnection.java rename to integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/OpenSearchConnection.java index 0dda0241532..71dba32c020 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/ESConnection.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/runner/connection/OpenSearchConnection.java @@ -19,34 +19,34 @@ import java.io.IOException; import java.util.List; import java.util.Properties; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; -import org.elasticsearch.client.RestClient; import org.json.JSONObject; +import org.opensearch.client.Request; +import org.opensearch.client.Response; +import org.opensearch.client.RestClient; /** - * Elasticsearch database connection for insertion. This class wraps JDBCConnection to delegate query method. + * OpenSearch database connection for insertion. This class wraps JDBCConnection to delegate query method. */ -public class ESConnection implements DBConnection { +public class OpenSearchConnection implements DBConnection { /** - * Connection via our Elasticsearch JDBC driver + * Connection via our OpenSearch JDBC driver */ private final DBConnection connection; /** - * Native Elasticsearch REST client for operation unsupported by driver such as CREATE/INSERT + * Native OpenSearch REST client for operation unsupported by driver such as CREATE/INSERT */ private final RestClient client; - public ESConnection(String connectionUrl, RestClient client) { - this.connection = new JDBCConnection("Elasticsearch", connectionUrl, populateProperties()); + public OpenSearchConnection(String connectionUrl, RestClient client) { + this.connection = new JDBCConnection("OpenSearch", connectionUrl, populateProperties()); this.client = client; } @Override public String getDatabaseName() { - return "Elasticsearch"; + return "OpenSearch"; } @Override @@ -80,8 +80,8 @@ public DBResult select(String query) { @Override public void close() { - // Only close database connection and leave ES REST connection alone - // because it's initialized and manged by ES test base class. + // Only close database connection and leave OpenSearch REST connection alone + // because it's initialized and manged by OpenSearch test base class. connection.close(); } diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ComparisonTestTest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ComparisonTestTest.java index 64276103aaf..0a045707ba2 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ComparisonTestTest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ComparisonTestTest.java @@ -45,7 +45,7 @@ public class ComparisonTestTest { @Mock - private DBConnection esConnection; + private DBConnection openSearchConnection; @Mock private DBConnection otherDbConnection; @@ -54,17 +54,17 @@ public class ComparisonTestTest { @Before public void setUp() { - when(esConnection.getDatabaseName()).thenReturn("ES"); + when(openSearchConnection.getDatabaseName()).thenReturn("OpenSearch"); when(otherDbConnection.getDatabaseName()).thenReturn("Other"); correctnessTest = new ComparisonTest( - esConnection, new DBConnection[] {otherDbConnection} + openSearchConnection, new DBConnection[] {otherDbConnection} ); } @Test public void testSuccess() { - when(esConnection.select(anyString())).thenReturn( - new DBResult("ES", asList(new Type("firstname", "text")), asList(new Row(asList("John")))) + when(openSearchConnection.select(anyString())).thenReturn( + new DBResult("OpenSearch", asList(new Type("firstname", "text")), asList(new Row(asList("John")))) ); when(otherDbConnection.select(anyString())).thenReturn( new DBResult("Other DB", asList(new Type("firstname", "text")), @@ -79,16 +79,16 @@ public void testSuccess() { @Test public void testFailureDueToInconsistency() { - DBResult esResult = - new DBResult("ES", asList(new Type("firstname", "text")), asList(new Row(asList("John")))); + DBResult openSearchResult = + new DBResult("OpenSearch", asList(new Type("firstname", "text")), asList(new Row(asList("John")))); DBResult otherDbResult = new DBResult("Other DB", asList(new Type("firstname", "text")), asList(new Row(asList("JOHN")))); - when(esConnection.select(anyString())).thenReturn(esResult); + when(openSearchConnection.select(anyString())).thenReturn(openSearchResult); when(otherDbConnection.select(anyString())).thenReturn(otherDbResult); TestReport expected = new TestReport(); expected.addTestCase( - new FailedTestCase(1, "SELECT * FROM accounts", asList(esResult, otherDbResult), "")); + new FailedTestCase(1, "SELECT * FROM accounts", asList(openSearchResult, otherDbResult), "")); TestReport actual = correctnessTest.verify(querySet("SELECT * FROM accounts")); assertEquals(expected, actual); } @@ -98,16 +98,16 @@ public void testSuccessFinally() { DBConnection anotherDbConnection = mock(DBConnection.class); when(anotherDbConnection.getDatabaseName()).thenReturn("Another"); correctnessTest = new ComparisonTest( - esConnection, new DBConnection[] {otherDbConnection, anotherDbConnection} + openSearchConnection, new DBConnection[] {otherDbConnection, anotherDbConnection} ); - DBResult esResult = - new DBResult("ES", asList(new Type("firstname", "text")), asList(new Row(asList("John")))); + DBResult openSearchResult = + new DBResult("OpenSearch", asList(new Type("firstname", "text")), asList(new Row(asList("John")))); DBResult otherDbResult = new DBResult("Other DB", asList(new Type("firstname", "text")), asList(new Row(asList("JOHN")))); DBResult anotherDbResult = new DBResult("Another DB", asList(new Type("firstname", "text")), asList(new Row(asList("John")))); - when(esConnection.select(anyString())).thenReturn(esResult); + when(openSearchConnection.select(anyString())).thenReturn(openSearchResult); when(otherDbConnection.select(anyString())).thenReturn(otherDbResult); when(anotherDbConnection.select(anyString())).thenReturn(anotherDbResult); @@ -123,29 +123,29 @@ public void testFailureDueToEventualInconsistency() { when(anotherDbConnection.getDatabaseName()) .thenReturn("ZZZ DB"); // Make sure this will be called after Other DB correctnessTest = new ComparisonTest( - esConnection, new DBConnection[] {otherDbConnection, anotherDbConnection} + openSearchConnection, new DBConnection[] {otherDbConnection, anotherDbConnection} ); - DBResult esResult = - new DBResult("ES", asList(new Type("firstname", "text")), asList(new Row(asList("John")))); + DBResult openSearchResult = + new DBResult("OpenSearch", asList(new Type("firstname", "text")), asList(new Row(asList("John")))); DBResult otherDbResult = new DBResult("Other DB", asList(new Type("firstname", "text")), asList(new Row(asList("JOHN")))); DBResult anotherDbResult = new DBResult("ZZZ DB", asList(new Type("firstname", "text")), asList(new Row(asList("Hank")))); - when(esConnection.select(anyString())).thenReturn(esResult); + when(openSearchConnection.select(anyString())).thenReturn(openSearchResult); when(otherDbConnection.select(anyString())).thenReturn(otherDbResult); when(anotherDbConnection.select(anyString())).thenReturn(anotherDbResult); TestReport expected = new TestReport(); expected.addTestCase(new FailedTestCase(1, "SELECT * FROM accounts", - asList(esResult, otherDbResult, anotherDbResult), "")); + asList(openSearchResult, otherDbResult, anotherDbResult), "")); TestReport actual = correctnessTest.verify(querySet("SELECT * FROM accounts")); assertEquals(expected, actual); } @Test public void testErrorDueToESException() { - when(esConnection.select(anyString())).thenThrow(new RuntimeException("All shards failure")); + when(openSearchConnection.select(anyString())).thenThrow(new RuntimeException("All shards failure")); TestReport expected = new TestReport(); expected.addTestCase( @@ -156,8 +156,8 @@ public void testErrorDueToESException() { @Test public void testErrorDueToNoOtherDBSupportThisQuery() { - when(esConnection.select(anyString())).thenReturn( - new DBResult("ES", asList(new Type("firstname", "text")), asList(new Row(asList("John")))) + when(openSearchConnection.select(anyString())).thenReturn( + new DBResult("OpenSearch", asList(new Type("firstname", "text")), asList(new Row(asList("John")))) ); when(otherDbConnection.select(anyString())) .thenThrow(new RuntimeException("Unsupported feature")); @@ -174,11 +174,11 @@ public void testSuccessWhenOneDBSupportThisQuery() { DBConnection anotherDbConnection = mock(DBConnection.class); when(anotherDbConnection.getDatabaseName()).thenReturn("Another"); correctnessTest = new ComparisonTest( - esConnection, new DBConnection[] {otherDbConnection, anotherDbConnection} + openSearchConnection, new DBConnection[] {otherDbConnection, anotherDbConnection} ); - when(esConnection.select(anyString())).thenReturn( - new DBResult("ES", asList(new Type("firstname", "text")), asList(new Row(asList("John")))) + when(openSearchConnection.select(anyString())).thenReturn( + new DBResult("OpenSearch", asList(new Type("firstname", "text")), asList(new Row(asList("John")))) ); when(otherDbConnection.select(anyString())) .thenThrow(new RuntimeException("Unsupported feature")); @@ -198,22 +198,22 @@ public void testFailureDueToInconsistencyAndExceptionMixed() { DBConnection otherDBConnection2 = mock(DBConnection.class); when(otherDBConnection2.getDatabaseName()).thenReturn("ZZZ DB"); correctnessTest = new ComparisonTest( - esConnection, new DBConnection[] {otherDbConnection, otherDBConnection2} + openSearchConnection, new DBConnection[] {otherDbConnection, otherDBConnection2} ); - DBResult esResult = - new DBResult("ES", asList(new Type("firstname", "text")), asList(new Row(asList("John")))); + DBResult openSearchResult = + new DBResult("OpenSearch", asList(new Type("firstname", "text")), asList(new Row(asList("John")))); DBResult otherResult = new DBResult("Other", asList(new Type("firstname", "text")), Collections.emptyList()); - when(esConnection.select(anyString())).thenReturn(esResult); + when(openSearchConnection.select(anyString())).thenReturn(openSearchResult); when(otherDbConnection.select(anyString())).thenReturn(otherResult); when(otherDBConnection2.select(anyString())) .thenThrow(new RuntimeException("Unsupported feature")); TestReport expected = new TestReport(); expected.addTestCase(new FailedTestCase(1, "SELECT * FROM accounts", - asList(esResult, otherResult), "Unsupported feature;")); + asList(openSearchResult, otherResult), "Unsupported feature;")); TestReport actual = correctnessTest.verify(querySet("SELECT * FROM accounts")); assertEquals(expected, actual); } diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/JDBCConnectionTest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/JDBCConnectionTest.java index bdc36f56631..d0fe203d29c 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/JDBCConnectionTest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/JDBCConnectionTest.java @@ -29,7 +29,6 @@ import com.google.common.collect.HashMultiset; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ESConnectionTest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/OpenSearchConnectionTest.java similarity index 91% rename from integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ESConnectionTest.java rename to integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/OpenSearchConnectionTest.java index d9bed3b69bf..cbbcc2bc342 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/ESConnectionTest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/OpenSearchConnectionTest.java @@ -21,7 +21,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.ESConnection; +import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.OpenSearchConnection; import com.google.common.io.CharStreams; import java.io.IOException; import java.io.InputStream; @@ -29,30 +29,30 @@ import java.util.Arrays; import org.apache.http.ProtocolVersion; import org.apache.http.message.BasicStatusLine; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; -import org.elasticsearch.client.RestClient; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; +import org.opensearch.client.Request; +import org.opensearch.client.Response; +import org.opensearch.client.RestClient; /** - * Tests for {@link ESConnection} + * Tests for {@link OpenSearchConnection} */ @RunWith(MockitoJUnitRunner.class) -public class ESConnectionTest { +public class OpenSearchConnectionTest { @Mock private RestClient client; - private ESConnection conn; + private OpenSearchConnection conn; @Before public void setUp() throws IOException { - conn = new ESConnection("jdbc:opensearch://localhost:12345", client); + conn = new OpenSearchConnection("jdbc:opensearch://localhost:12345", client); Response response = mock(Response.class); when(client.performRequest(any(Request.class))).thenReturn(response); diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestConfigTest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestConfigTest.java index 3ad5c6b0ed2..7b7805bf51e 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestConfigTest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestConfigTest.java @@ -35,7 +35,7 @@ public class TestConfigTest { @Test public void testDefaultConfig() { TestConfig config = new TestConfig(emptyMap()); - assertThat(config.getESHostUrl(), is(emptyString())); + assertThat(config.getOpenSearchHostUrl(), is(emptyString())); assertThat( config.getOtherDbConnectionNameAndUrls(), allOf( @@ -49,7 +49,7 @@ public void testDefaultConfig() { public void testCustomESUrls() { Map args = ImmutableMap.of("esHost", "localhost:9200"); TestConfig config = new TestConfig(args); - assertThat(config.getESHostUrl(), is("localhost:9200")); + assertThat(config.getOpenSearchHostUrl(), is("localhost:9200")); } @Test diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestReportTest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestReportTest.java index 52f99235cde..1cd7bee8403 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestReportTest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/TestReportTest.java @@ -65,7 +65,7 @@ public void testSuccessReport() { @Test public void testFailedReport() { report.addTestCase(new FailedTestCase(1, "SELECT * FROM accounts", asList( - new DBResult("Elasticsearch", singleton(new Type("firstName", "text")), + new DBResult("OpenSearch", singleton(new Type("firstName", "text")), singleton(new Row(asList("hello")))), new DBResult("H2", singleton(new Type("firstName", "text")), singleton(new Row(asList("world"))))), @@ -84,28 +84,28 @@ public void testFailedReport() { " \"id\": 1," + " \"result\": 'Failed'," + " \"sql\": \"SELECT * FROM accounts\"," + - " \"explain\": \"Data row at [0] is different: this=[Row(values=[hello])], other=[Row(values=[world])]\"," + + " \"explain\": \"Data row at [0] is different: this=[Row(values=[world])], other=[Row(values=[hello])]\"," + " \"errors\": \"[SQLITE_ERROR] SQL error or missing database;\"," + " \"resultSets\": [" + " {" + - " \"database\": \"Elasticsearch\"," + + " \"database\": \"H2\"," + " \"schema\": [" + " {" + " \"name\": \"firstName\"," + " \"type\": \"text\"" + " }" + " ]," + - " \"dataRows\": [[\"hello\"]]" + + " \"dataRows\": [[\"world\"]]" + " }," + " {" + - " \"database\": \"H2\"," + + " \"database\": \"OpenSearch\"," + " \"schema\": [" + " {" + " \"name\": \"firstName\"," + " \"type\": \"text\"" + " }" + " ]," + - " \"dataRows\": [[\"world\"]]" + + " \"dataRows\": [[\"hello\"]]" + " }" + " ]" + " }" + diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/UnitTests.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/UnitTests.java index dc766150b51..e0ac9ed40c4 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/UnitTests.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/correctness/tests/UnitTests.java @@ -25,7 +25,7 @@ TestDataSetTest.class, TestQuerySetTest.class, TestReportTest.class, - ESConnectionTest.class, + OpenSearchConnectionTest.class, JDBCConnectionTest.class, DBResultTest.class, RowTest.class, diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/admin/PluginSettingIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/admin/PluginSettingIT.java index 2ee7e92ee0a..5230a808cd3 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/admin/PluginSettingIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/admin/PluginSettingIT.java @@ -29,12 +29,12 @@ import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings.QUERY_SLOWLOG; import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings.SQL_ENABLED; import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings.SQL_NEW_ENGINE_ENABLED; -import static org.elasticsearch.common.settings.Setting.Property; -import static org.elasticsearch.common.settings.Setting.Property.Dynamic; -import static org.elasticsearch.common.settings.Setting.Property.Final; -import static org.elasticsearch.common.settings.Setting.Property.IndexScope; -import static org.elasticsearch.common.settings.Setting.Property.NodeScope; -import static org.elasticsearch.common.settings.Settings.EMPTY; +import static org.opensearch.common.settings.Setting.Property; +import static org.opensearch.common.settings.Setting.Property.Dynamic; +import static org.opensearch.common.settings.Setting.Property.Final; +import static org.opensearch.common.settings.Setting.Property.IndexScope; +import static org.opensearch.common.settings.Setting.Property.NodeScope; +import static org.opensearch.common.settings.Settings.EMPTY; import com.amazon.opendistroforelasticsearch.sql.doctest.core.DocTest; import com.amazon.opendistroforelasticsearch.sql.doctest.core.annotation.DocTestConfig; @@ -47,7 +47,7 @@ import java.util.Arrays; import java.util.EnumSet; import java.util.stream.Collectors; -import org.elasticsearch.common.settings.Setting; +import org.opensearch.common.settings.Setting; /** * Doc test for plugin settings. @@ -72,7 +72,7 @@ public void slowLogSetting() { docSetting( QUERY_SLOWLOG, "You can configure the time limit (seconds) for slow query which would be logged as " + - "'Slow query: elapsed=xxx (ms)' in elasticsearch.log.", + "'Slow query: elapsed=xxx (ms)' in opensearch.log.", 10 ); } diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/beyond/FullTextIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/beyond/FullTextIT.java index a23b00ef5d8..45dff72488e 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/beyond/FullTextIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/beyond/FullTextIT.java @@ -27,7 +27,7 @@ public void matchQuery() { section( title("Match Query"), description( - "Match query is the standard query for full-text search in Elasticsearch. Both ``MATCHQUERY`` and", + "Match query is the standard query for full-text search in OpenSearch. Both ``MATCHQUERY`` and", "``MATCH_QUERY`` are functions for performing match query." ), example( @@ -122,7 +122,7 @@ public void scoreQuery() { section( title("Score Query"), description( - "Elasticsearch supports to wrap a filter query so as to return a relevance score along with", + "OpenSearch supports to wrap a filter query so as to return a relevance score along with", "every matching document. ``SCORE``, ``SCOREQUERY`` and ``SCORE_QUERY`` can be used for this." ), example( diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/beyond/PartiQLIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/beyond/PartiQLIT.java index 7fc7ad97ed2..88aead9c8ea 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/beyond/PartiQLIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/beyond/PartiQLIT.java @@ -53,7 +53,7 @@ public void queryNestedCollection() { description( "In SQL-92, a database table can only have tuples that consists of scalar values.", "PartiQL extends SQL-92 to allow you query and unnest nested collection conveniently.", - "In Elasticsearch world, this is very useful for index with object or nested field." + "In OpenSearch world, this is very useful for index with object or nested field." ), example( title("Unnesting a Nested Collection"), diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/DocTest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/DocTest.java index 94fdc412092..5095f6f0447 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/DocTest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/DocTest.java @@ -17,7 +17,7 @@ import static com.carrotsearch.randomizedtesting.annotations.ThreadLeakScope.Scope; import static java.nio.file.StandardOpenOption.APPEND; -import static org.elasticsearch.test.ESIntegTestCase.Scope.SUITE; +import static org.opensearch.test.OpenSearchIntegTestCase.Scope.SUITE; import com.amazon.opendistroforelasticsearch.sql.doctest.core.annotation.DocTestConfig; import com.amazon.opendistroforelasticsearch.sql.doctest.core.annotation.Section; @@ -40,22 +40,22 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.Comparator; -import org.elasticsearch.client.RestClient; -import org.elasticsearch.common.Strings; -import org.elasticsearch.common.transport.TransportAddress; -import org.elasticsearch.test.ESIntegTestCase; -import org.elasticsearch.test.ESIntegTestCase.ClusterScope; -import org.elasticsearch.test.TestCluster; +import org.opensearch.client.RestClient; +import org.opensearch.common.Strings; +import org.opensearch.common.transport.TransportAddress; +import org.opensearch.test.OpenSearchIntegTestCase; +import org.opensearch.test.OpenSearchIntegTestCase.ClusterScope; +import org.opensearch.test.TestCluster; /** * Documentation test base class */ @TestMethodProviders({DocTest.SectionMethod.class}) @TestCaseOrdering(DocTest.SectionOrder.class) -@ESIntegTestCase.SuiteScopeTestCase +@OpenSearchIntegTestCase.SuiteScopeTestCase @ClusterScope(scope = SUITE, numDataNodes = 1, supportsDedicatedMasters = false, transportClientRatio = 1) @ThreadLeakScope(Scope.NONE) -public abstract class DocTest extends ESIntegTestCase implements DocBuilder { +public abstract class DocTest extends OpenSearchIntegTestCase implements DocBuilder { @Override protected void setupSuiteScopeCluster() { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/builder/DocBuilder.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/builder/DocBuilder.java index 9422d6fdaa9..43d519aa7b0 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/builder/DocBuilder.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/builder/DocBuilder.java @@ -17,7 +17,7 @@ import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequest.UrlParam; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.IGNORE_REQUEST; -import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.KIBANA_REQUEST; +import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.OPENSEARCH_DASHBOARD_REQUEST; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.response.SqlResponseFormat.PRETTY_JSON_RESPONSE; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.response.SqlResponseFormat.TABLE_RESPONSE; import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.RestSqlAction.EXPLAIN_API_ENDPOINT; @@ -30,7 +30,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.utils.StringUtils; import com.google.common.base.Strings; import java.util.Arrays; -import org.elasticsearch.client.RestClient; +import org.opensearch.client.RestClient; /** * Build document by custom DSL. To make it more readable, each doc test needs to implement this interface @@ -132,7 +132,7 @@ default Example example(String description, Requests requests) { */ default Example example(String title, String description, Requests requests) { return example(title, description, requests, - queryFormat(KIBANA_REQUEST, TABLE_RESPONSE), + queryFormat(OPENSEARCH_DASHBOARD_REQUEST, TABLE_RESPONSE), explainFormat(IGNORE_REQUEST, PRETTY_JSON_RESPONSE) ); } diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/builder/Requests.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/builder/Requests.java index 770c609c361..9052d65383e 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/builder/Requests.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/builder/Requests.java @@ -18,7 +18,7 @@ import com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequest; import com.amazon.opendistroforelasticsearch.sql.doctest.core.response.SqlResponse; import java.util.Objects; -import org.elasticsearch.client.RestClient; +import org.opensearch.client.RestClient; /** * Query and explain request tuple. diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/request/SqlRequest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/request/SqlRequest.java index c2bc229d8f9..acde2846b5e 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/request/SqlRequest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/request/SqlRequest.java @@ -15,25 +15,25 @@ package com.amazon.opendistroforelasticsearch.sql.doctest.core.request; -import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.KIBANA_REQUEST; +import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.OPENSEARCH_DASHBOARD_REQUEST; import com.amazon.opendistroforelasticsearch.sql.doctest.core.response.SqlResponse; import com.amazon.opendistroforelasticsearch.sql.legacy.utils.StringUtils; import java.io.IOException; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.ResponseException; -import org.elasticsearch.client.RestClient; +import org.opensearch.client.Request; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.ResponseException; +import org.opensearch.client.RestClient; /** - * Request to SQL plugin to isolate Elasticsearch native request + * Request to SQL plugin to isolate OpenSearch native request */ public class SqlRequest { public static final SqlRequest NONE = null; /** - * Native Elasticsearch request object + * Native OpenSearch request object */ private final Request request; @@ -42,7 +42,7 @@ public SqlRequest(String method, String endpoint, String body, UrlParam... param } /** - * Send request to Elasticsearch via client and create response for it. + * Send request to OpenSearch via client and create response for it. * * @param client restful client connection * @return sql response @@ -57,14 +57,14 @@ public SqlResponse send(RestClient client) { } throw new IllegalStateException(StringUtils.format( - "Exception occurred during sending request %s", KIBANA_REQUEST.format(this)), e); + "Exception occurred during sending request %s", OPENSEARCH_DASHBOARD_REQUEST.format(this)), e); } } /** * Expose request for request formatter. * - * @return native Elasticsearch format + * @return native OpenSearch format */ public Request request() { return request; diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/request/SqlRequestFormat.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/request/SqlRequestFormat.java index 2ef32a53a9a..726e70967a7 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/request/SqlRequestFormat.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/request/SqlRequestFormat.java @@ -28,8 +28,8 @@ import java.util.List; import java.util.Map; import org.apache.http.Header; -import org.elasticsearch.client.Request; import org.json.JSONObject; +import org.opensearch.client.Request; /** * Different SQL request formats. @@ -72,7 +72,7 @@ public String format(SqlRequest sqlRequest) { return str.toString(); } }, - KIBANA_REQUEST { + OPENSEARCH_DASHBOARD_REQUEST { @Override public String format(SqlRequest sqlRequest) { Request request = sqlRequest.request(); diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/response/SqlResponse.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/response/SqlResponse.java index d7fa53ebdeb..41fd851d2fb 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/response/SqlResponse.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/response/SqlResponse.java @@ -17,9 +17,9 @@ import com.amazon.opendistroforelasticsearch.sql.util.TestUtils; import java.io.IOException; -import org.elasticsearch.client.Response; import org.json.JSONException; import org.json.JSONObject; +import org.opensearch.client.Response; /** * Response from SQL plugin @@ -29,7 +29,7 @@ public class SqlResponse { public static final SqlResponse NONE = null; /** - * Native Elasticsearch response + * Native OpenSearch response */ private final Response response; @@ -51,7 +51,7 @@ public String body() { } /** - * In Elasticsearch response, there is field changed between each query, such as "took". + * In OpenSearch response, there is field changed between each query, such as "took". * We have to replace those variants with fake constant to avoid re-generate documents. * The order of fields in JSON is a little different from original because of internal * key set in org.json. diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/DocBuilderTest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/DocBuilderTest.java index 284717f6332..c842140b0f0 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/DocBuilderTest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/DocBuilderTest.java @@ -25,8 +25,6 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import org.apache.http.HttpEntity; -import org.elasticsearch.client.Response; -import org.elasticsearch.client.RestClient; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -35,6 +33,8 @@ import org.mockito.invocation.InvocationOnMock; import org.mockito.runners.MockitoJUnitRunner; import org.mockito.stubbing.Answer; +import org.opensearch.client.Response; +import org.opensearch.client.RestClient; /** * Test cases for {@link DocBuilder} diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlRequestFormatTest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlRequestFormatTest.java index 1992ebc68c6..5637bc53a47 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlRequestFormatTest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlRequestFormatTest.java @@ -17,7 +17,7 @@ import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.CURL_REQUEST; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.IGNORE_REQUEST; -import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.KIBANA_REQUEST; +import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.OPENSEARCH_DASHBOARD_REQUEST; import static org.hamcrest.Matchers.emptyString; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; @@ -54,17 +54,17 @@ public void testCurlFormat() { } @Test - public void testKibanaFormat() { + public void testOpenSearchDashboardsFormat() { String expected = "POST /_opendistro/_sql?format=jdbc\n" + "{\n" + " \"query\" : \"SELECT * FROM accounts\"\n" + "}"; - assertThat(KIBANA_REQUEST.format(sqlRequest), is(expected)); + assertThat(OPENSEARCH_DASHBOARD_REQUEST.format(sqlRequest), is(expected)); } @Test - public void multiLineSqlInKibanaRequestShouldBeWellFormatted() { + public void multiLineSqlInOpenSearchDashboardRequestShouldBeWellFormatted() { SqlRequest multiLineSqlRequest = new SqlRequest( "POST", "/_opendistro/_sql", @@ -80,7 +80,7 @@ public void multiLineSqlInKibanaRequestShouldBeWellFormatted() { "\tWHERE age > 30\n" + "\t\"\"\"\n" + "}"; - assertThat(KIBANA_REQUEST.format(multiLineSqlRequest), is(expected)); + assertThat(OPENSEARCH_DASHBOARD_REQUEST.format(multiLineSqlRequest), is(expected)); } } diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlRequestTest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlRequestTest.java index 3c087b78fb4..0dcd0888de8 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlRequestTest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlRequestTest.java @@ -28,10 +28,10 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RestClient; import org.junit.Test; import org.mockito.ArgumentCaptor; +import org.opensearch.client.Request; +import org.opensearch.client.RestClient; /** * Test cases for {@link SqlRequest} diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlResponseFormatTest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlResponseFormatTest.java index a0718ec82e4..f6e15e8ebf8 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlResponseFormatTest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlResponseFormatTest.java @@ -31,9 +31,9 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import org.apache.http.HttpEntity; -import org.elasticsearch.client.Response; import org.junit.Before; import org.junit.Test; +import org.opensearch.client.Response; /** * Test cases for {@link SqlResponseFormat} diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlResponseTest.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlResponseTest.java index 0b597168d5a..c1285c67250 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlResponseTest.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/core/test/SqlResponseTest.java @@ -24,8 +24,8 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import org.apache.http.HttpEntity; -import org.elasticsearch.client.Response; import org.junit.Test; +import org.opensearch.client.Response; /** * Test cases for {@link SqlResponse} diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dml/DeleteIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dml/DeleteIT.java index 8f88c16a5d3..3574535cafb 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dml/DeleteIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dml/DeleteIT.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.doctest.dml; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.IGNORE_REQUEST; -import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.KIBANA_REQUEST; +import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.OPENSEARCH_DASHBOARD_REQUEST; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.response.SqlResponseFormat.PRETTY_JSON_RESPONSE; import com.amazon.opendistroforelasticsearch.sql.doctest.core.DocTest; @@ -44,7 +44,7 @@ public void delete() { "DELETE FROM accounts", "WHERE age > 30" )), - queryFormat(KIBANA_REQUEST, PRETTY_JSON_RESPONSE), + queryFormat(OPENSEARCH_DASHBOARD_REQUEST, PRETTY_JSON_RESPONSE), explainFormat(IGNORE_REQUEST, PRETTY_JSON_RESPONSE) ) ); diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/BasicQueryIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/BasicQueryIT.java index cc164de12ae..f9778ff5d1c 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/BasicQueryIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/BasicQueryIT.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.doctest.dql; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.IGNORE_REQUEST; -import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.KIBANA_REQUEST; +import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.OPENSEARCH_DASHBOARD_REQUEST; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.response.SqlResponseFormat.IGNORE_RESPONSE; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.response.SqlResponseFormat.PRETTY_JSON_RESPONSE; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.response.SqlResponseFormat.TABLE_UNSORTED_RESPONSE; @@ -38,7 +38,7 @@ public void select() { section( title("SELECT"), description( - "``SELECT`` clause specifies which fields in Elasticsearch index should be retrieved."), + "``SELECT`` clause specifies which fields in OpenSearch index should be retrieved."), images("rdd/selectElements.png", "rdd/selectElement.png"), example( title("Selecting All Fields"), @@ -79,20 +79,20 @@ public void from() { section( title("FROM"), description( - "``FROM`` clause specifies Elasticsearch index where the data should be retrieved from.", + "``FROM`` clause specifies OpenSearch index where the data should be retrieved from.", "You've seen how to specify a single index in FROM clause in last section. Here we", "provide examples for more use cases.\n\n" + "Subquery in ``FROM`` clause is also supported. Please check out the documentation for more details." ), images("rdd/tableName.png"), - kibanaExample( + openSearchDashboardsExample( title("Using Index Alias"), description( "Similarly you can give index in ``FROM`` clause an alias and use it across clauses in query." ), post("SELECT acc.account_number FROM accounts acc") ), - kibanaExample( + openSearchDashboardsExample( title("Selecting From Multiple Indices by Index Pattern"), description( "Alternatively you can query from multiple indices of similar names by index pattern.", @@ -100,11 +100,11 @@ public void from() { ), post("SELECT account_number FROM account*") ), - kibanaExample( + openSearchDashboardsExample( title("[Deprecating] Selecting From Specific Index Type"), description( "You can also specify type name explicitly though this has been deprecated in", - "later Elasticsearch version." + "later OpenSearch version." ), post("SELECT account_number FROM accounts/account") ) @@ -116,7 +116,7 @@ public void where() { section( title("WHERE"), description( - "``WHERE`` clause specifies only Elasticsearch documents that meet the criteria should be affected.", + "``WHERE`` clause specifies only OpenSearch documents that meet the criteria should be affected.", "It consists of predicates that uses ``=``, ``<>``, ``>``, ``>=``, ``<``, ``<=``, ``IN``,", "``BETWEEN``, ``LIKE``, ``IS NULL`` or ``IS NOT NULL``. These predicates can be combined by", "logical operator ``NOT``, ``AND`` or ``OR`` to build more complex expression.\n\n" + @@ -140,7 +140,7 @@ public void where() { example( title("Missing Fields"), description( - "As NoSQL database, Elasticsearch allows for flexible schema that documents in an index may have", + "As NoSQL database, OpenSearch allows for flexible schema that documents in an index may have", "different fields. In this case, you can use ``IS NULL`` or ``IS NOT NULL`` to retrieve missing", "fields or existing fields only.\n\n" + "Note that for now we don't differentiate missing field and field set to ``NULL`` explicitly." @@ -249,7 +249,7 @@ public void orderBy() { title("Specifying Order for Null"), description( "Additionally you can specify if documents with missing field be put first or last.", - "The default behavior of Elasticsearch is to return nulls or missing last.", + "The default behavior of OpenSearch is to return nulls or missing last.", "You can make them present before non-nulls by using ``IS NOT NULL``." ), post(multiLine( @@ -297,11 +297,11 @@ public void limit() { } /** - * Document only Kibana request for example and ignore response as well as explain + * Document only OpenSearch Dashboard request for example and ignore response as well as explain */ - private Example kibanaExample(String title, String description, Requests requests) { + private Example openSearchDashboardsExample(String title, String description, Requests requests) { return example(title, description, requests, - queryFormat(KIBANA_REQUEST, IGNORE_RESPONSE), + queryFormat(OPENSEARCH_DASHBOARD_REQUEST, IGNORE_RESPONSE), explainFormat(IGNORE_REQUEST, IGNORE_RESPONSE) ); } @@ -311,7 +311,7 @@ private Example kibanaExample(String title, String description, Requests request */ private Example orderByExample(String title, String description, Requests requests) { return example(title, description, requests, - queryFormat(KIBANA_REQUEST, TABLE_UNSORTED_RESPONSE), + queryFormat(OPENSEARCH_DASHBOARD_REQUEST, TABLE_UNSORTED_RESPONSE), explainFormat(IGNORE_REQUEST, PRETTY_JSON_RESPONSE) ); } diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/ComplexQueryIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/ComplexQueryIT.java index 4592c624e34..6aab86f186a 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/ComplexQueryIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/ComplexQueryIT.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.doctest.dql; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.IGNORE_REQUEST; -import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.KIBANA_REQUEST; +import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.OPENSEARCH_DASHBOARD_REQUEST; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.response.SqlResponseFormat.IGNORE_RESPONSE; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.response.SqlResponseFormat.TABLE_RESPONSE; @@ -98,7 +98,7 @@ public void joins() { "is used and preceded by ``INNER`` keyword optionally. The join predicate(s) is specified", "by ``ON`` clause.\n\n", "Remark that the explain API output for join queries looks complicated. This is because", - "a join query is associated with two Elasticsearch DSL queries underlying and execute in", + "a join query is associated with two OpenSearch DSL queries underlying and execute in", "the separate query planner framework. You can interpret it by looking into the logical", "plan and physical plan." ), @@ -193,7 +193,7 @@ public void setOperations() { private Example joinExampleWithoutExplain(String title, String description, Requests requests) { return example(title, description, requests, - queryFormat(KIBANA_REQUEST, TABLE_RESPONSE), + queryFormat(OPENSEARCH_DASHBOARD_REQUEST, TABLE_RESPONSE), explainFormat(IGNORE_REQUEST, IGNORE_RESPONSE) ); } diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/MetaDataQueryIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/MetaDataQueryIT.java index a63e7285cc6..a4aeb9029ca 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/MetaDataQueryIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/MetaDataQueryIT.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.doctest.dql; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.IGNORE_REQUEST; -import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.KIBANA_REQUEST; +import static com.amazon.opendistroforelasticsearch.sql.doctest.core.request.SqlRequestFormat.OPENSEARCH_DASHBOARD_REQUEST; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.response.SqlResponseFormat.IGNORE_RESPONSE; import static com.amazon.opendistroforelasticsearch.sql.doctest.core.response.SqlResponseFormat.TABLE_RESPONSE; @@ -67,7 +67,7 @@ public void queryMetaData() { */ private Example metadataQueryExample(String title, String description, Requests requests) { return example(title, description, requests, - queryFormat(KIBANA_REQUEST, TABLE_RESPONSE), + queryFormat(OPENSEARCH_DASHBOARD_REQUEST, TABLE_RESPONSE), explainFormat(IGNORE_REQUEST, IGNORE_RESPONSE) ); } diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/interfaces/EndpointIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/interfaces/EndpointIT.java index 100ff9afd02..17b27206e91 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/interfaces/EndpointIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/interfaces/EndpointIT.java @@ -49,9 +49,9 @@ public void explainQuery() { section( title("Explain"), description( - "To translate your query, send it to explain endpoint. The explain output is Elasticsearch", + "To translate your query, send it to explain endpoint. The explain output is OpenSearch", "domain specific language (DSL) in JSON format. You can just copy and paste it to your", - "console to run it against Elasticsearch directly." + "console to run it against OpenSearch directly." ), example( description(), diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/interfaces/ProtocolIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/interfaces/ProtocolIT.java index 38b69ef7c25..a31c3cd8fcd 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/interfaces/ProtocolIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/interfaces/ProtocolIT.java @@ -39,7 +39,7 @@ public void requestFormat() { "The body of HTTP POST request can take a few more other fields with SQL query."), example( description( - "Use `filter` to add more conditions to Elasticsearch DSL directly." + "Use `filter` to add more conditions to OpenSearch DSL directly." ), post( body( @@ -94,10 +94,10 @@ public void responseInJDBCFormat() { @Section(3) public void originalDSLResponse() { section( - title("Elasticsearch DSL"), + title("OpenSearch DSL"), description( - "The plugin returns original response from Elasticsearch in JSON. Because this is", - "the native response from Elasticsearch, extra efforts are needed to parse and interpret it." + "The plugin returns original response from OpenSearch in JSON. Because this is", + "the native response from OpenSearch, extra efforts are needed to parse and interpret it." ), example( description(), diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/AggregationIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/AggregationIT.java index caae2f957da..6d013e3cab4 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/AggregationIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/AggregationIT.java @@ -225,7 +225,7 @@ public void groupByUsingTableAliasTest() throws Exception { @Test public void groupByUsingTableNamePrefixTest() throws Exception { JSONObject result = executeQuery(String.format( - "SELECT COUNT(*) FROM %s GROUP BY elasticsearch-sql_test_index_account.gender", + "SELECT COUNT(*) FROM %s GROUP BY opensearch-sql_test_index_account.gender", TEST_INDEX_ACCOUNT )); assertResultForGroupByTest(result); @@ -272,9 +272,9 @@ public void groupByHavingUsingTableAliasTest() throws Exception { @Test public void groupByHavingUsingTableNamePrefixTest() throws Exception { JSONObject result = executeQuery(String.format( - "SELECT elasticsearch-sql_test_index_account.gender " + + "SELECT opensearch-sql_test_index_account.gender " + "FROM %s " + - "GROUP BY elasticsearch-sql_test_index_account.gender " + + "GROUP BY opensearch-sql_test_index_account.gender " + "HAVING COUNT(*) > 0", TEST_INDEX_ACCOUNT)); assertResultForGroupByHavingTest(result); } diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/CsvFormatResponseIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/CsvFormatResponseIT.java index e106cdba033..00f99a80314 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/CsvFormatResponseIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/CsvFormatResponseIT.java @@ -41,15 +41,15 @@ import java.util.List; import java.util.Locale; import java.util.stream.Collectors; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.Response; import org.hamcrest.Matcher; import org.hamcrest.core.AnyOf; import org.junit.Assert; import org.junit.Assume; import org.junit.Ignore; import org.junit.Test; +import org.opensearch.client.Request; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.Response; /** * Tests to cover requests with "?format=csv" parameter diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/CursorIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/CursorIT.java index 160b41dc3a5..34ce9a9bbe9 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/CursorIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/CursorIT.java @@ -28,12 +28,12 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; -import org.elasticsearch.client.ResponseException; import org.json.JSONArray; import org.json.JSONObject; import org.junit.Test; +import org.opensearch.client.Request; +import org.opensearch.client.Response; +import org.opensearch.client.ResponseException; public class CursorIT extends SQLIntegTestCase { @@ -200,7 +200,7 @@ public void validTotalResultWithAndWithoutPaginationNested() throws IOException @Test public void noCursorWhenResultsLessThanFetchSize() throws IOException { - // fetch_size is 100, but actual number of rows returned from ElasticSearch is 97 + // fetch_size is 100, but actual number of rows returned from OpenSearch is 97 // a scroll context will be opened but will be closed after first page as all records are fetched String selectQuery = StringUtils.format( "SELECT * FROM %s WHERE balance < 25000 AND age > 36 LIMIT 2000", TEST_INDEX_ACCOUNT diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/CustomExternalTestCluster.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/CustomExternalTestCluster.java index 5a03a4fff68..ec3dc33adae 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/CustomExternalTestCluster.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/CustomExternalTestCluster.java @@ -16,7 +16,9 @@ package com.amazon.opendistroforelasticsearch.sql.legacy; -import static org.elasticsearch.test.ESTestCase.getTestTransportType; +import static org.opensearch.action.admin.cluster.node.info.NodesInfoRequest.Metric.HTTP; +import static org.opensearch.action.admin.cluster.node.info.NodesInfoRequest.Metric.SETTINGS; +import static org.opensearch.test.OpenSearchTestCase.getTestTransportType; import java.io.IOException; import java.net.InetSocketAddress; @@ -27,24 +29,21 @@ import java.util.concurrent.atomic.AtomicInteger; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.admin.cluster.node.info.NodeInfo; -import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.cluster.node.DiscoveryNode; -import org.elasticsearch.common.io.stream.NamedWriteableRegistry; -import org.elasticsearch.common.network.NetworkModule; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.transport.TransportAddress; -import org.elasticsearch.env.Environment; -import org.elasticsearch.http.HttpInfo; -import org.elasticsearch.plugins.Plugin; -import org.elasticsearch.test.InternalTestCluster; -import org.elasticsearch.test.TestCluster; -import org.elasticsearch.transport.MockTransportClient; -import org.elasticsearch.transport.nio.MockNioTransportPlugin; - -import static org.elasticsearch.action.admin.cluster.node.info.NodesInfoRequest.Metric.HTTP; -import static org.elasticsearch.action.admin.cluster.node.info.NodesInfoRequest.Metric.SETTINGS; +import org.opensearch.action.admin.cluster.node.info.NodeInfo; +import org.opensearch.action.admin.cluster.node.info.NodesInfoResponse; +import org.opensearch.client.Client; +import org.opensearch.cluster.node.DiscoveryNode; +import org.opensearch.common.io.stream.NamedWriteableRegistry; +import org.opensearch.common.network.NetworkModule; +import org.opensearch.common.settings.Settings; +import org.opensearch.common.transport.TransportAddress; +import org.opensearch.env.Environment; +import org.opensearch.http.HttpInfo; +import org.opensearch.plugins.Plugin; +import org.opensearch.test.InternalTestCluster; +import org.opensearch.test.TestCluster; +import org.opensearch.transport.MockTransportClient; +import org.opensearch.transport.nio.MockNioTransportPlugin; public class CustomExternalTestCluster extends TestCluster { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/DateFormatIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/DateFormatIT.java index fb5f5af07af..b7f253a355d 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/DateFormatIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/DateFormatIT.java @@ -53,7 +53,7 @@ protected void init() throws Exception { /** * All of the following tests use UTC as their date_format timezone as this is the same timezone of the data - * being queried. This is to prevent discrepancies in the Elasticsearch query and the actual field data that is + * being queried. This is to prevent discrepancies in the OpenSearch query and the actual field data that is * being checked for the integration tests. *

* Large LIMIT values were given for some of these queries since the default result size of the query is 200 and @@ -189,7 +189,7 @@ public void selectDateTimeWithDefaultTimeZone() throws SqlParseException { public void groupByAndSort() throws IOException { JSONObject aggregations = executeQuery( "SELECT date_format(insert_time, 'dd-MM-YYYY') " + - "FROM elasticsearch-sql_test_index_online " + + "FROM opensearch-sql_test_index_online " + "GROUP BY date_format(insert_time, 'dd-MM-YYYY') " + "ORDER BY date_format(insert_time, 'dd-MM-YYYY') DESC") .getJSONObject("aggregations"); @@ -201,7 +201,7 @@ public void groupByAndSort() throws IOException { public void groupByAndSortAliasedReversed() throws IOException { JSONObject aggregations = executeQuery( "SELECT date_format(insert_time, 'dd-MM-YYYY') date " + - "FROM elasticsearch-sql_test_index_online " + + "FROM opensearch-sql_test_index_online " + "GROUP BY date " + "ORDER BY date DESC") .getJSONObject("aggregations"); @@ -213,7 +213,7 @@ public void groupByAndSortAliasedReversed() throws IOException { public void groupByAndSortAliased() throws IOException { JSONObject aggregations = executeQuery( "SELECT date_format(insert_time, 'dd-MM-YYYY') date " + - "FROM elasticsearch-sql_test_index_online " + + "FROM opensearch-sql_test_index_online " + "GROUP BY date " + "ORDER BY date ") .getJSONObject("aggregations"); diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/DateFunctionsIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/DateFunctionsIT.java index b3a281e5d43..a8d4637c1c7 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/DateFunctionsIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/DateFunctionsIT.java @@ -23,18 +23,18 @@ import java.io.IOException; import java.time.Month; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.search.SearchHit; import org.joda.time.DateTime; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import org.json.JSONObject; import org.junit.Test; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.search.SearchHit; public class DateFunctionsIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/ExplainIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/ExplainIT.java index d1f0a134e8b..d036c7bedeb 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/ExplainIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/ExplainIT.java @@ -29,11 +29,11 @@ import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; +import org.opensearch.client.Request; +import org.opensearch.client.Response; public class ExplainIT extends SQLIntegTestCase { @@ -223,7 +223,7 @@ public void explainNLJoin() throws IOException { } public void testContentTypeOfExplainRequestShouldBeJson() throws IOException { - String query = makeRequest("SELECT firstname FROM elasticsearch-sql_test_index_account"); + String query = makeRequest("SELECT firstname FROM opensearch-sql_test_index_account"); Request request = getSqlRequest(query, true); Response response = client().performRequest(request); diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/GetEndpointQueryIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/GetEndpointQueryIT.java index 5b7875da01d..11da37435a2 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/GetEndpointQueryIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/GetEndpointQueryIT.java @@ -19,10 +19,10 @@ import static com.amazon.opendistroforelasticsearch.sql.legacy.TestsConstants.TEST_INDEX_ACCOUNT; import java.io.IOException; -import org.elasticsearch.client.ResponseException; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import org.opensearch.client.ResponseException; /** * Tests to cover requests with "?format=csv" parameter diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/JSONRequestIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/JSONRequestIT.java index 58529f09407..dc44396a59f 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/JSONRequestIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/JSONRequestIT.java @@ -23,16 +23,16 @@ import java.io.IOException; import java.util.Map; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; import org.json.JSONObject; import org.junit.Test; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; public class JSONRequestIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/JdbcTestIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/JdbcTestIT.java index 26ec7f733d8..dba784a1470 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/JdbcTestIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/JdbcTestIT.java @@ -38,7 +38,7 @@ protected void init() throws Exception { public void testPercentilesQuery() { JSONObject response = executeJdbcRequest( "SELECT percentiles(age, 25.0, 50.0, 75.0, 99.9) age_percentiles " + - "FROM elasticsearch-sql_test_index_people"); + "FROM opensearch-sql_test_index_people"); assertThat(response.getJSONArray("datarows").length(), equalTo(1)); @@ -53,7 +53,7 @@ public void testPercentilesQuery() { public void testDateTimeInQuery() { JSONObject response = executeJdbcRequest( "SELECT date_format(insert_time, 'dd-MM-YYYY') " + - "FROM elasticsearch-sql_test_index_online " + + "FROM opensearch-sql_test_index_online " + "ORDER BY date_format(insert_time, 'dd-MM-YYYY') " + "LIMIT 1" ); @@ -67,7 +67,7 @@ public void testDateTimeInQuery() { public void testDivisionInQuery() { JSONObject response = executeJdbcRequest( - "SELECT all_client/10 from elasticsearch-sql_test_index_online ORDER BY all_client/10 desc limit 1"); + "SELECT all_client/10 from opensearch-sql_test_index_online ORDER BY all_client/10 desc limit 1"); assertThat( response.getJSONArray("datarows") @@ -79,7 +79,7 @@ public void testDivisionInQuery() { public void testGroupByInQuery() { JSONObject response = executeJdbcRequest( "SELECT date_format(insert_time, 'YYYY-MM-dd'), COUNT(*) " + - "FROM elasticsearch-sql_test_index_online " + + "FROM opensearch-sql_test_index_online " + "GROUP BY date_format(insert_time, 'YYYY-MM-dd')" ); @@ -94,7 +94,7 @@ private JSONObject executeJdbcRequest(String query) { @Test public void numberOperatorNameCaseInsensitiveTest() { assertSchemaContains( - executeQuery("SELECT ABS(age) FROM elasticsearch-sql_test_index_account " + + executeQuery("SELECT ABS(age) FROM opensearch-sql_test_index_account " + "WHERE age IS NOT NULL ORDER BY age LIMIT 5", "jdbc"), "ABS(age)" ); @@ -103,7 +103,7 @@ public void numberOperatorNameCaseInsensitiveTest() { @Test public void trigFunctionNameCaseInsensitiveTest() { assertSchemaContains( - executeQuery("SELECT Cos(age) FROM elasticsearch-sql_test_index_account " + + executeQuery("SELECT Cos(age) FROM opensearch-sql_test_index_account " + "WHERE age is NOT NULL ORDER BY age LIMIT 5", "jdbc"), "Cos(age)" ); @@ -112,7 +112,7 @@ public void trigFunctionNameCaseInsensitiveTest() { @Test public void stringOperatorNameCaseInsensitiveTest() { assertSchemaContains( - executeQuery("SELECT SubStrinG(lastname, 0, 2) FROM elasticsearch-sql_test_index_account " + + executeQuery("SELECT SubStrinG(lastname, 0, 2) FROM opensearch-sql_test_index_account " + "ORDER BY age LIMIT 5", "jdbc"), "SubStrinG(lastname, 0, 2)" ); @@ -123,12 +123,12 @@ public void stringOperatorNameCaseInsensitiveTest() { public void dateFunctionNameCaseInsensitiveTest() { assertTrue( executeQuery( - "SELECT DATE_FORMAT(insert_time, 'yyyy-MM-dd', 'UTC') FROM elasticsearch-sql_test_index_online " + + "SELECT DATE_FORMAT(insert_time, 'yyyy-MM-dd', 'UTC') FROM opensearch-sql_test_index_online " + "WHERE date_FORMAT(insert_time, 'yyyy-MM-dd', 'UTC') > '2014-01-01' " + "GROUP BY DAte_format(insert_time, 'yyyy-MM-dd', 'UTC') " + "ORDER BY date_forMAT(insert_time, 'yyyy-MM-dd', 'UTC')", "jdbc").equalsIgnoreCase( executeQuery( - "SELECT date_format(insert_time, 'yyyy-MM-dd', 'UTC') FROM elasticsearch-sql_test_index_online " + + "SELECT date_format(insert_time, 'yyyy-MM-dd', 'UTC') FROM opensearch-sql_test_index_online " + "WHERE date_format(insert_time, 'yyyy-MM-dd', 'UTC') > '2014-01-01' " + "GROUP BY date_format(insert_time, 'yyyy-MM-dd', 'UTC') " + "ORDER BY date_format(insert_time, 'yyyy-MM-dd', 'UTC')", "jdbc") diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/JoinAliasWriterRuleIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/JoinAliasWriterRuleIT.java index 86a0db6ccfc..37a1e37c4c1 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/JoinAliasWriterRuleIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/JoinAliasWriterRuleIT.java @@ -19,11 +19,11 @@ import static org.hamcrest.Matchers.equalTo; import java.io.IOException; -import org.elasticsearch.client.ResponseException; import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import org.opensearch.client.ResponseException; /** * Test cases for writing missing join table aliases. @@ -34,9 +34,9 @@ public class JoinAliasWriterRuleIT extends SQLIntegTestCase { public ExpectedException exception = ExpectedException.none(); protected void init() throws Exception { - loadIndex(Index.ORDER); // elasticsearch-sql_test_index_order - loadIndex(Index.BANK); // elasticsearch-sql_test_index_bank - loadIndex(Index.BANK_TWO); // elasticsearch-sql_test_index_bank_two + loadIndex(Index.ORDER); // opensearch-sql_test_index_order + loadIndex(Index.BANK); // opensearch-sql_test_index_bank + loadIndex(Index.BANK_TWO); // opensearch-sql_test_index_bank_two } @Test @@ -44,15 +44,15 @@ public void noTableAliasNoCommonColumns() throws IOException { sameExplain( query( "SELECT id, firstname", - "FROM elasticsearch-sql_test_index_order", - "INNER JOIN elasticsearch-sql_test_index_bank ", + "FROM opensearch-sql_test_index_order", + "INNER JOIN opensearch-sql_test_index_bank ", "ON name = firstname WHERE state = 'WA' OR id < 7"), query( - "SELECT elasticsearch-sql_test_index_order_0.id, elasticsearch-sql_test_index_bank_1.firstname ", - "FROM elasticsearch-sql_test_index_order elasticsearch-sql_test_index_order_0 ", - "INNER JOIN elasticsearch-sql_test_index_bank elasticsearch-sql_test_index_bank_1 ", - "ON elasticsearch-sql_test_index_order_0.name = elasticsearch-sql_test_index_bank_1.firstname ", - "WHERE elasticsearch-sql_test_index_bank_1.state = 'WA' OR elasticsearch-sql_test_index_order_0.id < 7") + "SELECT opensearch-sql_test_index_order_0.id, opensearch-sql_test_index_bank_1.firstname ", + "FROM opensearch-sql_test_index_order opensearch-sql_test_index_order_0 ", + "INNER JOIN opensearch-sql_test_index_bank opensearch-sql_test_index_bank_1 ", + "ON opensearch-sql_test_index_order_0.name = opensearch-sql_test_index_bank_1.firstname ", + "WHERE opensearch-sql_test_index_bank_1.state = 'WA' OR opensearch-sql_test_index_order_0.id < 7") ); } @@ -61,15 +61,15 @@ public void oneTableAliasNoCommonColumns() throws IOException { sameExplain( query( "SELECT id, firstname ", - "FROM elasticsearch-sql_test_index_order a ", - "INNER JOIN elasticsearch-sql_test_index_bank ", + "FROM opensearch-sql_test_index_order a ", + "INNER JOIN opensearch-sql_test_index_bank ", "ON name = firstname WHERE state = 'WA' OR id < 7"), query( - "SELECT a.id, elasticsearch-sql_test_index_bank_0.firstname ", - "FROM elasticsearch-sql_test_index_order a ", - "INNER JOIN elasticsearch-sql_test_index_bank elasticsearch-sql_test_index_bank_0 ", - "ON a.name = elasticsearch-sql_test_index_bank_0.firstname ", - "WHERE elasticsearch-sql_test_index_bank_0.state = 'WA' OR a.id < 7") + "SELECT a.id, opensearch-sql_test_index_bank_0.firstname ", + "FROM opensearch-sql_test_index_order a ", + "INNER JOIN opensearch-sql_test_index_bank opensearch-sql_test_index_bank_0 ", + "ON a.name = opensearch-sql_test_index_bank_0.firstname ", + "WHERE opensearch-sql_test_index_bank_0.state = 'WA' OR a.id < 7") ); } @@ -78,13 +78,13 @@ public void bothTableAliasNoCommonColumns() throws IOException { sameExplain( query( "SELECT id, firstname ", - "FROM elasticsearch-sql_test_index_order a ", - "INNER JOIN elasticsearch-sql_test_index_bank b ", + "FROM opensearch-sql_test_index_order a ", + "INNER JOIN opensearch-sql_test_index_bank b ", "ON name = firstname WHERE state = 'WA' OR id < 7 "), query( "SELECT a.id, b.firstname ", - "FROM elasticsearch-sql_test_index_order a ", - "INNER JOIN elasticsearch-sql_test_index_bank b ", + "FROM opensearch-sql_test_index_order a ", + "INNER JOIN opensearch-sql_test_index_bank b ", "ON a.name = b.firstname ", "WHERE b.state = 'WA' OR a.id < 7 ") ); @@ -95,15 +95,15 @@ public void tableNamesWithTypeName() throws IOException { sameExplain( query( "SELECT id, firstname ", - "FROM elasticsearch-sql_test_index_order/_doc ", - "INNER JOIN elasticsearch-sql_test_index_bank/account ", + "FROM opensearch-sql_test_index_order/_doc ", + "INNER JOIN opensearch-sql_test_index_bank/account ", "ON name = firstname WHERE state = 'WA' OR id < 7"), query( - "SELECT elasticsearch-sql_test_index_order_0.id, elasticsearch-sql_test_index_bank_1.firstname ", - "FROM elasticsearch-sql_test_index_order/_doc elasticsearch-sql_test_index_order_0 ", - "INNER JOIN elasticsearch-sql_test_index_bank/_account elasticsearch-sql_test_index_bank_1 ", - "ON elasticsearch-sql_test_index_order_0.name = elasticsearch-sql_test_index_bank_1.firstname ", - "WHERE elasticsearch-sql_test_index_bank_1.state = 'WA' OR elasticsearch-sql_test_index_order_0.id < 7") + "SELECT opensearch-sql_test_index_order_0.id, opensearch-sql_test_index_bank_1.firstname ", + "FROM opensearch-sql_test_index_order/_doc opensearch-sql_test_index_order_0 ", + "INNER JOIN opensearch-sql_test_index_bank/_account opensearch-sql_test_index_bank_1 ", + "ON opensearch-sql_test_index_order_0.name = opensearch-sql_test_index_bank_1.firstname ", + "WHERE opensearch-sql_test_index_bank_1.state = 'WA' OR opensearch-sql_test_index_order_0.id < 7") ); } @@ -113,13 +113,13 @@ public void tableNamesWithTypeNameExplicitTableAlias() throws IOException { sameExplain( query( "SELECT id, firstname ", - "FROM elasticsearch-sql_test_index_order/_doc a ", - "INNER JOIN elasticsearch-sql_test_index_bank/account b ", + "FROM opensearch-sql_test_index_order/_doc a ", + "INNER JOIN opensearch-sql_test_index_bank/account b ", "ON name = firstname WHERE state = 'WA' OR id < 7"), query( "SELECT a.id, b.firstname ", - "FROM elasticsearch-sql_test_index_order a ", - "INNER JOIN elasticsearch-sql_test_index_bank b ", + "FROM opensearch-sql_test_index_order a ", + "INNER JOIN opensearch-sql_test_index_bank b ", "ON a.name = b.firstname ", "WHERE b.state = 'WA' OR a.id < 7") ); @@ -129,16 +129,16 @@ public void tableNamesWithTypeNameExplicitTableAlias() throws IOException { public void actualTableNameAsAliasOnColumnFields() throws IOException { sameExplain( query( - "SELECT elasticsearch-sql_test_index_order.id, b.firstname ", - "FROM elasticsearch-sql_test_index_order ", - "INNER JOIN elasticsearch-sql_test_index_bank b ", - "ON elasticsearch-sql_test_index_order.name = firstname WHERE state = 'WA' OR id < 7"), + "SELECT opensearch-sql_test_index_order.id, b.firstname ", + "FROM opensearch-sql_test_index_order ", + "INNER JOIN opensearch-sql_test_index_bank b ", + "ON opensearch-sql_test_index_order.name = firstname WHERE state = 'WA' OR id < 7"), query( - "SELECT elasticsearch-sql_test_index_order_0.id, b.firstname ", - "FROM elasticsearch-sql_test_index_order elasticsearch-sql_test_index_order_0 ", - "INNER JOIN elasticsearch-sql_test_index_bank b ", - "ON elasticsearch-sql_test_index_order_0.name = b.firstname ", - "WHERE b.state = 'WA' OR elasticsearch-sql_test_index_order_0.id < 7") + "SELECT opensearch-sql_test_index_order_0.id, b.firstname ", + "FROM opensearch-sql_test_index_order opensearch-sql_test_index_order_0 ", + "INNER JOIN opensearch-sql_test_index_bank b ", + "ON opensearch-sql_test_index_order_0.name = b.firstname ", + "WHERE b.state = 'WA' OR opensearch-sql_test_index_order_0.id < 7") ); } @@ -146,17 +146,17 @@ public void actualTableNameAsAliasOnColumnFields() throws IOException { public void actualTableNameAsAliasOnColumnFieldsTwo() throws IOException { sameExplain( query( - "SELECT elasticsearch-sql_test_index_order.id, elasticsearch-sql_test_index_bank.firstname ", - "FROM elasticsearch-sql_test_index_order ", - "INNER JOIN elasticsearch-sql_test_index_bank ", - "ON elasticsearch-sql_test_index_order.name = firstname ", - "WHERE elasticsearch-sql_test_index_bank.state = 'WA' OR id < 7"), + "SELECT opensearch-sql_test_index_order.id, opensearch-sql_test_index_bank.firstname ", + "FROM opensearch-sql_test_index_order ", + "INNER JOIN opensearch-sql_test_index_bank ", + "ON opensearch-sql_test_index_order.name = firstname ", + "WHERE opensearch-sql_test_index_bank.state = 'WA' OR id < 7"), query( - "SELECT elasticsearch-sql_test_index_order_0.id, elasticsearch-sql_test_index_bank_1.firstname ", - "FROM elasticsearch-sql_test_index_order elasticsearch-sql_test_index_order_0 ", - "INNER JOIN elasticsearch-sql_test_index_bank elasticsearch-sql_test_index_bank_1", - "ON elasticsearch-sql_test_index_order_0.name = elasticsearch-sql_test_index_bank_1.firstname ", - "WHERE elasticsearch-sql_test_index_bank_1.state = 'WA' OR elasticsearch-sql_test_index_order_0.id < 7") + "SELECT opensearch-sql_test_index_order_0.id, opensearch-sql_test_index_bank_1.firstname ", + "FROM opensearch-sql_test_index_order opensearch-sql_test_index_order_0 ", + "INNER JOIN opensearch-sql_test_index_bank opensearch-sql_test_index_bank_1", + "ON opensearch-sql_test_index_order_0.name = opensearch-sql_test_index_bank_1.firstname ", + "WHERE opensearch-sql_test_index_bank_1.state = 'WA' OR opensearch-sql_test_index_order_0.id < 7") ); } @@ -165,13 +165,13 @@ public void columnsWithTableAliasNotAffected() throws IOException { sameExplain( query( "SELECT a.id, firstname ", - "FROM elasticsearch-sql_test_index_order a ", - "INNER JOIN elasticsearch-sql_test_index_bank b ", + "FROM opensearch-sql_test_index_order a ", + "INNER JOIN opensearch-sql_test_index_bank b ", "ON name = b.firstname WHERE state = 'WA' OR a.id < 7"), query( "SELECT a.id, b.firstname ", - "FROM elasticsearch-sql_test_index_order a ", - "INNER JOIN elasticsearch-sql_test_index_bank b ", + "FROM opensearch-sql_test_index_order a ", + "INNER JOIN opensearch-sql_test_index_bank b ", "ON a.name = b.firstname ", "WHERE b.state = 'WA' OR a.id < 7") ); @@ -183,8 +183,8 @@ public void commonColumnWithoutTableAliasDifferentTables() throws IOException { exception.expectMessage("Field name [firstname] is ambiguous"); String explain = explainQuery(query( "SELECT firstname, lastname ", - "FROM elasticsearch-sql_test_index_bank ", - "LEFT JOIN elasticsearch-sql_test_index_bank_two ", + "FROM opensearch-sql_test_index_bank ", + "LEFT JOIN opensearch-sql_test_index_bank_two ", "ON firstname = lastname WHERE state = 'VA' " )); } @@ -192,11 +192,11 @@ public void commonColumnWithoutTableAliasDifferentTables() throws IOException { @Test public void sameTablesNoAliasAndNoAliasOnColumns() throws IOException { exception.expect(ResponseException.class); - exception.expectMessage("Not unique table/alias: [elasticsearch-sql_test_index_bank]"); + exception.expectMessage("Not unique table/alias: [opensearch-sql_test_index_bank]"); String explain = explainQuery(query( "SELECT firstname, lastname ", - "FROM elasticsearch-sql_test_index_bank ", - "LEFT JOIN elasticsearch-sql_test_index_bank ", + "FROM opensearch-sql_test_index_bank ", + "LEFT JOIN opensearch-sql_test_index_bank ", "ON firstname = lastname WHERE state = 'VA' " )); } @@ -204,12 +204,12 @@ public void sameTablesNoAliasAndNoAliasOnColumns() throws IOException { @Test public void sameTablesNoAliasWithTableNameAsAliasOnColumns() throws IOException { exception.expect(ResponseException.class); - exception.expectMessage("Not unique table/alias: [elasticsearch-sql_test_index_bank]"); + exception.expectMessage("Not unique table/alias: [opensearch-sql_test_index_bank]"); String explain = explainQuery(query( - "SELECT elasticsearch-sql_test_index_bank.firstname", - "FROM elasticsearch-sql_test_index_bank ", - "JOIN elasticsearch-sql_test_index_bank ", - "ON elasticsearch-sql_test_index_bank.firstname = elasticsearch-sql_test_index_bank.lastname" + "SELECT opensearch-sql_test_index_bank.firstname", + "FROM opensearch-sql_test_index_bank ", + "JOIN opensearch-sql_test_index_bank ", + "ON opensearch-sql_test_index_bank.firstname = opensearch-sql_test_index_bank.lastname" )); } @@ -217,16 +217,16 @@ public void sameTablesNoAliasWithTableNameAsAliasOnColumns() throws IOException public void sameTablesWithExplicitAliasOnFirst() throws IOException { sameExplain( query( - "SELECT elasticsearch-sql_test_index_bank.firstname, a.lastname ", - "FROM elasticsearch-sql_test_index_bank a", - "JOIN elasticsearch-sql_test_index_bank ", - "ON elasticsearch-sql_test_index_bank.firstname = a.lastname " + "SELECT opensearch-sql_test_index_bank.firstname, a.lastname ", + "FROM opensearch-sql_test_index_bank a", + "JOIN opensearch-sql_test_index_bank ", + "ON opensearch-sql_test_index_bank.firstname = a.lastname " ), query( - "SELECT elasticsearch-sql_test_index_bank_0.firstname, a.lastname ", - "FROM elasticsearch-sql_test_index_bank a", - "JOIN elasticsearch-sql_test_index_bank elasticsearch-sql_test_index_bank_0", - "ON elasticsearch-sql_test_index_bank_0.firstname = a.lastname " + "SELECT opensearch-sql_test_index_bank_0.firstname, a.lastname ", + "FROM opensearch-sql_test_index_bank a", + "JOIN opensearch-sql_test_index_bank opensearch-sql_test_index_bank_0", + "ON opensearch-sql_test_index_bank_0.firstname = a.lastname " ) ); @@ -236,16 +236,16 @@ public void sameTablesWithExplicitAliasOnFirst() throws IOException { public void sameTablesWithExplicitAliasOnSecond() throws IOException { sameExplain( query( - "SELECT elasticsearch-sql_test_index_bank.firstname, a.lastname ", - "FROM elasticsearch-sql_test_index_bank ", - "JOIN elasticsearch-sql_test_index_bank a", - "ON elasticsearch-sql_test_index_bank.firstname = a.lastname " + "SELECT opensearch-sql_test_index_bank.firstname, a.lastname ", + "FROM opensearch-sql_test_index_bank ", + "JOIN opensearch-sql_test_index_bank a", + "ON opensearch-sql_test_index_bank.firstname = a.lastname " ), query( - "SELECT elasticsearch-sql_test_index_bank_0.firstname, a.lastname ", - "FROM elasticsearch-sql_test_index_bank elasticsearch-sql_test_index_bank_0", - "JOIN elasticsearch-sql_test_index_bank a", - "ON elasticsearch-sql_test_index_bank_0.firstname = a.lastname " + "SELECT opensearch-sql_test_index_bank_0.firstname, a.lastname ", + "FROM opensearch-sql_test_index_bank opensearch-sql_test_index_bank_0", + "JOIN opensearch-sql_test_index_bank a", + "ON opensearch-sql_test_index_bank_0.firstname = a.lastname " ) ); diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/MathFunctionsIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/MathFunctionsIT.java index b51bc6475ba..349e43e8ded 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/MathFunctionsIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/MathFunctionsIT.java @@ -22,14 +22,14 @@ import static org.hamcrest.Matchers.greaterThanOrEqualTo; import java.io.IOException; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.search.SearchHit; import org.junit.Test; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.search.SearchHit; public class MathFunctionsIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/MetaDataQueriesIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/MetaDataQueriesIT.java index 8d4fcf690c9..6dbcd1d70af 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/MetaDataQueriesIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/MetaDataQueriesIT.java @@ -28,14 +28,13 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.elasticsearch.client.Request; import org.hamcrest.Description; import org.hamcrest.TypeSafeMatcher; import org.json.JSONArray; import org.json.JSONObject; import org.junit.Ignore; import org.junit.Test; -import org.junit.jupiter.api.Disabled; +import org.opensearch.client.Request; /** diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/MetricsIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/MetricsIT.java index ef233dc6c6a..e5fff812e32 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/MetricsIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/MetricsIT.java @@ -25,12 +25,12 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.util.concurrent.TimeUnit; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; import org.json.JSONObject; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; +import org.opensearch.client.Request; +import org.opensearch.client.Response; @Ignore public class MetricsIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/NestedFieldQueryIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/NestedFieldQueryIT.java index be50f28db3f..624ddb65948 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/NestedFieldQueryIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/NestedFieldQueryIT.java @@ -28,15 +28,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.function.Function; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.ResponseException; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.rest.RestStatus; -import org.elasticsearch.search.SearchHit; import org.hamcrest.BaseMatcher; import org.hamcrest.Description; import org.hamcrest.FeatureMatcher; @@ -47,6 +38,15 @@ import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.ResponseException; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.rest.RestStatus; +import org.opensearch.search.SearchHit; /** * Integration test cases for both rewriting and projection logic. @@ -269,7 +269,7 @@ public void multipleConditionsOfRegularOrNestedField() throws IOException { @Test public void leftJoinSelectAll() throws IOException { String sql = "SELECT * " + - "FROM elasticsearch-sql_test_index_employee_nested e " + + "FROM opensearch-sql_test_index_employee_nested e " + "LEFT JOIN e.projects p"; String explain = explainQuery(sql); assertThat(explain, containsString("{\"bool\":{\"must_not\":[{\"nested\":{\"query\":" + @@ -284,7 +284,7 @@ public void leftJoinSelectAll() throws IOException { @Test public void leftJoinSpecificFields() throws IOException { String sql = "SELECT e.name, p.name, p.started_year " + - "FROM elasticsearch-sql_test_index_employee_nested e " + + "FROM opensearch-sql_test_index_employee_nested e " + "LEFT JOIN e.projects p"; String explain = explainQuery(sql); assertThat(explain, containsString("{\"bool\":{\"must_not\":[{\"nested\":{\"query\":" + @@ -302,7 +302,7 @@ public void leftJoinSpecificFields() throws IOException { @Test public void leftJoinExceptionOnExtraNestedFields() throws IOException { String sql = "SELECT * " + - "FROM elasticsearch-sql_test_index_employee_nested e " + + "FROM opensearch-sql_test_index_employee_nested e " + "LEFT JOIN e.projects p, e.comments c"; try { @@ -370,7 +370,7 @@ public void groupByRegularFieldAndSum() throws IOException { @Test public void nestedFiledIsNotNull() throws IOException { String sql = "SELECT e.name " + - "FROM elasticsearch-sql_test_index_employee_nested as e, e.projects as p " + + "FROM opensearch-sql_test_index_employee_nested as e, e.projects as p " + "WHERE p IS NOT NULL"; assertThat( @@ -428,7 +428,7 @@ public void groupByNestedAndRegularField() throws IOException { @Test public void countAggWithoutWhere() throws IOException { String sql = "SELECT e.name, COUNT(p) as c " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "GROUP BY e.name " + "HAVING c > 1"; @@ -447,7 +447,7 @@ public void countAggWithoutWhere() throws IOException { @Test public void countAggWithWhereOnParent() throws IOException { String sql = "SELECT e.name, COUNT(p) as c " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE e.name like '%smith%' " + "GROUP BY e.name " + "HAVING c > 1"; @@ -467,7 +467,7 @@ public void countAggWithWhereOnParent() throws IOException { @Test public void countAggWithWhereOnNested() throws IOException { String sql = "SELECT e.name, COUNT(p) as c " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING c > 1"; @@ -487,7 +487,7 @@ public void countAggWithWhereOnNested() throws IOException { @Test public void countAggWithWhereOnParentOrNested() throws IOException { String sql = "SELECT e.name, COUNT(p) as c " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE e.name like '%smith%' or p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING c > 1"; @@ -507,7 +507,7 @@ public void countAggWithWhereOnParentOrNested() throws IOException { @Test public void countAggWithWhereOnParentAndNested() throws IOException { String sql = "SELECT e.name, COUNT(p) as c " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE e.name like '%smith%' AND p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING c > 1"; @@ -527,7 +527,7 @@ public void countAggWithWhereOnParentAndNested() throws IOException { @Test public void countAggWithWhereOnNestedAndNested() throws IOException { String sql = "SELECT e.name, COUNT(p) as c " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE p.started_year > 2000 AND p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING c > 0"; @@ -547,7 +547,7 @@ public void countAggWithWhereOnNestedAndNested() throws IOException { @Test public void countAggWithWhereOnNestedOrNested() throws IOException { String sql = "SELECT e.name, COUNT(p) as c " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE p.started_year > 2000 OR p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING c > 1"; @@ -567,7 +567,7 @@ public void countAggWithWhereOnNestedOrNested() throws IOException { @Test public void countAggOnNestedInnerFieldWithoutWhere() throws IOException { String sql = "SELECT e.name, COUNT(p.started_year) as count " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING count > 0"; @@ -591,7 +591,7 @@ public void countAggOnNestedInnerFieldWithoutWhere() throws IOException { @Test public void maxAggOnNestedInnerFieldWithoutWhere() throws IOException { String sql = "SELECT e.name, MAX(p.started_year) as max " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE p.name LIKE '%security%' " + "GROUP BY e.name"; @@ -614,7 +614,7 @@ public void maxAggOnNestedInnerFieldWithoutWhere() throws IOException { @Test public void havingCountAggWithoutWhere() throws IOException { String sql = "SELECT e.name " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "GROUP BY e.name " + "HAVING COUNT(p) > 1"; @@ -633,7 +633,7 @@ public void havingCountAggWithoutWhere() throws IOException { @Test public void havingCountAggWithWhereOnParent() throws IOException { String sql = "SELECT e.name " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE e.name like '%smith%' " + "GROUP BY e.name " + "HAVING COUNT(p) > 1"; @@ -653,7 +653,7 @@ public void havingCountAggWithWhereOnParent() throws IOException { @Test public void havingCountAggWithWhereOnNested() throws IOException { String sql = "SELECT e.name " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING COUNT(p) > 1"; @@ -673,7 +673,7 @@ public void havingCountAggWithWhereOnNested() throws IOException { @Test public void havingCountAggWithWhereOnParentOrNested() throws IOException { String sql = "SELECT e.name " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE e.name like '%smith%' or p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING COUNT(p) > 1"; @@ -693,7 +693,7 @@ public void havingCountAggWithWhereOnParentOrNested() throws IOException { @Test public void havingCountAggWithWhereOnParentAndNested() throws IOException { String sql = "SELECT e.name " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE e.name like '%smith%' AND p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING COUNT(p) > 1"; @@ -713,7 +713,7 @@ public void havingCountAggWithWhereOnParentAndNested() throws IOException { @Test public void havingCountAggWithWhereOnNestedAndNested() throws IOException { String sql = "SELECT e.name " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE p.started_year > 2000 AND p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING COUNT(p) > 0"; @@ -733,7 +733,7 @@ public void havingCountAggWithWhereOnNestedAndNested() throws IOException { @Test public void havingCountAggWithWhereOnNestedOrNested() throws IOException { String sql = "SELECT e.name " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE p.started_year > 2000 OR p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING COUNT(p) > 1"; @@ -753,7 +753,7 @@ public void havingCountAggWithWhereOnNestedOrNested() throws IOException { @Test public void havingCountAggOnNestedInnerFieldWithoutWhere() throws IOException { String sql = "SELECT e.name " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING COUNT(p.started_year) > 0"; @@ -777,7 +777,7 @@ public void havingCountAggOnNestedInnerFieldWithoutWhere() throws IOException { @Test public void havingMaxAggOnNestedInnerFieldWithoutWhere() throws IOException { String sql = "SELECT e.name " + - "FROM elasticsearch-sql_test_index_employee_nested AS e, e.projects AS p " + + "FROM opensearch-sql_test_index_employee_nested AS e, e.projects AS p " + "WHERE p.name LIKE '%security%' " + "GROUP BY e.name " + "HAVING MAX(p.started_year) > 1990"; diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/ODFERestTestCase.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/ODFERestTestCase.java index 9007e2cd01d..fd817727834 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/ODFERestTestCase.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/ODFERestTestCase.java @@ -29,21 +29,21 @@ import org.apache.http.message.BasicHeader; import org.apache.http.ssl.SSLContextBuilder; import org.apache.http.util.EntityUtils; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; -import org.elasticsearch.client.RestClient; -import org.elasticsearch.client.RestClientBuilder; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.common.util.concurrent.ThreadContext; -import org.elasticsearch.test.rest.ESRestTestCase; import org.json.JSONArray; import org.json.JSONObject; +import org.opensearch.client.Request; +import org.opensearch.client.Response; +import org.opensearch.client.RestClient; +import org.opensearch.client.RestClientBuilder; +import org.opensearch.common.settings.Settings; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.test.rest.OpenSearchRestTestCase; /** * ODFE integration test base class to support both security disabled and enabled ODFE cluster. */ -public abstract class ODFERestTestCase extends ESRestTestCase { +public abstract class ODFERestTestCase extends OpenSearchRestTestCase { protected boolean isHttps() { boolean isHttps = Optional.ofNullable(System.getProperty("https")) @@ -84,7 +84,7 @@ protected static void wipeAllODFEIndices() throws IOException { JSONObject jsonObject = (JSONObject) object; String indexName = jsonObject.getString("index"); //.opendistro_security isn't allowed to delete from cluster - if (!indexName.startsWith(".kibana") && !indexName.startsWith(".opendistro")) { + if (!indexName.startsWith(".opensearch_dashboards") && !indexName.startsWith(".opendistro")) { client().performRequest(new Request("DELETE", "/" + indexName)); } } diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/ObjectFieldSelectIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/ObjectFieldSelectIT.java index 76900f07b5b..a2379c19a6f 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/ObjectFieldSelectIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/ObjectFieldSelectIT.java @@ -29,7 +29,7 @@ import org.junit.Test; /** - * Integration test for Elasticsearch object field (and nested field). + * Integration test for OpenSearch object field (and nested field). * This class is focused on simple SELECT-FROM query to ensure right column * number and value is returned. */ @@ -80,7 +80,7 @@ public void testSelectObjectInnerFields() { public void testSelectNestedFieldItself() { JSONObject response = new JSONObject(query("SELECT projects FROM %s")); - // Nested field is absent in ES Get Field Mapping response either hence "object" used + // Nested field is absent in OpenSearch Get Field Mapping response either hence "object" used verifySchema(response, schema("projects", null, "object")); // Expect nested field itself is returned in a single cell diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/OrderIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/OrderIT.java index 5d73983d75e..b44f5cfe56b 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/OrderIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/OrderIT.java @@ -32,7 +32,7 @@ protected void init() throws Exception { @Test public void simpleOrder() throws IOException { - String query = "SELECT id, name FROM elasticsearch-sql_test_index_order ORDER BY id"; + String query = "SELECT id, name FROM opensearch-sql_test_index_order ORDER BY id"; JSONArray result = getSortExplain(query); assertThat(result.length(), equalTo(1)); JSONObject jsonObject = getSortByField(result, "id"); @@ -42,7 +42,7 @@ public void simpleOrder() throws IOException { @Test public void orderByScore() throws IOException { - String query = "SELECT * FROM elasticsearch-sql_test_index_order ORDER BY _score"; + String query = "SELECT * FROM opensearch-sql_test_index_order ORDER BY _score"; JSONArray result = getSortExplain(query); assertThat(result.length(), equalTo(1)); JSONObject jsonObject = getSortByField(result, "_score"); @@ -56,7 +56,7 @@ public void orderByScore() throws IOException { @Test public void simpleOrderMultipleFields() throws IOException { - String query = "SELECT id, name FROM elasticsearch-sql_test_index_order ORDER BY id, name"; + String query = "SELECT id, name FROM opensearch-sql_test_index_order ORDER BY id, name"; JSONArray result = getSortExplain(query); assertThat(result.length(), equalTo(2)); assertTrue(result.getJSONObject(0).has("id")); @@ -66,7 +66,7 @@ public void simpleOrderMultipleFields() throws IOException { @Test public void explicitOrderType() throws IOException { String query = - "SELECT id, name FROM elasticsearch-sql_test_index_order ORDER BY id ASC, name DESC"; + "SELECT id, name FROM opensearch-sql_test_index_order ORDER BY id ASC, name DESC"; JSONArray result = getSortExplain(query); assertThat(result.length(), equalTo(2)); assertThat(query(result, "/0/id/order"), equalTo("asc")); @@ -75,7 +75,7 @@ public void explicitOrderType() throws IOException { @Test public void orderByIsNull() throws IOException { - String query = "SELECT * FROM elasticsearch-sql_test_index_order ORDER BY id IS NULL, id DESC"; + String query = "SELECT * FROM opensearch-sql_test_index_order ORDER BY id IS NULL, id DESC"; JSONArray result = getSortExplain(query); assertThat(result.length(), equalTo(1)); assertThat(query(result, "/0/id/order"), equalTo("desc")); @@ -86,9 +86,9 @@ public void orderByIsNull() throws IOException { assertThat(query(hits, "/0/_source/id"), equalTo("5")); // Another equivalent syntax - assertThat(explainQuery("SELECT * FROM elasticsearch-sql_test_index_order " + + assertThat(explainQuery("SELECT * FROM opensearch-sql_test_index_order " + "ORDER BY id IS NULL, id DESC"), - equalTo(explainQuery("SELECT * FROM elasticsearch-sql_test_index_order " + + equalTo(explainQuery("SELECT * FROM opensearch-sql_test_index_order " + "ORDER BY id IS NULL DESC")) ); } @@ -96,7 +96,7 @@ public void orderByIsNull() throws IOException { @Test public void orderByIsNotNull() throws IOException { String query = - "SELECT id, name FROM elasticsearch-sql_test_index_order ORDER BY name IS NOT NULL"; + "SELECT id, name FROM opensearch-sql_test_index_order ORDER BY name IS NOT NULL"; JSONArray result = getSortExplain(query); assertThat(1, equalTo(result.length())); assertThat(query(result, "/0/name.keyword/order"), equalTo("asc")); @@ -109,9 +109,9 @@ public void orderByIsNotNull() throws IOException { equalTo("f")); // Another equivalent syntax - assertThat(explainQuery("SELECT id, name FROM elasticsearch-sql_test_index_order " + + assertThat(explainQuery("SELECT id, name FROM opensearch-sql_test_index_order " + "ORDER BY name IS NOT NULL"), - equalTo(explainQuery("SELECT id, name FROM elasticsearch-sql_test_index_order " + + equalTo(explainQuery("SELECT id, name FROM opensearch-sql_test_index_order " + "ORDER BY name IS NOT NULL ASC")) ); } @@ -119,7 +119,7 @@ public void orderByIsNotNull() throws IOException { @Test public void multipleOrderByWithNulls() throws IOException { String query = - "SELECT id, name FROM elasticsearch-sql_test_index_order ORDER BY id IS NULL, name IS NOT NULL"; + "SELECT id, name FROM opensearch-sql_test_index_order ORDER BY id IS NULL, name IS NOT NULL"; JSONArray result = getSortExplain(query); assertThat(result.length(), equalTo(2)); assertThat(query(result, "/0/id/missing"), equalTo("_last")); @@ -128,7 +128,7 @@ public void multipleOrderByWithNulls() throws IOException { @Test public void testOrderByMergeForSameField() throws IOException { - String query = "SELECT * FROM elasticsearch-sql_test_index_order " + + String query = "SELECT * FROM opensearch-sql_test_index_order " + "ORDER BY id IS NULL, name DESC, id DESC, id IS NOT NULL, name IS NULL"; JSONArray result = getSortExplain(query); assertThat(2, equalTo(result.length())); diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PluginIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PluginIT.java index 82d24ace415..d614f0f1451 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PluginIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PluginIT.java @@ -22,12 +22,12 @@ import java.io.IOException; import java.util.Locale; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.Response; -import org.elasticsearch.client.ResponseException; import org.json.JSONObject; import org.junit.Test; +import org.opensearch.client.Request; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.Response; +import org.opensearch.client.ResponseException; public class PluginIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PreparedStatementIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PreparedStatementIT.java index ec4501eecf8..92d6ae8305c 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PreparedStatementIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PreparedStatementIT.java @@ -23,7 +23,7 @@ import org.junit.Test; // Refer to https://www.elastic.co/guide/en/elasticsearch/reference/6.5/integration-tests.html -// for detailed ESIntegTestCase usages doc. +// for detailed OpenSearchIntegTestCase usages doc. public class PreparedStatementIT extends SQLIntegTestCase { @Override @@ -71,8 +71,8 @@ public void testPreparedStatement() throws IOException { /* currently the integ test case will fail if run using Intellj, have to run using gradle command * because the integ test cluster created by IntellJ has http diabled, need to spend some time later to * figure out how to configure the integ test cluster properly. Related online resources: - * https://discuss.elastic.co/t/http-enabled-with-esintegtestcase/102032 - * https://discuss.elastic.co/t/help-with-esintegtestcase/105245 + * https://discuss.elastic.co/t/http-enabled-with-OpenSearchIntegTestCase/102032 + * https://discuss.elastic.co/t/help-with-OpenSearchIntegTestCase/105245 @Override protected Collection> nodePlugins() { return Arrays.asList(MockTcpTransportPlugin.class); diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PrettyFormatResponseIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PrettyFormatResponseIT.java index 5039e9e61e1..e8794bba291 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PrettyFormatResponseIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PrettyFormatResponseIT.java @@ -33,12 +33,12 @@ import java.util.Map; import java.util.Set; import java.util.stream.Stream; -import org.elasticsearch.client.Request; import org.json.JSONArray; import org.json.JSONObject; import org.junit.Assume; import org.junit.Ignore; import org.junit.Test; +import org.opensearch.client.Request; /** * PrettyFormatResponseIT will likely be excluding some of the tests written in PrettyFormatResponseTest since @@ -86,7 +86,7 @@ protected Request getSqlRequest(String request, boolean explain) { return sqlRequest; } - @Ignore("Index type is removed in ES 7+") + @Ignore("Index type is removed in OpenSearch 7+") @Test public void wrongIndexType() throws IOException { String type = "wrongType"; diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PrettyFormatterIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PrettyFormatterIT.java index 913cc43d4c9..782e616aa9d 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PrettyFormatterIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/PrettyFormatterIT.java @@ -24,9 +24,9 @@ import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; import org.junit.Test; +import org.opensearch.client.Request; +import org.opensearch.client.Response; public class PrettyFormatterIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/QueryAnalysisIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/QueryAnalysisIT.java index edfee9c82ad..caa22b3cddf 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/QueryAnalysisIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/QueryAnalysisIT.java @@ -19,11 +19,11 @@ import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings.QUERY_ANALYSIS_ENABLED; import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings.QUERY_ANALYSIS_SEMANTIC_SUGGESTION; import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings.QUERY_ANALYSIS_SEMANTIC_THRESHOLD; -import static org.elasticsearch.rest.RestStatus.BAD_REQUEST; -import static org.elasticsearch.rest.RestStatus.OK; -import static org.elasticsearch.rest.RestStatus.SERVICE_UNAVAILABLE; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; +import static org.opensearch.rest.RestStatus.BAD_REQUEST; +import static org.opensearch.rest.RestStatus.OK; +import static org.opensearch.rest.RestStatus.SERVICE_UNAVAILABLE; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.SemanticAnalysisException; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.syntax.SyntaxAnalysisException; @@ -31,12 +31,12 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; import com.amazon.opendistroforelasticsearch.sql.legacy.utils.StringUtils; import java.io.IOException; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; -import org.elasticsearch.client.ResponseException; -import org.elasticsearch.rest.RestStatus; import org.junit.Assert; import org.junit.Test; +import org.opensearch.client.Request; +import org.opensearch.client.Response; +import org.opensearch.client.ResponseException; +import org.opensearch.rest.RestStatus; /** * Integration test for syntax and semantic analysis against query by new ANTLR parser. @@ -56,7 +56,7 @@ public void missingFromClauseShouldThrowSyntaxException() { @Test public void unsupportedOperatorShouldThrowSyntaxException() { queryShouldThrowSyntaxException( - "SELECT * FROM elasticsearch-sql_test_index_bank WHERE age <=> 1" + "SELECT * FROM opensearch-sql_test_index_bank WHERE age <=> 1" ); } @@ -65,7 +65,7 @@ public void unsupportedOperatorShouldSkipAnalysisAndThrowOtherExceptionIfAnalyze runWithClusterSetting( new ClusterSetting("transient", QUERY_ANALYSIS_ENABLED, "false"), () -> queryShouldThrowException( - "SELECT * FROM elasticsearch-sql_test_index_bank WHERE age <=> 1", + "SELECT * FROM opensearch-sql_test_index_bank WHERE age <=> 1", SqlParseException.class ) ); @@ -76,7 +76,7 @@ public void suggestionForWrongFieldNameShouldBeProvidedIfSuggestionEnabled() { runWithClusterSetting( new ClusterSetting("transient", QUERY_ANALYSIS_SEMANTIC_SUGGESTION, "true"), () -> queryShouldThrowSemanticException( - "SELECT * FROM elasticsearch-sql_test_index_bank b WHERE a.balance = 1000", + "SELECT * FROM opensearch-sql_test_index_bank b WHERE a.balance = 1000", "Field [a.balance] cannot be found or used here.", "Did you mean [b.balance]?" ) @@ -88,7 +88,7 @@ public void wrongFieldNameShouldPassIfIndexMappingIsVeryLarge() { runWithClusterSetting( new ClusterSetting("transient", QUERY_ANALYSIS_SEMANTIC_THRESHOLD, "5"), () -> queryShouldPassAnalysis( - "SELECT * FROM elasticsearch-sql_test_index_bank WHERE age123 = 1") + "SELECT * FROM opensearch-sql_test_index_bank WHERE age123 = 1") ); } @@ -96,12 +96,12 @@ public void wrongFieldNameShouldPassIfIndexMappingIsVeryLarge() { @Test public void useNewAddedFieldShouldPass() throws Exception { // 1.Make sure new add fields not there originally - String query = "SELECT salary FROM elasticsearch-sql_test_index_bank WHERE education = 'PhD'"; + String query = "SELECT salary FROM opensearch-sql_test_index_bank WHERE education = 'PhD'"; queryShouldThrowSemanticException(query, "Field [education] cannot be found or used here."); // 2.Index an document with fields not present in mapping previously String docWithNewFields = "{\"account_number\":12345,\"education\":\"PhD\",\"salary\": \"10000\"}"; - IndexResponse resp = client().index(new IndexRequest().index("elasticsearch-sql_test_index_bank"). + IndexResponse resp = client().index(new IndexRequest().index("opensearch-sql_test_index_bank"). source(docWithNewFields, JSON)).get(); Assert.assertEquals(RestStatus.CREATED, resp.status()); @@ -114,7 +114,7 @@ public void useNewAddedFieldShouldPass() throws Exception { @Test public void nonExistingFieldNameShouldThrowSemanticException() { queryShouldThrowSemanticException( - "SELECT * FROM elasticsearch-sql_test_index_bank WHERE balance1 = 1000", + "SELECT * FROM opensearch-sql_test_index_bank WHERE balance1 = 1000", "Field [balance1] cannot be found or used here." //"Did you mean [balance]?" ); @@ -123,7 +123,7 @@ public void nonExistingFieldNameShouldThrowSemanticException() { @Test public void nonExistingIndexAliasShouldThrowSemanticException() { queryShouldThrowSemanticException( - "SELECT * FROM elasticsearch-sql_test_index_bank b WHERE a.balance = 1000", + "SELECT * FROM opensearch-sql_test_index_bank b WHERE a.balance = 1000", "Field [a.balance] cannot be found or used here." //"Did you mean [b.balance]?" ); @@ -132,7 +132,7 @@ public void nonExistingIndexAliasShouldThrowSemanticException() { @Test public void indexJoinNonNestedFieldShouldThrowSemanticException() { queryShouldThrowSemanticException( - "SELECT * FROM elasticsearch-sql_test_index_bank b1, b1.firstname f1", + "SELECT * FROM opensearch-sql_test_index_bank b1, b1.firstname f1", "Operator [JOIN] cannot work with [INDEX, KEYWORD]." ); } @@ -140,7 +140,7 @@ public void indexJoinNonNestedFieldShouldThrowSemanticException() { @Test public void scalarFunctionCallWithTypoInNameShouldThrowSemanticException() { queryShouldThrowSemanticException( - "SELECT * FROM elasticsearch-sql_test_index_bank WHERE ABSa(age) = 1", + "SELECT * FROM opensearch-sql_test_index_bank WHERE ABSa(age) = 1", "Function [ABSA] cannot be found or used here.", "Did you mean [ABS]?" ); @@ -149,7 +149,7 @@ public void scalarFunctionCallWithTypoInNameShouldThrowSemanticException() { @Test public void scalarFunctionCallWithWrongTypeArgumentShouldThrowSemanticException() { queryShouldThrowSemanticException( - "SELECT * FROM elasticsearch-sql_test_index_bank WHERE LOG(lastname) = 1", + "SELECT * FROM opensearch-sql_test_index_bank WHERE LOG(lastname) = 1", "Function [LOG] cannot work with [KEYWORD].", "Usage: LOG(NUMBER T) -> DOUBLE or LOG(NUMBER T, NUMBER) -> DOUBLE" ); @@ -158,7 +158,7 @@ public void scalarFunctionCallWithWrongTypeArgumentShouldThrowSemanticException( @Test public void aggregateFunctionCallWithWrongNumberOfArgumentShouldThrowSemanticException() { queryShouldThrowSemanticException( - "SELECT city FROM elasticsearch-sql_test_index_bank GROUP BY city HAVING MAX(age, birthdate) > 1", + "SELECT city FROM opensearch-sql_test_index_bank GROUP BY city HAVING MAX(age, birthdate) > 1", "Function [MAX] cannot work with [INTEGER, DATE].", "Usage: MAX(NUMBER T) -> T" ); @@ -167,7 +167,7 @@ public void aggregateFunctionCallWithWrongNumberOfArgumentShouldThrowSemanticExc @Test public void compareIntegerFieldWithBooleanShouldThrowSemanticException() { queryShouldThrowSemanticException( - "SELECT * FROM elasticsearch-sql_test_index_bank b WHERE b.age IS FALSE", + "SELECT * FROM opensearch-sql_test_index_bank b WHERE b.age IS FALSE", "Operator [IS] cannot work with [INTEGER, BOOLEAN].", "Usage: Please use compatible types from each side." ); @@ -176,7 +176,7 @@ public void compareIntegerFieldWithBooleanShouldThrowSemanticException() { @Test public void compareNumberFieldWithStringShouldThrowSemanticException() { queryShouldThrowSemanticException( - "SELECT * FROM elasticsearch-sql_test_index_bank b WHERE b.age >= 'test'", + "SELECT * FROM opensearch-sql_test_index_bank b WHERE b.age >= 'test'", "Operator [>=] cannot work with [INTEGER, STRING].", "Usage: Please use compatible types from each side." ); @@ -185,7 +185,7 @@ public void compareNumberFieldWithStringShouldThrowSemanticException() { @Test public void compareLogFunctionCallWithNumberFieldWithStringShouldThrowSemanticException() { queryShouldThrowSemanticException( - "SELECT * FROM elasticsearch-sql_test_index_bank b WHERE LOG(b.balance) != 'test'", + "SELECT * FROM opensearch-sql_test_index_bank b WHERE LOG(b.balance) != 'test'", "Operator [!=] cannot work with [DOUBLE, STRING].", "Usage: Please use compatible types from each side." ); @@ -194,8 +194,8 @@ public void compareLogFunctionCallWithNumberFieldWithStringShouldThrowSemanticEx @Test public void unionNumberFieldWithStringShouldThrowSemanticException() { queryShouldThrowSemanticException( - "SELECT age FROM elasticsearch-sql_test_index_bank" + - " UNION SELECT address FROM elasticsearch-sql_test_index_bank", + "SELECT age FROM opensearch-sql_test_index_bank" + + " UNION SELECT address FROM opensearch-sql_test_index_bank", "Operator [UNION] cannot work with [INTEGER, TEXT]." ); } @@ -203,8 +203,8 @@ public void unionNumberFieldWithStringShouldThrowSemanticException() { @Test public void minusBooleanFieldWithDateShouldThrowSemanticException() { queryShouldThrowSemanticException( - "SELECT male FROM elasticsearch-sql_test_index_bank" + - " MINUS SELECT birthdate FROM elasticsearch-sql_test_index_bank", + "SELECT male FROM opensearch-sql_test_index_bank" + + " MINUS SELECT birthdate FROM opensearch-sql_test_index_bank", "Operator [MINUS] cannot work with [BOOLEAN, DATE]." ); } @@ -212,8 +212,8 @@ public void minusBooleanFieldWithDateShouldThrowSemanticException() { @Test public void useInClauseWithIncompatibleFieldTypesShouldFail() { queryShouldThrowSemanticException( - "SELECT * FROM elasticsearch-sql_test_index_bank WHERE male " + - " IN (SELECT 1 FROM elasticsearch-sql_test_index_bank)", + "SELECT * FROM opensearch-sql_test_index_bank WHERE male " + + " IN (SELECT 1 FROM opensearch-sql_test_index_bank)", "Operator [IN] cannot work with [BOOLEAN, INTEGER]." ); } @@ -221,20 +221,20 @@ public void useInClauseWithIncompatibleFieldTypesShouldFail() { @Test public void queryWithNestedFunctionShouldFail() { queryShouldThrowFeatureNotImplementedException( - "SELECT abs(log(balance)) FROM elasticsearch-sql_test_index_bank", + "SELECT abs(log(balance)) FROM opensearch-sql_test_index_bank", "Nested function calls like [abs(log(balance))] are not supported yet" ); } @Test public void nestedFunctionWithMathConstantAsInnerFunctionShouldPass() { - queryShouldPassAnalysis("SELECT log(e()) FROM elasticsearch-sql_test_index_bank"); + queryShouldPassAnalysis("SELECT log(e()) FROM opensearch-sql_test_index_bank"); } @Test public void aggregateWithFunctionAggregatorShouldFail() { queryShouldThrowFeatureNotImplementedException( - "SELECT max(log(age)) FROM elasticsearch-sql_test_index_bank", + "SELECT max(log(age)) FROM opensearch-sql_test_index_bank", "Aggregation calls with function aggregator like [max(log(age))] are not supported yet" ); } @@ -242,7 +242,7 @@ public void aggregateWithFunctionAggregatorShouldFail() { @Test public void queryWithUnsupportedFunctionShouldFail() { queryShouldThrowFeatureNotImplementedException( - "SELECT balance DIV age FROM elasticsearch-sql_test_index_bank", + "SELECT balance DIV age FROM opensearch-sql_test_index_bank", "Operator [DIV] is not supported yet" ); } @@ -250,7 +250,7 @@ public void queryWithUnsupportedFunctionShouldFail() { @Test public void useNegativeNumberConstantShouldPass() { queryShouldPassAnalysis( - "SELECT * FROM elasticsearch-sql_test_index_bank " + + "SELECT * FROM opensearch-sql_test_index_bank " + "WHERE age > -1 AND balance < -123.456789" ); } @@ -266,7 +266,7 @@ private void runWithClusterSetting(ClusterSetting setting, Runnable query) { throw new IllegalStateException( StringUtils.format("Exception raised when running with cluster setting [%s]", setting)); } finally { - // Clean up or ES will throw java.lang.AssertionError: test leaves persistent cluster metadata behind + // Clean up or OpenSearch will throw java.lang.AssertionError: test leaves persistent cluster metadata behind try { updateClusterSettings(setting.nullify()); } catch (IOException e) { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/QueryFunctionsIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/QueryFunctionsIT.java index 463bf970413..5444daceb0b 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/QueryFunctionsIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/QueryFunctionsIT.java @@ -32,19 +32,19 @@ import java.util.Map; import java.util.function.Function; import java.util.stream.Collectors; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.search.SearchHit; import org.hamcrest.BaseMatcher; import org.hamcrest.Description; import org.hamcrest.FeatureMatcher; import org.hamcrest.Matcher; import org.json.JSONObject; import org.junit.Test; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.search.SearchHit; public class QueryFunctionsIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/QueryIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/QueryIT.java index 1e634ff679c..cc287957ed0 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/QueryIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/QueryIT.java @@ -40,8 +40,6 @@ import java.util.HashSet; import java.util.Locale; import java.util.Set; -import org.elasticsearch.client.ResponseException; -import org.elasticsearch.rest.RestStatus; import org.joda.time.DateTime; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; @@ -50,6 +48,8 @@ import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; +import org.opensearch.client.ResponseException; +import org.opensearch.rest.RestStatus; public class QueryIT extends SQLIntegTestCase { @@ -64,7 +64,7 @@ public class QueryIT extends SQLIntegTestCase { * - idsQueryMultipleId * - multipleIndicesOneNotExistWithoutHint *

- * The following tests are being ignored because subquery is still running in ES transport thread: + * The following tests are being ignored because subquery is still running in OpenSearch transport thread: * - twoSubQueriesTest() * - inTermsSubQueryTest() */ @@ -230,7 +230,7 @@ public void selectSpecificFieldsUsingTableNamePrefix() throws IOException { Set expectedSource = new HashSet<>(Arrays.asList(arr)); JSONObject response = executeQuery(String.format(Locale.ROOT, - "SELECT elasticsearch-sql_test_index_account.age, elasticsearch-sql_test_index_account.account_number" + + "SELECT opensearch-sql_test_index_account.age, opensearch-sql_test_index_account.account_number" + " FROM %s", TEST_INDEX_ACCOUNT)); assertResponseForSelectSpecificFields(response, expectedSource); @@ -302,7 +302,7 @@ public void notUseTableAliasInWhereClauseTest() throws IOException { @Test public void useTableNamePrefixInWhereClauseTest() throws IOException { JSONObject response = executeQuery(String.format(Locale.ROOT, - "SELECT * FROM %s WHERE elasticsearch-sql_test_index_account.city = 'Nogal' LIMIT 1000", + "SELECT * FROM %s WHERE opensearch-sql_test_index_account.city = 'Nogal' LIMIT 1000", TEST_INDEX_ACCOUNT )); @@ -1577,7 +1577,7 @@ public void multipleIndicesOneNotExistWithoutHint() throws IOException { } // TODO Find way to check routing() without SearchRequestBuilder - // to properly update these tests to ESIntegTestCase format + // to properly update these tests to OpenSearchIntegTestCase format // @Test // public void routingRequestOneRounting() throws IOException { // SqlElasticSearchRequestBuilder request = getRequestBuilder(String.format(Locale.ROOT, @@ -1762,7 +1762,7 @@ public void functionCallWithIllegalScriptShouldThrowESExceptionInJdbc() { String response = executeQuery("select log(balance + 2) from " + TEST_INDEX_BANK, "jdbc"); queryInJdbcResponseShouldIndicateESException(response, "SearchPhaseExecutionException", - "please send request for Json format to see the raw response from elasticsearch engine."); + "please send request for Json format to see the raw response from OpenSearch engine."); } @Ignore("Goes in different route, does not call PrettyFormatRestExecutor.execute methods." + diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/RestIntegTestCase.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/RestIntegTestCase.java index ef3a101acbc..9ba7bd5fd08 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/RestIntegTestCase.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/RestIntegTestCase.java @@ -48,22 +48,22 @@ import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; -import org.elasticsearch.common.Strings; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.rest.RestStatus; import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; +import org.opensearch.client.Request; +import org.opensearch.client.Response; +import org.opensearch.common.Strings; +import org.opensearch.common.xcontent.XContentBuilder; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.rest.RestStatus; /** * SQL plugin integration test base class (migrated from SQLIntegTestCase) *

* The execution of order is as follows: *

- * ESRestTestCase: 1) initClient() N+1) closeClient() + * OpenSearchRestTestCase: 1) initClient() N+1) closeClient() * \ / * SQLIntegTestCase: 2) setUpIndices() -> 4) setUpIndices() ... -> N) cleanUpIndices() * \ \ diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SQLFunctionsIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SQLFunctionsIT.java index fc9088a24ad..f37c11c9f46 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SQLFunctionsIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SQLFunctionsIT.java @@ -41,20 +41,20 @@ import java.io.IOException; import java.util.Date; import java.util.stream.IntStream; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; import org.hamcrest.collection.IsMapContaining; import org.json.JSONObject; import org.junit.Assert; import org.junit.Assume; import org.junit.Ignore; import org.junit.Test; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; /** @@ -126,7 +126,7 @@ public void functionAlias() throws Exception { @Test public void caseChangeTest() throws IOException { String query = "SELECT LOWER(firstname) " + - "FROM elasticsearch-sql_test_index_account " + + "FROM opensearch-sql_test_index_account " + "WHERE UPPER(lastname)='DUKE' " + "ORDER BY upper(lastname) "; @@ -145,7 +145,7 @@ public void caseChangeTestWithLocale() throws IOException { // https://stackoverflow.com/questions/11063102/using-locales-with-javas-tolowercase-and-touppercase String query = "SELECT LOWER(state.keyword, 'tr') " + - "FROM elasticsearch-sql_test_index_account " + + "FROM opensearch-sql_test_index_account " + "WHERE account_number=1"; assertThat( @@ -158,7 +158,7 @@ public void caseChangeTestWithLocale() throws IOException { @Test public void caseChangeWithAggregationTest() throws IOException { String query = "SELECT UPPER(e.firstname) AS upper, COUNT(*)" + - "FROM elasticsearch-sql_test_index_account e " + + "FROM opensearch-sql_test_index_account e " + "WHERE LOWER(e.lastname)='duke' " + "GROUP BY upper"; @@ -679,7 +679,7 @@ public void ascii() throws IOException { } /** - * The following tests for LEFT and RIGHT are ignored because the ES client fails to parse "LEFT"/"RIGHT" in + * The following tests for LEFT and RIGHT are ignored because the OpenSearch client fails to parse "LEFT"/"RIGHT" in * the integTest */ @Ignore diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SQLIntegTestCase.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SQLIntegTestCase.java index 9a10d3f054d..2728eff6711 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SQLIntegTestCase.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SQLIntegTestCase.java @@ -62,17 +62,17 @@ import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.Response; import org.json.JSONArray; import org.json.JSONObject; import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; +import org.opensearch.client.Request; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.Response; /** - * ES Rest integration test base for SQL testing + * OpenSearch Rest integration test base for SQL testing */ public abstract class SQLIntegTestCase extends ODFERestTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SourceFieldIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SourceFieldIT.java index ebeb854a747..f1d6c1e51e5 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SourceFieldIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SourceFieldIT.java @@ -20,17 +20,17 @@ import java.io.IOException; import java.util.Set; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; import org.json.JSONObject; import org.junit.Assert; import org.junit.Test; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; public class SourceFieldIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SubqueryIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SubqueryIT.java index d94fdbc5296..0c38b53fa0b 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SubqueryIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/SubqueryIT.java @@ -36,13 +36,13 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; -import org.elasticsearch.client.ResponseException; import org.json.JSONArray; import org.json.JSONObject; import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import org.opensearch.client.ResponseException; public class SubqueryIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/TermQueryExplainIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/TermQueryExplainIT.java index f74c11d08c3..246f4e078f9 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/TermQueryExplainIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/TermQueryExplainIT.java @@ -21,11 +21,11 @@ import static org.hamcrest.Matchers.not; import java.io.IOException; -import org.elasticsearch.client.ResponseException; -import org.elasticsearch.rest.RestStatus; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; +import org.opensearch.client.ResponseException; +import org.opensearch.rest.RestStatus; public class TermQueryExplainIT extends SQLIntegTestCase { @@ -46,7 +46,7 @@ protected void init() throws Exception { public void testNonExistingIndex() throws IOException { try { explainQuery("SELECT firstname, lastname " + - "FROM elasticsearch_sql_test_fake_index " + + "FROM opensearch_sql_test_fake_index " + "WHERE firstname = 'Leo'"); Assert.fail("Expected ResponseException, but none was thrown"); @@ -63,7 +63,7 @@ public void testNonExistingIndex() throws IOException { public void testNonResolvingIndexPattern() throws IOException { try { explainQuery("SELECT * " + - "FROM elasticsearch_sql_test_blah_blah* " + + "FROM opensearch_sql_test_blah_blah* " + "WHERE firstname = 'Leo'"); Assert.fail("Expected ResponseException, but none was thrown"); @@ -80,7 +80,7 @@ public void testNonResolvingIndexPattern() throws IOException { public void testNonResolvingIndexPatternWithExistingIndex() throws IOException { String result = explainQuery( "SELECT * " + - "FROM elasticsearch_sql_test_blah_blah*, elasticsearch-sql_test_index_bank " + + "FROM opensearch_sql_test_blah_blah*, opensearch-sql_test_index_bank " + "WHERE state = 'DC'"); assertThat(result, containsString("\"term\":{\"state.keyword\"")); } @@ -90,7 +90,7 @@ public void testNonResolvingIndexPatternWithNonExistingIndex() throws IOExceptio try { explainQuery( "SELECT firstname, lastname " + - "FROM elasticsearch_sql_test_blah_blah*, another_fake_index " + + "FROM opensearch_sql_test_blah_blah*, another_fake_index " + "WHERE firstname = 'Leo'"); Assert.fail("Expected ResponseException, but none was thrown"); } catch (ResponseException e) { @@ -106,7 +106,7 @@ public void testNonResolvingIndexPatternWithNonExistingIndex() throws IOExceptio public void testNonCompatibleMappings() throws IOException { try { explainQuery( - "SELECT * FROM elasticsearch-sql_test_index_dog, elasticsearch-sql_test_index_dog2"); + "SELECT * FROM opensearch-sql_test_index_dog, opensearch-sql_test_index_dog2"); Assert.fail("Expected ResponseException, but none was thrown"); } catch (ResponseException e) { assertThat(e.getResponse().getStatusLine().getStatusCode(), @@ -125,7 +125,7 @@ public void testNonCompatibleMappings() throws IOException { public void testNonCompatibleMappingsButTheFieldIsNotUsed() throws IOException { String result = explainQuery( "SELECT dog_name " + - "FROM elasticsearch-sql_test_index_dog, elasticsearch-sql_test_index_dog2 WHERE dog_name = 'dog'"); + "FROM opensearch-sql_test_index_dog, opensearch-sql_test_index_dog2 WHERE dog_name = 'dog'"); System.out.println(result); assertThat(result, containsString("dog_name")); assertThat(result, containsString("_source")); @@ -135,7 +135,7 @@ public void testNonCompatibleMappingsButTheFieldIsNotUsed() throws IOException { public void testEqualFieldMappings() throws IOException { String result = explainQuery( "SELECT color " + - "FROM elasticsearch-sql_test_index_dog2, elasticsearch-sql_test_index_dog3"); + "FROM opensearch-sql_test_index_dog2, opensearch-sql_test_index_dog3"); assertThat(result, containsString("color")); assertThat(result, containsString("_source")); } @@ -144,7 +144,7 @@ public void testEqualFieldMappings() throws IOException { public void testIdenticalMappings() throws IOException { String result = explainQuery( "SELECT firstname, birthdate, state " + - "FROM elasticsearch-sql_test_index_bank, elasticsearch-sql_test_index_bank_two " + + "FROM opensearch-sql_test_index_bank, opensearch-sql_test_index_bank_two " + "WHERE state = 'WA' OR male = true" ); assertThat(result, containsString("term")); @@ -156,7 +156,7 @@ public void testIdenticalMappings() throws IOException { public void testIdenticalMappingsWithTypes() throws IOException { String result = explainQuery( "SELECT firstname, birthdate, state " + - "FROM elasticsearch-sql_test_index_bank/account, elasticsearch-sql_test_index_bank_two/account_two " + + "FROM opensearch-sql_test_index_bank/account, opensearch-sql_test_index_bank_two/account_two " + "WHERE state = 'WA' OR male = true" ); assertThat(result, containsString("term")); @@ -169,7 +169,7 @@ public void testIdenticalMappingsWithTypes() throws IOException { public void testIdenticalMappingsWithPartialType() throws IOException { String result = explainQuery( "SELECT firstname, birthdate, state " + - "FROM elasticsearch-sql_test_index_bank/account, elasticsearch-sql_test_index_bank_two " + + "FROM opensearch-sql_test_index_bank/account, opensearch-sql_test_index_bank_two " + "WHERE state = 'WA' OR male = true" ); assertThat(result, containsString("term")); @@ -182,7 +182,7 @@ public void testTextFieldOnly() throws IOException { String result = explainQuery( "SELECT firstname, birthdate, state " + - "FROM elasticsearch-sql_test_index_bank " + + "FROM opensearch-sql_test_index_bank " + "WHERE firstname = 'Abbas'" ); assertThat(result, containsString("term")); @@ -193,7 +193,7 @@ public void testTextFieldOnly() throws IOException { public void testTextAndKeywordAppendsKeywordAlias() throws IOException { String result = explainQuery( "SELECT firstname, birthdate, state " + - "FROM elasticsearch-sql_test_index_bank " + + "FROM opensearch-sql_test_index_bank " + "WHERE state = 'WA' OR lastname = 'Chen'" ); assertThat(result, containsString("term")); @@ -205,7 +205,7 @@ public void testTextAndKeywordAppendsKeywordAlias() throws IOException { public void testBooleanFieldNoKeywordAlias() throws IOException { String result = - explainQuery("SELECT * FROM elasticsearch-sql_test_index_bank WHERE male = false"); + explainQuery("SELECT * FROM opensearch-sql_test_index_bank WHERE male = false"); assertThat(result, containsString("term")); assertThat(result, not(containsString("male."))); } @@ -214,14 +214,14 @@ public void testBooleanFieldNoKeywordAlias() throws IOException { public void testDateFieldNoKeywordAlias() throws IOException { String result = explainQuery( - "SELECT * FROM elasticsearch-sql_test_index_bank WHERE birthdate = '2018-08-19'"); + "SELECT * FROM opensearch-sql_test_index_bank WHERE birthdate = '2018-08-19'"); assertThat(result, containsString("term")); assertThat(result, not(containsString("birthdate."))); } @Test public void testNumberNoKeywordAlias() throws IOException { - String result = explainQuery("SELECT * FROM elasticsearch-sql_test_index_bank WHERE age = 32"); + String result = explainQuery("SELECT * FROM opensearch-sql_test_index_bank WHERE age = 32"); assertThat(result, containsString("term")); assertThat(result, not(containsString("age."))); } @@ -230,7 +230,7 @@ public void testNumberNoKeywordAlias() throws IOException { public void inTestInWhere() throws IOException { String result = explainQuery( "SELECT * " + - "FROM elasticsearch-sql_test_index_bank " + + "FROM opensearch-sql_test_index_bank " + "WHERE state IN ('WA' , 'PA' , 'TN')" ); assertThat(result, containsString("term")); @@ -242,8 +242,8 @@ public void inTestInWhere() throws IOException { public void inTestInWhereSubquery() throws IOException { String result = explainQuery( "SELECT * " + - "FROM elasticsearch-sql_test_index_bank/account WHERE " + - "state IN (SELECT state FROM elasticsearch-sql_test_index_bank WHERE city = 'Nicholson')" + "FROM opensearch-sql_test_index_bank/account WHERE " + + "state IN (SELECT state FROM opensearch-sql_test_index_bank WHERE city = 'Nicholson')" ); assertThat(result, containsString("term")); assertThat(result, containsString("state.keyword")); @@ -253,7 +253,7 @@ public void inTestInWhereSubquery() throws IOException { public void testKeywordAliasGroupBy() throws IOException { String result = explainQuery( "SELECT firstname, state " + - "FROM elasticsearch-sql_test_index_bank/account " + + "FROM opensearch-sql_test_index_bank/account " + "GROUP BY firstname, state"); assertThat(result, containsString("term")); assertThat(result, containsString("state.keyword")); @@ -263,7 +263,7 @@ public void testKeywordAliasGroupBy() throws IOException { public void testKeywordAliasGroupByUsingTableAlias() throws IOException { String result = explainQuery( "SELECT a.firstname, a.state " + - "FROM elasticsearch-sql_test_index_bank/account a " + + "FROM opensearch-sql_test_index_bank/account a " + "GROUP BY a.firstname, a.state"); assertThat(result, containsString("term")); assertThat(result, containsString("state.keyword")); @@ -273,7 +273,7 @@ public void testKeywordAliasGroupByUsingTableAlias() throws IOException { public void testKeywordAliasOrderBy() throws IOException { String result = explainQuery( "SELECT * " + - "FROM elasticsearch-sql_test_index_bank " + + "FROM opensearch-sql_test_index_bank " + "ORDER BY state, lastname " ); assertThat(result, containsString("\"state.keyword\":{\"order\":\"asc\"")); @@ -284,7 +284,7 @@ public void testKeywordAliasOrderBy() throws IOException { public void testKeywordAliasOrderByUsingTableAlias() throws IOException { String result = explainQuery( "SELECT * " + - "FROM elasticsearch-sql_test_index_bank b " + + "FROM opensearch-sql_test_index_bank b " + "ORDER BY b.state, b.lastname " ); assertThat(result, containsString("\"state.keyword\":{\"order\":\"asc\"")); @@ -298,8 +298,8 @@ public void testJoinWhere() throws IOException { TestUtils.fileToString("src/test/resources/expectedOutput/term_join_where", true); String result = explainQuery( "SELECT a.firstname, a.lastname , b.city " + - "FROM elasticsearch-sql_test_index_account a " + - "JOIN elasticsearch-sql_test_index_account b " + + "FROM opensearch-sql_test_index_account a " + + "JOIN opensearch-sql_test_index_account b " + "ON a.city = b.city " + "WHERE a.city IN ('Nicholson', 'Yardville')" ); @@ -312,8 +312,8 @@ public void testJoinAliasMissing() throws IOException { try { explainQuery( "SELECT a.firstname, a.lastname , b.city " + - "FROM elasticsearch-sql_test_index_account a " + - "JOIN elasticsearch-sql_test_index_account b " + + "FROM opensearch-sql_test_index_account a " + + "JOIN opensearch-sql_test_index_account b " + "ON a.city = b.city " + "WHERE city IN ('Nicholson', 'Yardville')" ); @@ -332,7 +332,7 @@ public void testJoinAliasMissing() throws IOException { public void testNestedSingleConditionAllFields() throws IOException { String result = explainQuery( "SELECT * " + - "FROM elasticsearch-sql_test_index_employee_nested e, e.projects p " + + "FROM opensearch-sql_test_index_employee_nested e, e.projects p " + "WHERE p.name = 'something' " ); assertThat(result, @@ -344,7 +344,7 @@ public void testNestedSingleConditionAllFields() throws IOException { public void testNestedMultipleCondition() throws IOException { String result = explainQuery( "SELECT e.id, p.name " + - "FROM elasticsearch-sql_test_index_employee_nested e, e.projects p " + + "FROM opensearch-sql_test_index_employee_nested e, e.projects p " + "WHERE p.name = 'something' and p.started_year = 1990 " ); assertThat(result, @@ -357,7 +357,7 @@ public void testNestedMultipleCondition() throws IOException { public void testConditionsOnDifferentNestedDocs() throws IOException { String result = explainQuery( "SELECT p.name, c.likes " + - "FROM elasticsearch-sql_test_index_employee_nested e, e.projects p, e.comments c " + + "FROM opensearch-sql_test_index_employee_nested e, e.projects p, e.comments c " + "WHERE p.name = 'something' or c.likes = 56 " ); assertThat(result, @@ -371,7 +371,7 @@ public void testConditionsOnDifferentNestedDocs() throws IOException { public void testNestedSingleConditionSpecificFields() throws IOException { String result = explainQuery( "SELECT e.id, p.name " + - "FROM elasticsearch-sql_test_index_employee_nested e, e.projects p " + + "FROM opensearch-sql_test_index_employee_nested e, e.projects p " + "WHERE p.name = 'hello' or p.name = 'world' " ); assertThat(result, containsString("\"term\":{\"projects.name.keyword\":{\"value\":\"hello\"")); @@ -383,7 +383,7 @@ public void testNestedSingleConditionSpecificFields() throws IOException { public void testNestedSingleGroupBy() throws IOException { String result = explainQuery( "SELECT e.id, p.name " + - "FROM elasticsearch-sql_test_index_employee_nested e, e.projects p " + + "FROM opensearch-sql_test_index_employee_nested e, e.projects p " + "GROUP BY p.name "); assertThat(result, containsString("\"terms\":{\"field\":\"projects.name.keyword\"")); assertThat(result, containsString("\"nested\":{\"path\":\"projects\"")); @@ -393,7 +393,7 @@ public void testNestedSingleGroupBy() throws IOException { public void testNestedSingleOrderBy() throws IOException { String result = explainQuery( "SELECT e.id, p.name " + - "FROM elasticsearch-sql_test_index_employee_nested e, e.projects p " + + "FROM opensearch-sql_test_index_employee_nested e, e.projects p " + "ORDER BY p.name " ); assertThat(result, containsString("\"sort\":[{\"projects.name.keyword\"")); @@ -404,7 +404,7 @@ public void testNestedSingleOrderBy() throws IOException { public void testNestedIsNotNullExplain() throws IOException { String explain = explainQuery( "SELECT e.name " + - "FROM elasticsearch-sql_test_index_employee_nested as e, e.projects as p " + + "FROM opensearch-sql_test_index_employee_nested as e, e.projects as p " + "WHERE p IS NOT NULL" ); @@ -419,11 +419,11 @@ public void testMultiQuery() throws IOException { TestUtils.fileToString("src/test/resources/expectedOutput/term_union_where", true); String result = explainQuery( "SELECT firstname " + - "FROM elasticsearch-sql_test_index_account/account " + + "FROM opensearch-sql_test_index_account/account " + "WHERE firstname = 'Amber' " + "UNION ALL " + "SELECT dog_name as firstname " + - "FROM elasticsearch-sql_test_index_dog/dog " + + "FROM opensearch-sql_test_index_dog/dog " + "WHERE holdersName = 'Hattie' OR dog_name = 'rex'"); assertThat(result.replaceAll("\\s+", ""), equalTo(expectedOutput.replaceAll("\\s+", ""))); } diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/TestUtils.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/TestUtils.java index 1bb43bfb8dc..03cc2679ac6 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/TestUtils.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/TestUtils.java @@ -34,15 +34,15 @@ import java.util.List; import java.util.Locale; import java.util.stream.Collectors; -import org.elasticsearch.action.bulk.BulkRequest; -import org.elasticsearch.action.bulk.BulkResponse; -import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.client.Client; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; -import org.elasticsearch.client.RestClient; -import org.elasticsearch.common.xcontent.XContentType; import org.json.JSONObject; +import org.opensearch.action.bulk.BulkRequest; +import org.opensearch.action.bulk.BulkResponse; +import org.opensearch.action.index.IndexRequest; +import org.opensearch.client.Client; +import org.opensearch.client.Request; +import org.opensearch.client.Response; +import org.opensearch.client.RestClient; +import org.opensearch.common.xcontent.XContentType; public class TestUtils { @@ -83,7 +83,7 @@ public static void createHiddenIndexByRestClient(RestClient client, String index } /** - * Check if index already exists by ES index exists API which returns: + * Check if index already exists by OpenSearch index exists API which returns: * 200 - specified indices or aliases exist * 404 - one or more indices specified or aliases do not exist * @@ -255,7 +255,7 @@ public static String getDataTypeNonnumericIndexMapping() { public static void loadBulk(Client client, String jsonPath, String defaultIndex) throws Exception { - System.out.println(String.format("Loading file %s into elasticsearch cluster", jsonPath)); + System.out.println(String.format("Loading file %s into opensearch cluster", jsonPath)); String absJsonPath = getResourceFilePath(jsonPath); BulkRequest bulkRequest = new BulkRequest(); diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/TestsConstants.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/TestsConstants.java index a4aec50d984..80c9a214192 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/TestsConstants.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/TestsConstants.java @@ -24,7 +24,7 @@ public class TestsConstants { public final static String PERSISTENT = "persistent"; public final static String TRANSIENT = "transient"; - public final static String TEST_INDEX = "elasticsearch-sql_test_index"; + public final static String TEST_INDEX = "opensearch-sql_test_index"; public final static String TEST_INDEX_ONLINE = TEST_INDEX + "_online"; public final static String TEST_INDEX_ACCOUNT = TEST_INDEX + "_account"; diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/DedupCommandIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/DedupCommandIT.java index 9a1d0310460..920478f3555 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/DedupCommandIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/DedupCommandIT.java @@ -15,16 +15,15 @@ package com.amazon.opendistroforelasticsearch.sql.ppl; -import org.json.JSONObject; -import org.junit.jupiter.api.Test; - -import java.io.IOException; - import static com.amazon.opendistroforelasticsearch.sql.legacy.TestsConstants.TEST_INDEX_BANK; import static com.amazon.opendistroforelasticsearch.sql.legacy.TestsConstants.TEST_INDEX_BANK_WITH_NULL_VALUES; import static com.amazon.opendistroforelasticsearch.sql.util.MatcherUtils.rows; import static com.amazon.opendistroforelasticsearch.sql.util.MatcherUtils.verifyDataRows; +import java.io.IOException; +import org.json.JSONObject; +import org.junit.jupiter.api.Test; + public class DedupCommandIT extends PPLIntegTestCase { @Override diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/ExplainIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/ExplainIT.java index 06d1c314d01..da3cbf1a87e 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/ExplainIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/ExplainIT.java @@ -23,7 +23,6 @@ import java.net.URI; import java.nio.file.Files; import java.nio.file.Paths; -import java.util.Arrays; import org.junit.jupiter.api.Test; public class ExplainIT extends PPLIntegTestCase { @@ -39,7 +38,7 @@ public void testExplain() throws Exception { assertJsonEquals( expected, explainQueryToString( - "source=elasticsearch-sql_test_index_account" + "source=opensearch-sql_test_index_account" + "| where age > 30 " + "| stats avg(age) AS avg_age by state, city " + "| sort state " @@ -57,7 +56,7 @@ public void testFilterPushDownExplain() throws Exception { assertJsonEquals( expected, explainQueryToString( - "source=elasticsearch-sql_test_index_account" + "source=opensearch-sql_test_index_account" + "| where age > 30 " + "| where age < 40 " + "| where balance > 10000 " @@ -72,7 +71,7 @@ public void testFilterAndAggPushDownExplain() throws Exception { assertJsonEquals( expected, explainQueryToString( - "source=elasticsearch-sql_test_index_account" + "source=opensearch-sql_test_index_account" + "| where age > 30 " + "| stats avg(age) AS avg_age by state, city") ); @@ -85,7 +84,7 @@ public void testSortPushDownExplain() throws Exception { assertJsonEquals( expected, explainQueryToString( - "source=elasticsearch-sql_test_index_account" + "source=opensearch-sql_test_index_account" + "| sort age " + "| where age > 30" + "| fields age") diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/MetricsIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/MetricsIT.java index 6c3c810a871..65f93c2d1cd 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/MetricsIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/MetricsIT.java @@ -26,11 +26,11 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.util.concurrent.TimeUnit; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; import org.json.JSONObject; import org.junit.Assert; import org.junit.Test; +import org.opensearch.client.Request; +import org.opensearch.client.Response; public class MetricsIT extends PPLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/OperatorIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/OperatorIT.java index b13c2ad427b..34f4103e758 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/OperatorIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/OperatorIT.java @@ -21,9 +21,9 @@ import static com.amazon.opendistroforelasticsearch.sql.util.MatcherUtils.verifyDataRows; import java.io.IOException; -import org.elasticsearch.client.ResponseException; import org.json.JSONObject; import org.junit.jupiter.api.Test; +import org.opensearch.client.ResponseException; public class OperatorIT extends PPLIntegTestCase { @Override diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/PPLIntegTestCase.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/PPLIntegTestCase.java index 178a45879cf..18ad4940d99 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/PPLIntegTestCase.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/PPLIntegTestCase.java @@ -22,15 +22,15 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.SQLIntegTestCase; import java.io.IOException; import java.util.Locale; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.Response; import org.json.JSONException; import org.json.JSONObject; import org.junit.Assert; +import org.opensearch.client.Request; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.Response; /** - * ES Rest integration test base for PPL testing. + * OpenSearch Rest integration test base for PPL testing. */ public abstract class PPLIntegTestCase extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/PPLPluginIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/PPLPluginIT.java index d84bbb145d3..b61108aaa4b 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/PPLPluginIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/PPLPluginIT.java @@ -26,15 +26,15 @@ import com.amazon.opendistroforelasticsearch.sql.util.TestUtils; import java.io.IOException; import java.util.Locale; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; -import org.elasticsearch.client.ResponseException; import org.hamcrest.Description; import org.hamcrest.TypeSafeMatcher; import org.json.JSONObject; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import org.opensearch.client.Request; +import org.opensearch.client.Response; +import org.opensearch.client.ResponseException; public class PPLPluginIT extends PPLIntegTestCase { @Rule diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/QueryAnalysisIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/QueryAnalysisIT.java index 5a1872de22d..4e78b18ba10 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/QueryAnalysisIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/QueryAnalysisIT.java @@ -20,9 +20,9 @@ import com.amazon.opendistroforelasticsearch.sql.common.antlr.SyntaxCheckException; import com.amazon.opendistroforelasticsearch.sql.exception.SemanticCheckException; import java.io.IOException; -import org.elasticsearch.client.ResponseException; import org.junit.Ignore; import org.junit.Test; +import org.opensearch.client.ResponseException; public class QueryAnalysisIT extends PPLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/ResourceMonitorIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/ResourceMonitorIT.java index 7ae1b4d8503..aa533835515 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/ResourceMonitorIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/ResourceMonitorIT.java @@ -20,10 +20,10 @@ import static com.amazon.opendistroforelasticsearch.sql.util.MatcherUtils.verifyColumn; import java.io.IOException; -import org.elasticsearch.client.ResponseException; import org.hamcrest.Matchers; import org.json.JSONObject; import org.junit.Test; +import org.opensearch.client.ResponseException; public class ResourceMonitorIT extends PPLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/SearchCommandIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/SearchCommandIT.java index 76c4c265008..91b3635eaec 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/SearchCommandIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/SearchCommandIT.java @@ -15,13 +15,6 @@ package com.amazon.opendistroforelasticsearch.sql.ppl; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.ResponseException; -import org.json.JSONObject; -import org.junit.jupiter.api.Test; - -import java.io.IOException; - import static com.amazon.opendistroforelasticsearch.sql.legacy.TestsConstants.TEST_INDEX_BANK; import static com.amazon.opendistroforelasticsearch.sql.legacy.TestsConstants.TEST_INDEX_DOG; import static com.amazon.opendistroforelasticsearch.sql.util.MatcherUtils.columnName; @@ -29,6 +22,12 @@ import static com.amazon.opendistroforelasticsearch.sql.util.MatcherUtils.verifyColumn; import static com.amazon.opendistroforelasticsearch.sql.util.MatcherUtils.verifyDataRows; +import java.io.IOException; +import org.json.JSONObject; +import org.junit.jupiter.api.Test; +import org.opensearch.client.Request; +import org.opensearch.client.ResponseException; + public class SearchCommandIT extends PPLIntegTestCase { @Override diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/SortCommandIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/SortCommandIT.java index 71f0bba7dd9..02bde1c396a 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/SortCommandIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/SortCommandIT.java @@ -15,18 +15,17 @@ package com.amazon.opendistroforelasticsearch.sql.ppl; -import org.json.JSONObject; -import org.junit.Ignore; -import org.junit.Test; - -import java.io.IOException; - import static com.amazon.opendistroforelasticsearch.sql.legacy.TestsConstants.TEST_INDEX_BANK; import static com.amazon.opendistroforelasticsearch.sql.legacy.TestsConstants.TEST_INDEX_BANK_WITH_NULL_VALUES; import static com.amazon.opendistroforelasticsearch.sql.legacy.TestsConstants.TEST_INDEX_DOG; import static com.amazon.opendistroforelasticsearch.sql.util.MatcherUtils.rows; import static com.amazon.opendistroforelasticsearch.sql.util.MatcherUtils.verifyOrder; +import java.io.IOException; +import org.json.JSONObject; +import org.junit.Ignore; +import org.junit.Test; + public class SortCommandIT extends PPLIntegTestCase { @Override diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/StandaloneIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/StandaloneIT.java index 95b5b4cd7a9..41bd63700f9 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/StandaloneIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/StandaloneIT.java @@ -20,14 +20,14 @@ import com.amazon.opendistroforelasticsearch.sql.common.response.ResponseListener; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchRestClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.ElasticsearchExecutionEngine; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector.ElasticsearchExecutionProtector; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.ElasticsearchStorageEngine; import com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine; import com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine.QueryResponse; import com.amazon.opendistroforelasticsearch.sql.monitor.AlwaysHealthyMonitor; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchRestClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.OpenSearchExecutionEngine; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector.OpenSearchExecutionProtector; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.OpenSearchStorageEngine; import com.amazon.opendistroforelasticsearch.sql.ppl.config.PPLServiceConfig; import com.amazon.opendistroforelasticsearch.sql.ppl.domain.PPLQueryRequest; import com.amazon.opendistroforelasticsearch.sql.protocol.response.QueryResult; @@ -38,17 +38,14 @@ import java.util.Collections; import java.util.Map; import java.util.concurrent.atomic.AtomicReference; -import org.elasticsearch.client.Node; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RestClient; -import org.elasticsearch.client.RestClientBuilder; -import org.elasticsearch.client.RestHighLevelClient; -import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; +import org.opensearch.client.Request; +import org.opensearch.client.RestClient; +import org.opensearch.client.RestHighLevelClient; import org.springframework.context.annotation.AnnotationConfigApplicationContext; /** - * Run PPL with query engine outside Elasticsearch cluster. This IT doesn't require our plugin + * Run PPL with query engine outside OpenSearch cluster. This IT doesn't require our plugin * installed actually. The client application, ex. JDBC driver, needs to initialize all components * itself required by ppl service. */ @@ -63,12 +60,12 @@ public void init() { // Using client() defined in ODFERestTestCase. restClient = new InternalRestHighLevelClient(client()); - ElasticsearchClient client = new ElasticsearchRestClient(restClient); + OpenSearchClient client = new OpenSearchRestClient(restClient); AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); context.registerBean(StorageEngine.class, - () -> new ElasticsearchStorageEngine(client, defaultSettings())); - context.registerBean(ExecutionEngine.class, () -> new ElasticsearchExecutionEngine(client, - new ElasticsearchExecutionProtector(new AlwaysHealthyMonitor()))); + () -> new OpenSearchStorageEngine(client, defaultSettings())); + context.registerBean(ExecutionEngine.class, () -> new OpenSearchExecutionEngine(client, + new OpenSearchExecutionProtector(new AlwaysHealthyMonitor()))); context.register(PPLServiceConfig.class); context.refresh(); diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/TextCommandIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/TextCommandIT.java index ef8b1b1e502..01cb119a7e9 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/TextCommandIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/TextCommandIT.java @@ -22,7 +22,6 @@ import static com.amazon.opendistroforelasticsearch.sql.util.MatcherUtils.verifySchema; import java.io.IOException; - import org.json.JSONObject; import org.junit.jupiter.api.Test; diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/AdminIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/AdminIT.java index 0a215066210..15a9386b16b 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/AdminIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/AdminIT.java @@ -28,10 +28,10 @@ import java.net.URI; import java.nio.file.Files; import java.nio.file.Paths; -import org.elasticsearch.client.Request; import org.json.JSONArray; import org.json.JSONObject; import org.junit.Test; +import org.opensearch.client.Request; public class AdminIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/ConditionalIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/ConditionalIT.java index e6ae7606c58..a495224354c 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/ConditionalIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/ConditionalIT.java @@ -31,15 +31,15 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.SQLIntegTestCase; import java.io.IOException; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.search.SearchHits; import org.json.JSONObject; import org.junit.Test; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.search.SearchHits; public class ConditionalIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/CorrectnessTestBase.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/CorrectnessTestBase.java index d508148fe9e..18afefb0bb7 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/CorrectnessTestBase.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/CorrectnessTestBase.java @@ -23,7 +23,7 @@ import com.amazon.opendistroforelasticsearch.sql.correctness.report.TestSummary; import com.amazon.opendistroforelasticsearch.sql.correctness.runner.ComparisonTest; import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.DBConnection; -import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.ESConnection; +import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.OpenSearchConnection; import com.amazon.opendistroforelasticsearch.sql.correctness.runner.connection.JDBCConnection; import com.amazon.opendistroforelasticsearch.sql.correctness.testset.TestDataSet; import com.amazon.opendistroforelasticsearch.sql.correctness.testset.TestQuerySet; @@ -53,7 +53,7 @@ protected void init() throws Exception { } TestConfig config = new TestConfig(emptyMap()); - runner = new ComparisonTest(getESConnection(), + runner = new ComparisonTest(getOpenSearchConnection(), getOtherDBConnections(config)); runner.connect(); @@ -96,11 +96,11 @@ protected void verify(String... queries) { } /** - * Use Elasticsearch cluster initialized by ES Gradle task. + * Use OpenSearch cluster initialized by OpenSearch Gradle task. */ - private DBConnection getESConnection() { - String esHost = client().getNodes().get(0).getHost().toString(); - return new ESConnection("jdbc:opensearch://" + esHost, client()); + private DBConnection getOpenSearchConnection() { + String openSearchHost = client().getNodes().get(0).getHost().toString(); + return new OpenSearchConnection("jdbc:opensearch://" + openSearchHost, client()); } /** diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/DateTimeFunctionIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/DateTimeFunctionIT.java index 418fecbd353..0648123e232 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/DateTimeFunctionIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/DateTimeFunctionIT.java @@ -27,11 +27,11 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.SQLIntegTestCase; import java.io.IOException; import java.util.Locale; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.Response; import org.json.JSONObject; import org.junit.jupiter.api.Test; +import org.opensearch.client.Request; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.Response; public class DateTimeFunctionIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/ExpressionIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/ExpressionIT.java index f99c0f2c8f8..d35f4dccf33 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/ExpressionIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/ExpressionIT.java @@ -24,13 +24,13 @@ import java.io.IOException; import java.util.Locale; import java.util.function.Function; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.Response; -import org.elasticsearch.client.ResponseException; import org.junit.Ignore; import org.junit.Rule; import org.junit.rules.ExpectedException; +import org.opensearch.client.Request; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.Response; +import org.opensearch.client.ResponseException; /** * Integration test for different type of expressions such as literals, arithmetic, predicate @@ -53,7 +53,7 @@ public ResponseExceptionAssertion expectResponseException() { } /** - * Response exception assertion helper to assert property value in ES ResponseException + * Response exception assertion helper to assert property value in OpenSearch ResponseException * and Response inside. This serves as syntax sugar to improve the readability of test * code. */ diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/IdentifierIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/IdentifierIT.java index 5e8c30ec8d7..558f4f3e306 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/IdentifierIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/IdentifierIT.java @@ -25,9 +25,9 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.SQLIntegTestCase; import java.io.IOException; -import org.elasticsearch.client.Request; import org.json.JSONObject; import org.junit.jupiter.api.Test; +import org.opensearch.client.Request; /** * Integration tests for identifiers including index and field name symbol. diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/MathematicalFunctionIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/MathematicalFunctionIT.java index 9f235dfc7ad..b01d6412d7f 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/MathematicalFunctionIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/MathematicalFunctionIT.java @@ -26,11 +26,11 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.SQLIntegTestCase; import java.io.IOException; import java.util.Locale; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.Response; import org.json.JSONObject; import org.junit.jupiter.api.Test; +import org.opensearch.client.Request; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.Response; public class MathematicalFunctionIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/MetricsIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/MetricsIT.java index 81ddf5549ca..865024e6a9a 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/MetricsIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/MetricsIT.java @@ -26,11 +26,11 @@ import java.io.InputStreamReader; import java.util.Locale; import java.util.concurrent.TimeUnit; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; import org.json.JSONObject; import org.junit.Assert; import org.junit.Test; +import org.opensearch.client.Request; +import org.opensearch.client.Response; public class MetricsIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/QueryValidationIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/QueryValidationIT.java index 2e14eb7fbcb..d5907c60a62 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/QueryValidationIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/QueryValidationIT.java @@ -18,21 +18,21 @@ import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.RestSqlAction.QUERY_API_ENDPOINT; import static com.amazon.opendistroforelasticsearch.sql.util.MatcherUtils.featureValueOf; -import static org.elasticsearch.rest.RestStatus.BAD_REQUEST; import static org.hamcrest.Matchers.is; +import static org.opensearch.rest.RestStatus.BAD_REQUEST; import com.amazon.opendistroforelasticsearch.sql.legacy.SQLIntegTestCase; import java.io.IOException; import java.util.Locale; import java.util.function.Function; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.ResponseException; -import org.elasticsearch.rest.RestStatus; import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import org.opensearch.client.Request; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.ResponseException; +import org.opensearch.rest.RestStatus; /** * The query validation IT only covers test for error cases that not doable in comparison test. @@ -56,7 +56,7 @@ public void testNonAggregatedSelectColumnMissingInGroupByClause() throws IOExcep .hasErrorType("SemanticCheckException") .containsMessage("Expression [state] that contains non-aggregated column " + "is not present in group by clause") - .whenExecute("SELECT state FROM elasticsearch-sql_test_index_account GROUP BY age"); + .whenExecute("SELECT state FROM opensearch-sql_test_index_account GROUP BY age"); } @Test @@ -66,7 +66,7 @@ public void testNonAggregatedSelectColumnPresentWithoutGroupByClause() throws IO .hasErrorType("SemanticCheckException") .containsMessage("Explicit GROUP BY clause is required because expression [state] " + "contains non-aggregated column") - .whenExecute("SELECT state, AVG(age) FROM elasticsearch-sql_test_index_account"); + .whenExecute("SELECT state, AVG(age) FROM opensearch-sql_test_index_account"); } @Test @@ -76,7 +76,7 @@ public void testQueryFieldWithKeyword() throws IOException { .hasErrorType("SemanticCheckException") .containsMessage( "can't resolve Symbol(namespace=FIELD_NAME, name=firstname.keyword) in type env") - .whenExecute("SELECT firstname.keyword FROM elasticsearch-sql_test_index_account"); + .whenExecute("SELECT firstname.keyword FROM opensearch-sql_test_index_account"); } @Test @@ -87,7 +87,7 @@ public void aggregationFunctionInSelectGroupByMultipleFields() throws IOExceptio .containsMessage( "can't resolve Symbol(namespace=FIELD_NAME, name=state.keyword) in type env") .whenExecute( - "SELECT SUM(age) FROM elasticsearch-sql_test_index_account GROUP BY state.keyword"); + "SELECT SUM(age) FROM opensearch-sql_test_index_account GROUP BY state.keyword"); } public ResponseExceptionAssertion expectResponseException() { @@ -95,7 +95,7 @@ public ResponseExceptionAssertion expectResponseException() { } /** - * Response exception assertion helper to assert property value in ES ResponseException + * Response exception assertion helper to assert property value in OpenSearch ResponseException * and Response inside. This serves as syntax sugar to improve the readability of test * code. */ diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/RawFormatIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/RawFormatIT.java index 5a2e120eef8..529832c1f46 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/RawFormatIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/RawFormatIT.java @@ -16,7 +16,6 @@ package com.amazon.opendistroforelasticsearch.sql.sql; -import static com.amazon.opendistroforelasticsearch.sql.legacy.TestsConstants.TEST_INDEX_BANK_CSV_SANITIZE; import static com.amazon.opendistroforelasticsearch.sql.legacy.TestsConstants.TEST_INDEX_BANK_RAW_SANITIZE; import com.amazon.opendistroforelasticsearch.sql.legacy.SQLIntegTestCase; diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/TextFunctionIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/TextFunctionIT.java index 37210d5d09d..b137d641187 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/TextFunctionIT.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/TextFunctionIT.java @@ -25,11 +25,11 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.SQLIntegTestCase; import java.io.IOException; import java.util.Locale; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.Response; import org.json.JSONObject; import org.junit.jupiter.api.Test; +import org.opensearch.client.Request; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.Response; public class TextFunctionIT extends SQLIntegTestCase { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/util/MatcherUtils.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/util/MatcherUtils.java index 39cc74552ba..1a8aab15502 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/util/MatcherUtils.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/util/MatcherUtils.java @@ -28,7 +28,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; -import com.amazon.opendistroforelasticsearch.sql.common.utils.StringUtils; import com.google.common.base.Strings; import com.google.gson.JsonParser; import java.util.ArrayList; @@ -38,14 +37,14 @@ import java.util.function.Function; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; import org.hamcrest.Description; import org.hamcrest.FeatureMatcher; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeMatcher; import org.json.JSONArray; import org.json.JSONObject; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; public class MatcherUtils { diff --git a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/util/TestUtils.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/util/TestUtils.java index b38f5a1efaf..e4096086484 100644 --- a/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/util/TestUtils.java +++ b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/util/TestUtils.java @@ -34,18 +34,18 @@ import java.util.List; import java.util.Locale; import java.util.stream.Collectors; -import org.elasticsearch.action.bulk.BulkRequest; -import org.elasticsearch.action.bulk.BulkResponse; -import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.client.Client; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.Response; -import org.elasticsearch.client.RestClient; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.rest.RestStatus; import org.json.JSONObject; import org.junit.Assert; +import org.opensearch.action.bulk.BulkRequest; +import org.opensearch.action.bulk.BulkResponse; +import org.opensearch.action.index.IndexRequest; +import org.opensearch.client.Client; +import org.opensearch.client.Request; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.Response; +import org.opensearch.client.RestClient; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.rest.RestStatus; public class TestUtils { @@ -84,7 +84,7 @@ public static void createHiddenIndexByRestClient(RestClient client, String index } /** - * Check if index already exists by ES index exists API which returns: + * Check if index already exists by OpenSearch index exists API which returns: * 200 - specified indices or aliases exist * 404 - one or more indices specified or aliases do not exist * @@ -314,7 +314,7 @@ public static String getLocationIndexMapping() { "\t\t\"properties\":{\n" + "\t\t\t\"place\":{\n" + "\t\t\t\t\"type\":\"geo_shape\"\n" + - //"\t\t\t\t\"tree\": \"quadtree\",\n" + // Field tree and precision are deprecated in ES + //"\t\t\t\t\"tree\": \"quadtree\",\n" + // Field tree and precision are deprecated in OpenSearch //"\t\t\t\t\"precision\": \"10km\"\n" + "\t\t\t},\n" + "\t\t\t\"center\":{\n" + @@ -701,7 +701,7 @@ public static String getNestedSimpleIndexMapping() { public static void loadBulk(Client client, String jsonPath, String defaultIndex) throws Exception { - System.out.println(String.format("Loading file %s into elasticsearch cluster", jsonPath)); + System.out.println(String.format("Loading file %s into OpenSearch cluster", jsonPath)); String absJsonPath = getResourceFilePath(jsonPath); BulkRequest bulkRequest = new BulkRequest(); diff --git a/integ-test/src/test/resources/correctness/bugfixes/123.txt b/integ-test/src/test/resources/correctness/bugfixes/123.txt index b31e9e20ade..81623460f23 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/123.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/123.txt @@ -1,8 +1,8 @@ -SELECT Origin FROM kibana_sample_data_flights ORDER BY LOWER(Origin) -SELECT Origin FROM kibana_sample_data_flights ORDER BY LOWER(Origin) DESC -SELECT Origin FROM kibana_sample_data_flights ORDER BY SUBSTRING(Origin, 3, 3) -SELECT Origin FROM kibana_sample_data_flights ORDER BY SUBSTRING(Origin, 3, 3) DESC -SELECT Origin, FlightNum FROM kibana_sample_data_flights ORDER BY SUBSTRING(Origin, 3, 3), LOWER(FlightNum) -SELECT AVG(FlightTimeMin) FROM kibana_sample_data_flights ORDER BY SUM(FlightTimeMin) -SELECT OriginWeather, AVG(FlightTimeMin) FROM kibana_sample_data_flights GROUP BY OriginWeather ORDER BY SUM(FlightTimeMin) -SELECT FlightDelay, MIN(FlightTimeMin) FROM kibana_sample_data_flights GROUP BY FlightDelay ORDER BY MAX(FlightTimeMin) +SELECT Origin FROM opensearch_dashboards_sample_data_flights ORDER BY LOWER(Origin) +SELECT Origin FROM opensearch_dashboards_sample_data_flights ORDER BY LOWER(Origin) DESC +SELECT Origin FROM opensearch_dashboards_sample_data_flights ORDER BY SUBSTRING(Origin, 3, 3) +SELECT Origin FROM opensearch_dashboards_sample_data_flights ORDER BY SUBSTRING(Origin, 3, 3) DESC +SELECT Origin, FlightNum FROM opensearch_dashboards_sample_data_flights ORDER BY SUBSTRING(Origin, 3, 3), LOWER(FlightNum) +SELECT AVG(FlightTimeMin) FROM opensearch_dashboards_sample_data_flights ORDER BY SUM(FlightTimeMin) +SELECT OriginWeather, AVG(FlightTimeMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginWeather ORDER BY SUM(FlightTimeMin) +SELECT FlightDelay, MIN(FlightTimeMin) FROM opensearch_dashboards_sample_data_flights GROUP BY FlightDelay ORDER BY MAX(FlightTimeMin) diff --git a/integ-test/src/test/resources/correctness/bugfixes/234.txt b/integ-test/src/test/resources/correctness/bugfixes/234.txt index 3056acb1998..8d7763d89bf 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/234.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/234.txt @@ -1,2 +1,2 @@ -SELECT FlightNum FROM kibana_sample_data_flights where (AvgTicketPrice + 100) <= 1000 -SELECT FlightNum FROM kibana_sample_data_flights where ROUND(FlightTimeMin) > ABS(FlightDelayMin) \ No newline at end of file +SELECT FlightNum FROM opensearch_dashboards_sample_data_flights where (AvgTicketPrice + 100) <= 1000 +SELECT FlightNum FROM opensearch_dashboards_sample_data_flights where ROUND(FlightTimeMin) > ABS(FlightDelayMin) \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/bugfixes/237.txt b/integ-test/src/test/resources/correctness/bugfixes/237.txt index 5ffd41287cd..de48b195c46 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/237.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/237.txt @@ -1,3 +1,3 @@ -SELECT ((Origin = 'Munich Airport') AND (Dest = 'Venice Marco Polo Airport')) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT ((Origin = 'Munich Airport') OR (Origin = 'Itami Airport')) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT NOT (Origin = 'Munich Airport') AS Calculation_462181953506873347 FROM kibana_sample_data_flights \ No newline at end of file +SELECT ((Origin = 'Munich Airport') AND (Dest = 'Venice Marco Polo Airport')) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT ((Origin = 'Munich Airport') OR (Origin = 'Itami Airport')) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT NOT (Origin = 'Munich Airport') AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/bugfixes/242.txt b/integ-test/src/test/resources/correctness/bugfixes/242.txt index 07bb88e16ee..5f6264fa2f8 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/242.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/242.txt @@ -1 +1 @@ -SELECT flights.`FlightNum` FROM kibana_sample_data_flights AS flights WHERE flights.`AvgTicketPrice` <= 500 +SELECT flights.`FlightNum` FROM opensearch_dashboards_sample_data_flights AS flights WHERE flights.`AvgTicketPrice` <= 500 diff --git a/integ-test/src/test/resources/correctness/bugfixes/277.txt b/integ-test/src/test/resources/correctness/bugfixes/277.txt index 368a6c2d891..e938161e5cd 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/277.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/277.txt @@ -1,7 +1,7 @@ -SELECT COUNT(FlightNum) FROM kibana_sample_data_flights GROUP BY FlightDelay ORDER BY COUNT(FlightNum) -SELECT COUNT(FlightNum) AS cnt FROM kibana_sample_data_flights GROUP BY FlightDelay ORDER BY cnt -SELECT COUNT(FlightNum) FROM kibana_sample_data_flights GROUP BY FlightDelay ORDER BY 1 -SELECT OriginWeather, AVG(FlightTimeMin) FROM kibana_sample_data_flights GROUP BY OriginWeather ORDER BY AVG(FlightTimeMin) -SELECT OriginWeather, AVG(FlightTimeMin), SUM(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginWeather ORDER BY AVG(FlightTimeMin), SUM(FlightDelayMin) -SELECT OriginWeather, AVG(FlightTimeMin), SUM(FlightDelayMin) AS s FROM kibana_sample_data_flights GROUP BY OriginWeather ORDER BY AVG(FlightTimeMin), s -SELECT OriginWeather, AVG(FlightTimeMin) AS a, SUM(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginWeather ORDER BY a, SUM(FlightDelayMin) +SELECT COUNT(FlightNum) FROM opensearch_dashboards_sample_data_flights GROUP BY FlightDelay ORDER BY COUNT(FlightNum) +SELECT COUNT(FlightNum) AS cnt FROM opensearch_dashboards_sample_data_flights GROUP BY FlightDelay ORDER BY cnt +SELECT COUNT(FlightNum) FROM opensearch_dashboards_sample_data_flights GROUP BY FlightDelay ORDER BY 1 +SELECT OriginWeather, AVG(FlightTimeMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginWeather ORDER BY AVG(FlightTimeMin) +SELECT OriginWeather, AVG(FlightTimeMin), SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginWeather ORDER BY AVG(FlightTimeMin), SUM(FlightDelayMin) +SELECT OriginWeather, AVG(FlightTimeMin), SUM(FlightDelayMin) AS s FROM opensearch_dashboards_sample_data_flights GROUP BY OriginWeather ORDER BY AVG(FlightTimeMin), s +SELECT OriginWeather, AVG(FlightTimeMin) AS a, SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginWeather ORDER BY a, SUM(FlightDelayMin) diff --git a/integ-test/src/test/resources/correctness/bugfixes/280.txt b/integ-test/src/test/resources/correctness/bugfixes/280.txt index 44a1a1f5924..67a489f38b5 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/280.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/280.txt @@ -1,2 +1,2 @@ -SELECT SUM(AvgTicketPrice - 10) FROM kibana_sample_data_flights -SELECT SUM(ABS(AvgTicketPrice * -2)) FROM kibana_sample_data_flights +SELECT SUM(AvgTicketPrice - 10) FROM opensearch_dashboards_sample_data_flights +SELECT SUM(ABS(AvgTicketPrice * -2)) FROM opensearch_dashboards_sample_data_flights diff --git a/integ-test/src/test/resources/correctness/bugfixes/288.txt b/integ-test/src/test/resources/correctness/bugfixes/288.txt index 8fe1701fce3..fae67889a9a 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/288.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/288.txt @@ -1,2 +1,2 @@ -SELECT avg(log(AvgTicketPrice)) FROM kibana_sample_data_flights GROUP BY DestCountry -SELECT avg(log(AvgTicketPrice)) FROM kibana_sample_data_flights GROUP BY DestCountry, dayOfWeek +SELECT avg(log(AvgTicketPrice)) FROM opensearch_dashboards_sample_data_flights GROUP BY DestCountry +SELECT avg(log(AvgTicketPrice)) FROM opensearch_dashboards_sample_data_flights GROUP BY DestCountry, dayOfWeek diff --git a/integ-test/src/test/resources/correctness/bugfixes/368.txt b/integ-test/src/test/resources/correctness/bugfixes/368.txt index a81edeec973..bca5173aeb3 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/368.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/368.txt @@ -1,2 +1,2 @@ -SELECT Origin FROM kibana_sample_data_flights WHERE Origin LIKE 'London Hea%' -SELECT Origin FROM kibana_sample_data_flights WHERE Origin LIKE '%International%' \ No newline at end of file +SELECT Origin FROM opensearch_dashboards_sample_data_flights WHERE Origin LIKE 'London Hea%' +SELECT Origin FROM opensearch_dashboards_sample_data_flights WHERE Origin LIKE '%International%' \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/bugfixes/373.txt b/integ-test/src/test/resources/correctness/bugfixes/373.txt index 030e053c73a..7cc673a2615 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/373.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/373.txt @@ -1,2 +1,2 @@ -SELECT Abs(dayOfWeek) FROM kibana_sample_data_flights GROUP BY abS(dayOfWeek) -SELECT abs(dayOfWeek) FROM kibana_sample_data_flights GROUP BY ABS(dayOfWeek) +SELECT Abs(dayOfWeek) FROM opensearch_dashboards_sample_data_flights GROUP BY abS(dayOfWeek) +SELECT abs(dayOfWeek) FROM opensearch_dashboards_sample_data_flights GROUP BY ABS(dayOfWeek) diff --git a/integ-test/src/test/resources/correctness/bugfixes/375.txt b/integ-test/src/test/resources/correctness/bugfixes/375.txt index 965fd06bbe9..24157dce119 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/375.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/375.txt @@ -1,2 +1,2 @@ -SELECT flights.TEMP1 AS a, flights.TEMP2 AS b FROM (SELECT COUNT(*) AS TEMP1, SUM(AvgTicketPrice) AS TEMP2 FROM kibana_sample_data_flights) flights -SELECT flights.origin AS a FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM kibana_sample_data_flights GROUP BY origin, price) flights \ No newline at end of file +SELECT flights.TEMP1 AS a, flights.TEMP2 AS b FROM (SELECT COUNT(*) AS TEMP1, SUM(AvgTicketPrice) AS TEMP2 FROM opensearch_dashboards_sample_data_flights) flights +SELECT flights.origin AS a FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights GROUP BY origin, price) flights \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/bugfixes/430.txt b/integ-test/src/test/resources/correctness/bugfixes/430.txt index 4010303459a..65d7d0fa61c 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/430.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/430.txt @@ -1,2 +1,2 @@ -SELECT Origin, SUM(AvgTicketPrice) FROM kibana_sample_data_flights GROUP BY Origin -SELECT Dest, AVG(FlightTimeMin) FROM kibana_sample_data_flights GROUP BY Dest +SELECT Origin, SUM(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights GROUP BY Origin +SELECT Dest, AVG(FlightTimeMin) FROM opensearch_dashboards_sample_data_flights GROUP BY Dest diff --git a/integ-test/src/test/resources/correctness/bugfixes/441.txt b/integ-test/src/test/resources/correctness/bugfixes/441.txt index 24b34860788..cf451ff381d 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/441.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/441.txt @@ -1,2 +1,2 @@ -SELECT customer_id, count(*) AS label_value FROM kibana_sample_data_ecommerce GROUP BY customer_id ORDER BY customer_id LIMIT 10 OFFSET 2 -SELECT Origin FROM kibana_sample_data_flights GROUP BY Origin ORDER BY Origin LIMIT 5, 10 \ No newline at end of file +SELECT customer_id, count(*) AS label_value FROM opensearch_dashboards_sample_data_ecommerce GROUP BY customer_id ORDER BY customer_id LIMIT 10 OFFSET 2 +SELECT Origin FROM opensearch_dashboards_sample_data_flights GROUP BY Origin ORDER BY Origin LIMIT 5, 10 \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/bugfixes/521.txt b/integ-test/src/test/resources/correctness/bugfixes/521.txt index f0ef35d1985..733dc0eb5f4 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/521.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/521.txt @@ -1 +1 @@ -SELECT timestamp FROM kibana_sample_data_flights GROUP BY timestamp \ No newline at end of file +SELECT timestamp FROM opensearch_dashboards_sample_data_flights GROUP BY timestamp \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/bugfixes/582.txt b/integ-test/src/test/resources/correctness/bugfixes/582.txt index 499fd32a857..b872de17e2a 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/582.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/582.txt @@ -1,3 +1,3 @@ -SELECT DISTINCT CASE WHEN Carrier = 'ES-Air' Then FlightDelayMin END AS delay FROM kibana_sample_data_flights -SELECT DISTINCT CASE WHEN FlightDelay = true Then Carrier END AS name FROM kibana_sample_data_flights -SELECT DISTINCT CASE WHEN FlightDelay = true Then Carrier WHEN FlightDelay = false THEN NULL END AS name FROM kibana_sample_data_flights +SELECT DISTINCT CASE WHEN Carrier = 'OpenSearch-Air' Then FlightDelayMin END AS delay FROM opensearch_dashboards_sample_data_flights +SELECT DISTINCT CASE WHEN FlightDelay = true Then Carrier END AS name FROM opensearch_dashboards_sample_data_flights +SELECT DISTINCT CASE WHEN FlightDelay = true Then Carrier WHEN FlightDelay = false THEN NULL END AS name FROM opensearch_dashboards_sample_data_flights diff --git a/integ-test/src/test/resources/correctness/bugfixes/674.txt b/integ-test/src/test/resources/correctness/bugfixes/674.txt index 947e3ec76c0..3d434a2564d 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/674.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/674.txt @@ -1,2 +1,2 @@ -SELECT OriginCountry, OriginCityName FROM kibana_sample_data_flights GROUP BY OriginCountry, OriginCityName ORDER BY OriginCityName DESC -SELECT FlightDelay, OriginCountry, OriginCityName FROM kibana_sample_data_flights GROUP BY FlightDelay, OriginCountry, OriginCityName ORDER BY OriginCityName DESC, OriginCountry +SELECT OriginCountry, OriginCityName FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry, OriginCityName ORDER BY OriginCityName DESC +SELECT FlightDelay, OriginCountry, OriginCityName FROM opensearch_dashboards_sample_data_flights GROUP BY FlightDelay, OriginCountry, OriginCityName ORDER BY OriginCityName DESC, OriginCountry diff --git a/integ-test/src/test/resources/correctness/bugfixes/690.txt b/integ-test/src/test/resources/correctness/bugfixes/690.txt index 940087e79eb..4d1aa1f4be4 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/690.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/690.txt @@ -1,4 +1,4 @@ -SELECT FlightNum, Origin FROM kibana_sample_data_flights WHERE NULL IS NULL -SELECT FlightNum, Origin FROM kibana_sample_data_flights WHERE NULL IS NOT NULL -SELECT FlightNum, Origin FROM kibana_sample_data_flights WHERE NULL IS NULL AND NULL IS NULL -SELECT FlightNum, Origin FROM kibana_sample_data_flights WHERE NULL IS NULL OR NULL IS NULL +SELECT FlightNum, Origin FROM opensearch_dashboards_sample_data_flights WHERE NULL IS NULL +SELECT FlightNum, Origin FROM opensearch_dashboards_sample_data_flights WHERE NULL IS NOT NULL +SELECT FlightNum, Origin FROM opensearch_dashboards_sample_data_flights WHERE NULL IS NULL AND NULL IS NULL +SELECT FlightNum, Origin FROM opensearch_dashboards_sample_data_flights WHERE NULL IS NULL OR NULL IS NULL diff --git a/integ-test/src/test/resources/correctness/bugfixes/717.txt b/integ-test/src/test/resources/correctness/bugfixes/717.txt index 32024e9b2ed..86e6b8a744e 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/717.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/717.txt @@ -1,2 +1,2 @@ -SELECT FlightDelay FROM kibana_sample_data_flights GROUP BY FlightDelay -SELECT FlightDelay, Cancelled FROM kibana_sample_data_flights GROUP BY FlightDelay, Cancelled +SELECT FlightDelay FROM opensearch_dashboards_sample_data_flights GROUP BY FlightDelay +SELECT FlightDelay, Cancelled FROM opensearch_dashboards_sample_data_flights GROUP BY FlightDelay, Cancelled diff --git a/integ-test/src/test/resources/correctness/bugfixes/765.txt b/integ-test/src/test/resources/correctness/bugfixes/765.txt index bb164728bd4..618e6eeacde 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/765.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/765.txt @@ -1 +1 @@ -SELECT Carrier AS c, COUNT(*) AS count FROM kibana_sample_data_flights GROUP BY Carrier ORDER BY Carrier \ No newline at end of file +SELECT Carrier AS c, COUNT(*) AS count FROM opensearch_dashboards_sample_data_flights GROUP BY Carrier ORDER BY Carrier \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/bugfixes/852.txt b/integ-test/src/test/resources/correctness/bugfixes/852.txt index 9129f7b5e57..fefc0da566e 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/852.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/852.txt @@ -1,6 +1,6 @@ -SELECT AvgTicketPrice FROM kibana_sample_data_flights ORDER BY AvgTicketPrice DESC -SELECT AvgTicketPrice FROM kibana_sample_data_flights ORDER BY AvgTicketPrice desc -SELECT AvgTicketPrice FROM kibana_sample_data_flights ORDER BY AvgTicketPrice DeSc -SELECT AvgTicketPrice FROM kibana_sample_data_flights ORDER BY AvgTicketPrice ASC -SELECT AvgTicketPrice FROM kibana_sample_data_flights ORDER BY AvgTicketPrice asc -SELECT AvgTicketPrice FROM kibana_sample_data_flights ORDER BY AvgTicketPrice AsC \ No newline at end of file +SELECT AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice DESC +SELECT AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice desc +SELECT AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice DeSc +SELECT AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice ASC +SELECT AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice asc +SELECT AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice AsC \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/bugfixes/877.txt b/integ-test/src/test/resources/correctness/bugfixes/877.txt index ae6bde696bd..8f9eb1ff32e 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/877.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/877.txt @@ -1,7 +1,7 @@ -SELECT FlightNum FROM kibana_sample_data_flights WHERE FlightDelayMin >= CASE WHEN FlightDelay = true THEN 200 END -SELECT FlightNum FROM kibana_sample_data_flights WHERE FlightDelayMin >= CASE WHEN FlightDelay = true THEN 200 ELSE 0 END -SELECT FlightNum FROM kibana_sample_data_flights WHERE FlightDelayMin >= CASE FlightDelay WHEN true THEN 200 END -SELECT FlightNum FROM kibana_sample_data_flights WHERE FlightDelayMin >= CASE FlightDelay WHEN true THEN 200 ELSE 0 END -SELECT CASE WHEN FlightDelay = true THEN 1 ELSE 0 END AS bool, MAX(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY CASE WHEN FlightDelay = true THEN 1 ELSE 0 END -SELECT CASE FlightDelay WHEN true THEN 1 WHEN false THEN 0 END AS bool, MAX(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY CASE FlightDelay WHEN true THEN 1 WHEN false THEN 0 END -SELECT CASE WHEN FlightDelay = true THEN 'delayed' ELSE NULL END AS delay, MAX(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY CASE WHEN FlightDelay = true THEN 'delayed' ELSE NULL END +SELECT FlightNum FROM opensearch_dashboards_sample_data_flights WHERE FlightDelayMin >= CASE WHEN FlightDelay = true THEN 200 END +SELECT FlightNum FROM opensearch_dashboards_sample_data_flights WHERE FlightDelayMin >= CASE WHEN FlightDelay = true THEN 200 ELSE 0 END +SELECT FlightNum FROM opensearch_dashboards_sample_data_flights WHERE FlightDelayMin >= CASE FlightDelay WHEN true THEN 200 END +SELECT FlightNum FROM opensearch_dashboards_sample_data_flights WHERE FlightDelayMin >= CASE FlightDelay WHEN true THEN 200 ELSE 0 END +SELECT CASE WHEN FlightDelay = true THEN 1 ELSE 0 END AS bool, MAX(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY CASE WHEN FlightDelay = true THEN 1 ELSE 0 END +SELECT CASE FlightDelay WHEN true THEN 1 WHEN false THEN 0 END AS bool, MAX(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY CASE FlightDelay WHEN true THEN 1 WHEN false THEN 0 END +SELECT CASE WHEN FlightDelay = true THEN 'delayed' ELSE NULL END AS delay, MAX(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY CASE WHEN FlightDelay = true THEN 'delayed' ELSE NULL END diff --git a/integ-test/src/test/resources/correctness/bugfixes/899.txt b/integ-test/src/test/resources/correctness/bugfixes/899.txt index b2720379397..fd6d875faac 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/899.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/899.txt @@ -1,4 +1,4 @@ -SELECT 'hello' FROM kibana_sample_data_flights HAVING (COUNT(1) > 0) -SELECT UPPER('hello') AS `literal` FROM kibana_sample_data_flights HAVING (COUNT(1) > 0) -SELECT UPPER(UPPER('hello')) AS `literal` FROM kibana_sample_data_flights HAVING (COUNT(1) > 0) -SELECT SUBSTRING(CONCAT(UPPER('hello'), 'world'), 1, 6) AS `literal` FROM kibana_sample_data_flights HAVING (COUNT(1) > 0) +SELECT 'hello' FROM opensearch_dashboards_sample_data_flights HAVING (COUNT(1) > 0) +SELECT UPPER('hello') AS `literal` FROM opensearch_dashboards_sample_data_flights HAVING (COUNT(1) > 0) +SELECT UPPER(UPPER('hello')) AS `literal` FROM opensearch_dashboards_sample_data_flights HAVING (COUNT(1) > 0) +SELECT SUBSTRING(CONCAT(UPPER('hello'), 'world'), 1, 6) AS `literal` FROM opensearch_dashboards_sample_data_flights HAVING (COUNT(1) > 0) diff --git a/integ-test/src/test/resources/correctness/bugfixes/901.txt b/integ-test/src/test/resources/correctness/bugfixes/901.txt index fe3cdbb86db..5f72eb97ab5 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/901.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/901.txt @@ -1,4 +1,4 @@ -SELECT * FROM (SELECT Origin, Dest, AvgTicketPrice FROM kibana_sample_data_flights) AS flights -SELECT * FROM (SELECT Origin AS origin FROM kibana_sample_data_flights) AS flights -SELECT * FROM (SELECT * FROM (SELECT Origin FROM kibana_sample_data_flights) AS flights) AS f -SELECT Origin FROM (SELECT * FROM kibana_sample_data_flights) AS flights \ No newline at end of file +SELECT * FROM (SELECT Origin, Dest, AvgTicketPrice FROM opensearch_dashboards_sample_data_flights) AS flights +SELECT * FROM (SELECT Origin AS origin FROM opensearch_dashboards_sample_data_flights) AS flights +SELECT * FROM (SELECT * FROM (SELECT Origin FROM opensearch_dashboards_sample_data_flights) AS flights) AS f +SELECT Origin FROM (SELECT * FROM opensearch_dashboards_sample_data_flights) AS flights \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/bugfixes/916.txt b/integ-test/src/test/resources/correctness/bugfixes/916.txt index 44a715f0ebe..162e40f3849 100644 --- a/integ-test/src/test/resources/correctness/bugfixes/916.txt +++ b/integ-test/src/test/resources/correctness/bugfixes/916.txt @@ -1 +1 @@ -SELECT COUNT(timestamp) FROM kibana_sample_data_flights +SELECT COUNT(timestamp) FROM opensearch_dashboards_sample_data_flights diff --git a/integ-test/src/test/resources/correctness/expressions/conditionals.txt b/integ-test/src/test/resources/correctness/expressions/conditionals.txt index 76c3562a01b..bbe0abfe1a0 100644 --- a/integ-test/src/test/resources/correctness/expressions/conditionals.txt +++ b/integ-test/src/test/resources/correctness/expressions/conditionals.txt @@ -13,6 +13,6 @@ CASE WHEN 'test' = 'hello world' THEN 'Hello' WHEN 1.0 = 2.0 THEN 'One' ELSE TRI CASE 1 WHEN 1 THEN 'One' ELSE NULL END AS cases CASE 1 WHEN 1 THEN 'One' WHEN 2 THEN 'Two' ELSE NULL END AS cases CASE 2 WHEN 1 THEN NULL WHEN 2 THEN 'Two' ELSE NULL END AS cases -IFNULL(null, AvgTicketPrice) from kibana_sample_data_flights -IFNULL(AvgTicketPrice, 100) from kibana_sample_data_flights -IFNULL(AvgTicketPrice, null) from kibana_sample_data_flights \ No newline at end of file +IFNULL(null, AvgTicketPrice) from opensearch_dashboards_sample_data_flights +IFNULL(AvgTicketPrice, 100) from opensearch_dashboards_sample_data_flights +IFNULL(AvgTicketPrice, null) from opensearch_dashboards_sample_data_flights \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/kibana_sample_data_ecommerce.csv b/integ-test/src/test/resources/correctness/opensearch_dashboards_sample_data_ecommerce.csv similarity index 100% rename from integ-test/src/test/resources/correctness/kibana_sample_data_ecommerce.csv rename to integ-test/src/test/resources/correctness/opensearch_dashboards_sample_data_ecommerce.csv diff --git a/integ-test/src/test/resources/correctness/kibana_sample_data_ecommerce.json b/integ-test/src/test/resources/correctness/opensearch_dashboards_sample_data_ecommerce.json similarity index 100% rename from integ-test/src/test/resources/correctness/kibana_sample_data_ecommerce.json rename to integ-test/src/test/resources/correctness/opensearch_dashboards_sample_data_ecommerce.json diff --git a/integ-test/src/test/resources/correctness/kibana_sample_data_flights.csv b/integ-test/src/test/resources/correctness/opensearch_dashboards_sample_data_flights.csv similarity index 50% rename from integ-test/src/test/resources/correctness/kibana_sample_data_flights.csv rename to integ-test/src/test/resources/correctness/opensearch_dashboards_sample_data_flights.csv index ccd28457de8..2e3591a0614 100644 --- a/integ-test/src/test/resources/correctness/kibana_sample_data_flights.csv +++ b/integ-test/src/test/resources/correctness/opensearch_dashboards_sample_data_flights.csv @@ -1,22 +1,22 @@ FlightNum,Origin,FlightDelay,DistanceMiles,FlightTimeMin,OriginWeather,dayOfWeek,AvgTicketPrice,Carrier,FlightDelayMin,OriginRegion,FlightDelayType,DestAirportID,Dest,FlightTimeHour,Cancelled,DistanceKilometers,OriginCityName,DestWeather,OriginCountry,DestCountry,DestRegion,OriginAirportID,DestCityName,timestamp -RGXY9H5,Chubu Centrair International Airport,false,1619.970725161303,124.1471507959044,Heavy Fog,0,626.1297405910661,Kibana Airlines,0,SE-BD,No Delay,CAN,Guangzhou Baiyun International Airport,2.06911917993174,true,2607.0901667139924,Tokoname,Clear,JP,CN,SE-BD,NGO,Guangzhou,2019-12-23 11:19:32 -WOPNZEP,Munich Airport,true,198.57903689856937,34.9738738474057,Sunny,0,681.9911763989377,Kibana Airlines,15,DE-BY,Carrier Delay,VE05,Venice Marco Polo Airport,0.5828978974567617,false,319.58198155849124,Munich,Cloudy,DE,IT,IT-34,MUC,Venice,2019-12-23 12:32:26 -G9J5O2V,Frankfurt am Main Airport,false,4857.154739888458,651.402736475921,Clear,0,868.0507463122127,Kibana Airlines,0,DE-HE,No Delay,XIY,Xi'an Xianyang International Airport,10.856712274598683,false,7816.832837711051,Frankfurt am Main,Thunder & Lightning,DE,CN,SE-BD,FRA,Xi'an,2019-12-23 03:48:33 +RGXY9H5,Chubu Centrair International Airport,false,1619.970725161303,124.1471507959044,Heavy Fog,0,626.1297405910661,OpenSearch Dashboards Airlines,0,SE-BD,No Delay,CAN,Guangzhou Baiyun International Airport,2.06911917993174,true,2607.0901667139924,Tokoname,Clear,JP,CN,SE-BD,NGO,Guangzhou,2019-12-23 11:19:32 +WOPNZEP,Munich Airport,true,198.57903689856937,34.9738738474057,Sunny,0,681.9911763989377,OpenSearch Dashboards Airlines,15,DE-BY,Carrier Delay,VE05,Venice Marco Polo Airport,0.5828978974567617,false,319.58198155849124,Munich,Cloudy,DE,IT,IT-34,MUC,Venice,2019-12-23 12:32:26 +G9J5O2V,Frankfurt am Main Airport,false,4857.154739888458,651.402736475921,Clear,0,868.0507463122127,OpenSearch Dashboards Airlines,0,DE-HE,No Delay,XIY,Xi'an Xianyang International Airport,10.856712274598683,false,7816.832837711051,Frankfurt am Main,Thunder & Lightning,DE,CN,SE-BD,FRA,Xi'an,2019-12-23 03:48:33 HM80A5V,Itami Airport,false,5862.6666599206,555.0027890084269,Heavy Fog,0,765.0413127727119,Logstash Airways,0,SE-BD,No Delay,TV01,Treviso-Sant'Angelo Airport,9.250046483473783,true,9435.047413143258,Osaka,Clear,JP,IT,IT-34,ITM,Treviso,2019-12-23 19:50:48 -84B0Y32,Charles de Gaulle International Airport,false,4397.926660603864,372.51457282541395,Thunder & Lightning,0,913.1638984616233,Kibana Airlines,0,FR-J,No Delay,STL,St Louis Lambert International Airport,6.208576213756899,false,7077.776883682865,Paris,Thunder & Lightning,FR,US,US-MO,CDG,St Louis,2019-12-23 11:30:48 +84B0Y32,Charles de Gaulle International Airport,false,4397.926660603864,372.51457282541395,Thunder & Lightning,0,913.1638984616233,OpenSearch Dashboards Airlines,0,FR-J,No Delay,STL,St Louis Lambert International Airport,6.208576213756899,false,7077.776883682865,Paris,Thunder & Lightning,FR,US,US-MO,CDG,St Louis,2019-12-23 11:30:48 2AZWPJX,Rajiv Gandhi International Airport,true,0,180,Sunny,0,103.25307304704197,Logstash Airways,180,SE-BD,Security Delay,HYD,Rajiv Gandhi International Airport,3,false,0,Hyderabad,Hail,IN,IN,SE-BD,HYD,Hyderabad,2019-12-23 19:52:54 -SFLRI9O,Erie International Tom Ridge Field,false,6961.655654280931,622.4277087379495,Clear,0,775.1109173747694,Kibana Airlines,0,US-PA,No Delay,CJU,Jeju International Airport,10.373795145632492,false,11203.698757283091,Erie,Clear,US,KR,SE-BD,ERI,Jeju City,2019-12-23 07:32:32 -QDQMOD6,Brisbane International Airport,false,8013.330880747018,716.4558873858294,Thunder & Lightning,0,832.082612870741,ES-Air,0,SE-BD,No Delay,DEN,Denver International Airport,11.94093145643049,false,12896.20597294493,Brisbane,Cloudy,AU,US,US-CO,BNE,Denver,2019-12-23 10:59:26 -XTGFN9A,Jorge Chavez International Airport,false,3946.924514217792,396.99745533808243,Thunder & Lightning,0,348.23579123315324,Kibana Airlines,0,SE-BD,No Delay,YOW,Ottawa Macdonald-Cartier International Airport,6.616624255634707,false,6351.959285409319,Lima,Rain,PE,CA,CA-ON,LIM,Ottawa,2019-12-23 21:10:09 -USRQ3KK,Stockholm-Arlanda Airport,false,996.8381561540818,94.36797091633146,Clear,0,661.3465606549407,ES-Air,0,SE-AB,No Delay,TV01,Treviso-Sant'Angelo Airport,1.572799515272191,false,1604.2555055776347,Stockholm,Clear,SE,IT,IT-34,ARN,Treviso,2019-12-23 04:33:56 +SFLRI9O,Erie International Tom Ridge Field,false,6961.655654280931,622.4277087379495,Clear,0,775.1109173747694,OpenSearch Dashboards Airlines,0,US-PA,No Delay,CJU,Jeju International Airport,10.373795145632492,false,11203.698757283091,Erie,Clear,US,KR,SE-BD,ERI,Jeju City,2019-12-23 07:32:32 +QDQMOD6,Brisbane International Airport,false,8013.330880747018,716.4558873858294,Thunder & Lightning,0,832.082612870741,OpenSearch-Air,0,SE-BD,No Delay,DEN,Denver International Airport,11.94093145643049,false,12896.20597294493,Brisbane,Cloudy,AU,US,US-CO,BNE,Denver,2019-12-23 10:59:26 +XTGFN9A,Jorge Chavez International Airport,false,3946.924514217792,396.99745533808243,Thunder & Lightning,0,348.23579123315324,OpenSearch Dashboards Airlines,0,SE-BD,No Delay,YOW,Ottawa Macdonald-Cartier International Airport,6.616624255634707,false,6351.959285409319,Lima,Rain,PE,CA,CA-ON,LIM,Ottawa,2019-12-23 21:10:09 +USRQ3KK,Stockholm-Arlanda Airport,false,996.8381561540818,94.36797091633146,Clear,0,661.3465606549407,OpenSearch-Air,0,SE-AB,No Delay,TV01,Treviso-Sant'Angelo Airport,1.572799515272191,false,1604.2555055776347,Stockholm,Clear,SE,IT,IT-34,ARN,Treviso,2019-12-23 04:33:56 PK46NHH,Milano Linate Airport,false,5261.396351845886,604.8140464617903,Rain,0,600.4401843290168,JetBeats,0,IT-25,No Delay,GEG,Spokane International Airport,10.080234107696505,false,8467.396650465065,Milan,Clear,IT,US,US-WA,MI11,Spokane,2019-12-23 20:35:25 G80VHCJ,Bari Karol Wojty__a Airport,false,5630.111629019724,604.0524246328747,Sunny,0,738.260189539631,Logstash Airways,0,IT-75,No Delay,CJU,Jeju International Airport,10.067540410547911,false,9060.78636949312,Bari,Rain,IT,KR,SE-BD,BA02,Jeju City,2019-12-23 10:59:56 -PDS4U17,El Dorado International Airport,false,5591.079567130033,499.887241937962,Thunder & Lightning,0,437.9253204442997,ES-Air,0,SE-BD,No Delay,TO11,Turin Airport,8.331454032299368,false,8997.970354883317,Bogota,Hail,CO,IT,IT-21,BOG,Torino,2019-12-23 10:33:53 +PDS4U17,El Dorado International Airport,false,5591.079567130033,499.887241937962,Thunder & Lightning,0,437.9253204442997,OpenSearch-Air,0,SE-BD,No Delay,TO11,Turin Airport,8.331454032299368,false,8997.970354883317,Bogota,Hail,CO,IT,IT-21,BOG,Torino,2019-12-23 10:33:53 2MXRGRK,Abu Dhabi International Airport,false,8160.7690090650885,656.6742320062424,Cloudy,0,825.9174161826418,JetBeats,0,SE-BD,No Delay,ABQ,Albuquerque International Sunport Airport,10.944570533437373,false,13133.484640124847,Abu Dhabi,Thunder & Lightning,AE,US,US-NM,AUH,Albuquerque,2019-12-23 19:27:11 -57CZEDA,London Heathrow Airport,true,4757.876231054233,720.4152685405732,Damaging Wind,0,836.1010286937247,ES-Air,270,GB-ENG,Carrier Delay,XHBU,Ukrainka Air Base,12.006921142342886,false,7657.059565189745,London,Sunny,GB,RU,RU-AMU,LHR,Belogorsk,2019-12-23 18:48:49 +57CZEDA,London Heathrow Airport,true,4757.876231054233,720.4152685405732,Damaging Wind,0,836.1010286937247,OpenSearch-Air,270,GB-ENG,Carrier Delay,XHBU,Ukrainka Air Base,12.006921142342886,false,7657.059565189745,London,Sunny,GB,RU,RU-AMU,LHR,Belogorsk,2019-12-23 18:48:49 5FYALP0,Malpensa International Airport,false,5812.230334559898,492.30936923905085,Damaging Wind,0,417.34744554513884,JetBeats,0,IT-25,No Delay,LAS,McCarran International Airport,8.20515615398418,false,9353.878015541966,Milan,Clear,IT,US,US-NV,MI12,Las Vegas,2019-12-23 10:37:54 HVWAL6J,Comodoro Arturo Merino Benitez International Airport,false,7292.7292896018525,617.7110592550002,Cloudy,0,946.888426456834,Logstash Airways,0,SE-BD,No Delay,PA03,Falcone Borsellino Airport,10.29518432091667,false,11736.510125845005,Santiago,Cloudy,CL,IT,IT-82,SCL,Palermo,2019-12-23 03:54:12 -7ORM12S,Leonardo da Vinci___Fiumicino Airport,false,160.39074208529965,23.46580713004768,Sunny,0,118.37483602607261,Kibana Airlines,0,IT-62,No Delay,PI05,Pisa International Airport,0.39109678550079463,false,258.1238784305245,Rome,Sunny,IT,IT,IT-52,RM11,Pisa,2019-12-23 03:54:12 -2P36OEP,New Chitose Airport,true,5340.290617241973,941.1970552595557,Cloudy,0,705.7149863531135,Kibana Airlines,225,SE-BD,Late Aircraft Delay,VIE,Vienna International Airport,15.686617587659262,false,8594.364663114668,Chitose / Tomakomai,Rain,JP,AT,AT-9,CTS,Vienna,2019-12-23 09:41:52 -HLNZHCX,Verona Villafranca Airport,false,0,0,Sunny,0,172.3790782673846,ES-Air,0,IT-34,No Delay,VR10,Verona Villafranca Airport,0,false,0,Verona,Sunny,IT,IT,IT-34,VR10,Verona,2019-12-23 19:34:51 -HLNNULL,Verona Villafranca Airport,,,0,,0,172.3790782673846,ES-Air,0,IT-34,No Delay,VR10,Verona Villafranca Airport,0,false,0,Verona,Sunny,IT,IT,IT-34,VR10,Verona, +7ORM12S,Leonardo da Vinci___Fiumicino Airport,false,160.39074208529965,23.46580713004768,Sunny,0,118.37483602607261,OpenSearch Dashboards Airlines,0,IT-62,No Delay,PI05,Pisa International Airport,0.39109678550079463,false,258.1238784305245,Rome,Sunny,IT,IT,IT-52,RM11,Pisa,2019-12-23 03:54:12 +2P36OEP,New Chitose Airport,true,5340.290617241973,941.1970552595557,Cloudy,0,705.7149863531135,OpenSearch Dashboards Airlines,225,SE-BD,Late Aircraft Delay,VIE,Vienna International Airport,15.686617587659262,false,8594.364663114668,Chitose / Tomakomai,Rain,JP,AT,AT-9,CTS,Vienna,2019-12-23 09:41:52 +HLNZHCX,Verona Villafranca Airport,false,0,0,Sunny,0,172.3790782673846,OpenSearch-Air,0,IT-34,No Delay,VR10,Verona Villafranca Airport,0,false,0,Verona,Sunny,IT,IT,IT-34,VR10,Verona,2019-12-23 19:34:51 +HLNNULL,Verona Villafranca Airport,,,0,,0,172.3790782673846,OpenSearch-Air,0,IT-34,No Delay,VR10,Verona Villafranca Airport,0,false,0,Verona,Sunny,IT,IT,IT-34,VR10,Verona, diff --git a/integ-test/src/test/resources/correctness/kibana_sample_data_flights.json b/integ-test/src/test/resources/correctness/opensearch_dashboards_sample_data_flights.json similarity index 100% rename from integ-test/src/test/resources/correctness/kibana_sample_data_flights.json rename to integ-test/src/test/resources/correctness/opensearch_dashboards_sample_data_flights.json diff --git a/integ-test/src/test/resources/correctness/queries/aggregation.txt b/integ-test/src/test/resources/correctness/queries/aggregation.txt index e3878be86c2..6c6e5b73a14 100644 --- a/integ-test/src/test/resources/correctness/queries/aggregation.txt +++ b/integ-test/src/test/resources/correctness/queries/aggregation.txt @@ -1,8 +1,8 @@ -SELECT COUNT(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT count(timestamp) from kibana_sample_data_flights -SELECT AVG(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT SUM(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT MAX(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT MAX(timestamp) FROM kibana_sample_data_flights -SELECT MIN(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT MIN(timestamp) FROM kibana_sample_data_flights \ No newline at end of file +SELECT COUNT(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT count(timestamp) from opensearch_dashboards_sample_data_flights +SELECT AVG(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT SUM(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT MAX(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT MAX(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT MIN(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT MIN(timestamp) FROM opensearch_dashboards_sample_data_flights \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/queries/filter.txt b/integ-test/src/test/resources/correctness/queries/filter.txt index 690defb8aed..88d570de54c 100644 --- a/integ-test/src/test/resources/correctness/queries/filter.txt +++ b/integ-test/src/test/resources/correctness/queries/filter.txt @@ -1,6 +1,6 @@ -SELECT AVG(AvgTicketPrice) FILTER(WHERE Carrier = 'Kibana Airlines') AS filtered FROM kibana_sample_data_flights -SELECT AVG(AvgTicketPrice) FILTER(WHERE Carrier = 'Kibana Airlines') AS filtered FROM kibana_sample_data_flights GROUP BY Origin ORDER BY Origin -SELECT AVG(AvgTicketPrice + 1) FILTER(WHERE Carrier = 'Kibana Airlines') AS filtered FROM kibana_sample_data_flights -SELECT AVG(AvgTicketPrice) FILTER(WHERE Carrier = 'Kibana Airlines') / 2 AS filtered FROM kibana_sample_data_flights -SELECT AVG(AvgTicketPrice) FILTER(WHERE ABS(AvgTicketPrice) < 10000) AS filtered FROM kibana_sample_data_flights -SELECT AVG(AvgTicketPrice) AS unfiltered, AVG(AvgTicketPrice) FILTER(WHERE Carrier = 'Kibana Airlines') AS filtered1, AVG(AvgTicketPrice) FILTER(WHERE Carrier = 'ES-Air') AS filtered2 FROM kibana_sample_data_flights WHERE DestWeather = 'Sunny' \ No newline at end of file +SELECT AVG(AvgTicketPrice) FILTER(WHERE Carrier = 'OpenSearch Dashboards Airlines') AS filtered FROM opensearch_dashboards_sample_data_flights +SELECT AVG(AvgTicketPrice) FILTER(WHERE Carrier = 'OpenSearch Dashboards Airlines') AS filtered FROM opensearch_dashboards_sample_data_flights GROUP BY Origin ORDER BY Origin +SELECT AVG(AvgTicketPrice + 1) FILTER(WHERE Carrier = 'OpenSearch Dashboards Airlines') AS filtered FROM opensearch_dashboards_sample_data_flights +SELECT AVG(AvgTicketPrice) FILTER(WHERE Carrier = 'OpenSearch Dashboards Airlines') / 2 AS filtered FROM opensearch_dashboards_sample_data_flights +SELECT AVG(AvgTicketPrice) FILTER(WHERE ABS(AvgTicketPrice) < 10000) AS filtered FROM opensearch_dashboards_sample_data_flights +SELECT AVG(AvgTicketPrice) AS unfiltered, AVG(AvgTicketPrice) FILTER(WHERE Carrier = 'OpenSearch Dashboards Airlines') AS filtered1, AVG(AvgTicketPrice) FILTER(WHERE Carrier = 'OpenSearch-Air') AS filtered2 FROM opensearch_dashboards_sample_data_flights WHERE DestWeather = 'Sunny' \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/queries/groupby.txt b/integ-test/src/test/resources/correctness/queries/groupby.txt index 6bf63b4d379..e5259814264 100644 --- a/integ-test/src/test/resources/correctness/queries/groupby.txt +++ b/integ-test/src/test/resources/correctness/queries/groupby.txt @@ -1,57 +1,57 @@ -SELECT COUNT(*) FROM kibana_sample_data_flights -SELECT COUNT(1) FROM kibana_sample_data_flights -SELECT COUNT('hello') FROM kibana_sample_data_flights -SELECT SUM(FlightDelayMin) FROM kibana_sample_data_flights -SELECT AVG(FlightDelayMin) FROM kibana_sample_data_flights -SELECT MIN(FlightDelayMin) FROM kibana_sample_data_flights -SELECT MAX(FlightDelayMin) FROM kibana_sample_data_flights -SELECT count(*), Avg(FlightDelayMin), sUm(FlightDelayMin) FROM kibana_sample_data_flights -SELECT COUNT(*) AS cnt, AVG(FlightDelayMin) AS a, SUM(FlightDelayMin) AS s FROM kibana_sample_data_flights -SELECT COUNT(*) FROM kibana_sample_data_flights WHERE FlightTimeMin > 0 -SELECT COUNT(1) FROM kibana_sample_data_flights WHERE FlightTimeMin > 0 -SELECT SUM(FlightDelayMin) FROM kibana_sample_data_flights WHERE FlightTimeMin > 0 -SELECT AVG(FlightDelayMin) FROM kibana_sample_data_flights WHERE FlightTimeMin > 0 -SELECT COUNT(*) FROM kibana_sample_data_flights GROUP BY OriginCountry -SELECT COUNT(FlightNum) FROM kibana_sample_data_flights GROUP BY OriginCountry -SELECT COUNT(FlightDelay) FROM kibana_sample_data_flights GROUP BY OriginCountry -SELECT COUNT(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginCountry -SELECT AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginCountry -SELECT SUM(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginCountry -SELECT OriginCountry, COUNT(*) FROM kibana_sample_data_flights GROUP BY OriginCountry -SELECT OriginCountry, ABS(COUNT(*)) FROM kibana_sample_data_flights GROUP BY OriginCountry -SELECT OriginCountry, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginCountry -SELECT OriginCountry, SUM(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginCountry -SELECT OriginCountry, AVG(FlightDelayMin) + SUM(FlightDelayMin) as Total FROM kibana_sample_data_flights GROUP BY OriginCountry -SELECT OriginCountry, COUNT(*), AVG(FlightDelayMin), SUM(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginCountry -SELECT COUNT(*), AVG(FlightDelayMin), SUM(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginCountry, OriginCityName -SELECT OriginCountry, COUNT(*), AVG(FlightDelayMin), SUM(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginCountry, OriginCityName -SELECT OriginCountry, OriginCityName, COUNT(*) FROM kibana_sample_data_flights GROUP BY OriginCountry, OriginCityName -SELECT OriginCountry, OriginCityName, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginCountry, OriginCityName -SELECT OriginCountry, OriginCityName, SUM(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginCountry, OriginCityName -SELECT AvgTicketPrice, COUNT(*), AVG(AvgTicketPrice), SUM(AvgTicketPrice) FROM kibana_sample_data_flights GROUP BY AvgTicketPrice -SELECT ABS(AvgTicketPrice), COUNT(*), AVG(AvgTicketPrice), SUM(AvgTicketPrice) FROM kibana_sample_data_flights GROUP BY AvgTicketPrice -SELECT FlightDelayMin, COUNT(*), AVG(FlightDelayMin), SUM(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY FlightDelayMin -SELECT OriginCountry, OriginCityName, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY 1, 2 -SELECT OriginCountry, OriginCityName, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY OriginCountry, 2 -SELECT OriginCountry, OriginCityName, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY 1, OriginCityName -SELECT ABS(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY 1 -SELECT OriginCountry AS country, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY country -SELECT OriginCountry AS country, OriginCityName, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY country, 2 -SELECT OriginCountry AS country, OriginCityName AS city, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY country, city -SELECT ABS(FlightDelayMin) AS delay FROM kibana_sample_data_flights GROUP BY delay -SELECT flights.OriginCountry, AVG(FlightDelayMin) FROM kibana_sample_data_flights AS flights GROUP BY flights.OriginCountry -SELECT flights.OriginCountry, flights.OriginCityName, SUM(FlightDelayMin) FROM kibana_sample_data_flights AS flights GROUP BY flights.OriginCountry, flights.OriginCityName -SELECT flights.OriginCountry, flights.OriginCityName, SUM(FlightDelayMin) FROM kibana_sample_data_flights AS flights GROUP BY 1, 2 -SELECT flights.OriginCountry AS country, flights.OriginCityName AS city, SUM(FlightDelayMin) FROM kibana_sample_data_flights AS flights GROUP BY country, city -SELECT ABS(flights.FlightDelayMin) AS delay FROM kibana_sample_data_flights AS flights GROUP BY delay -SELECT `flights`.OriginCountry, AVG(FlightDelayMin) FROM kibana_sample_data_flights AS `flights` GROUP BY `flights`.OriginCountry -SELECT `flights`.OriginCountry, AVG(FlightDelayMin) FROM kibana_sample_data_flights AS `flights` GROUP BY 1 -SELECT 'This is not an empty index' FROM kibana_sample_data_flights HAVING COUNT(FlightNum) > 0 -SELECT 'This is an empty index' FROM kibana_sample_data_flights HAVING COUNT(FlightNum) = 0 -SELECT 'The average delay time > 10 min' FROM kibana_sample_data_flights HAVING AVG(FlightDelayMin) > 10 -SELECT OriginCountry, COUNT(FlightNum) FROM kibana_sample_data_flights GROUP BY OriginCountry HAVING COUNT(FlightNum) > 1 -SELECT OriginCountry, COUNT(FlightNum) AS cnt FROM kibana_sample_data_flights GROUP BY OriginCountry HAVING cnt = 1 -SELECT OriginCountry, COUNT(FlightNum) AS cnt FROM kibana_sample_data_flights GROUP BY OriginCountry HAVING 1 < cnt -SELECT OriginCountry, COUNT(FlightNum) FROM kibana_sample_data_flights GROUP BY OriginCountry HAVING MIN(FlightDelayMin) > 100 -SELECT OriginCountry, COUNT(FlightNum) FROM kibana_sample_data_flights GROUP BY OriginCountry HAVING COUNT(FlightNum) > 1 OR MIN(FlightDelayMin) > 100 -SELECT OriginCountry, COUNT(FlightNum) FROM kibana_sample_data_flights GROUP BY OriginCountry HAVING COUNT(FlightNum) = 1 AND MIN(FlightDelayMin) <= 100 +SELECT COUNT(*) FROM opensearch_dashboards_sample_data_flights +SELECT COUNT(1) FROM opensearch_dashboards_sample_data_flights +SELECT COUNT('hello') FROM opensearch_dashboards_sample_data_flights +SELECT SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights +SELECT AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights +SELECT MIN(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights +SELECT MAX(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights +SELECT count(*), Avg(FlightDelayMin), sUm(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights +SELECT COUNT(*) AS cnt, AVG(FlightDelayMin) AS a, SUM(FlightDelayMin) AS s FROM opensearch_dashboards_sample_data_flights +SELECT COUNT(*) FROM opensearch_dashboards_sample_data_flights WHERE FlightTimeMin > 0 +SELECT COUNT(1) FROM opensearch_dashboards_sample_data_flights WHERE FlightTimeMin > 0 +SELECT SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights WHERE FlightTimeMin > 0 +SELECT AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights WHERE FlightTimeMin > 0 +SELECT COUNT(*) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry +SELECT COUNT(FlightNum) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry +SELECT COUNT(FlightDelay) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry +SELECT COUNT(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry +SELECT AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry +SELECT SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry +SELECT OriginCountry, COUNT(*) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry +SELECT OriginCountry, ABS(COUNT(*)) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry +SELECT OriginCountry, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry +SELECT OriginCountry, SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry +SELECT OriginCountry, AVG(FlightDelayMin) + SUM(FlightDelayMin) as Total FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry +SELECT OriginCountry, COUNT(*), AVG(FlightDelayMin), SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry +SELECT COUNT(*), AVG(FlightDelayMin), SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry, OriginCityName +SELECT OriginCountry, COUNT(*), AVG(FlightDelayMin), SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry, OriginCityName +SELECT OriginCountry, OriginCityName, COUNT(*) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry, OriginCityName +SELECT OriginCountry, OriginCityName, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry, OriginCityName +SELECT OriginCountry, OriginCityName, SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry, OriginCityName +SELECT AvgTicketPrice, COUNT(*), AVG(AvgTicketPrice), SUM(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights GROUP BY AvgTicketPrice +SELECT ABS(AvgTicketPrice), COUNT(*), AVG(AvgTicketPrice), SUM(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights GROUP BY AvgTicketPrice +SELECT FlightDelayMin, COUNT(*), AVG(FlightDelayMin), SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY FlightDelayMin +SELECT OriginCountry, OriginCityName, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY 1, 2 +SELECT OriginCountry, OriginCityName, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry, 2 +SELECT OriginCountry, OriginCityName, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY 1, OriginCityName +SELECT ABS(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY 1 +SELECT OriginCountry AS country, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY country +SELECT OriginCountry AS country, OriginCityName, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY country, 2 +SELECT OriginCountry AS country, OriginCityName AS city, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY country, city +SELECT ABS(FlightDelayMin) AS delay FROM opensearch_dashboards_sample_data_flights GROUP BY delay +SELECT flights.OriginCountry, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights AS flights GROUP BY flights.OriginCountry +SELECT flights.OriginCountry, flights.OriginCityName, SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights AS flights GROUP BY flights.OriginCountry, flights.OriginCityName +SELECT flights.OriginCountry, flights.OriginCityName, SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights AS flights GROUP BY 1, 2 +SELECT flights.OriginCountry AS country, flights.OriginCityName AS city, SUM(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights AS flights GROUP BY country, city +SELECT ABS(flights.FlightDelayMin) AS delay FROM opensearch_dashboards_sample_data_flights AS flights GROUP BY delay +SELECT `flights`.OriginCountry, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights AS `flights` GROUP BY `flights`.OriginCountry +SELECT `flights`.OriginCountry, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights AS `flights` GROUP BY 1 +SELECT 'This is not an empty index' FROM opensearch_dashboards_sample_data_flights HAVING COUNT(FlightNum) > 0 +SELECT 'This is an empty index' FROM opensearch_dashboards_sample_data_flights HAVING COUNT(FlightNum) = 0 +SELECT 'The average delay time > 10 min' FROM opensearch_dashboards_sample_data_flights HAVING AVG(FlightDelayMin) > 10 +SELECT OriginCountry, COUNT(FlightNum) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry HAVING COUNT(FlightNum) > 1 +SELECT OriginCountry, COUNT(FlightNum) AS cnt FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry HAVING cnt = 1 +SELECT OriginCountry, COUNT(FlightNum) AS cnt FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry HAVING 1 < cnt +SELECT OriginCountry, COUNT(FlightNum) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry HAVING MIN(FlightDelayMin) > 100 +SELECT OriginCountry, COUNT(FlightNum) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry HAVING COUNT(FlightNum) > 1 OR MIN(FlightDelayMin) > 100 +SELECT OriginCountry, COUNT(FlightNum) FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry HAVING COUNT(FlightNum) = 1 AND MIN(FlightDelayMin) <= 100 diff --git a/integ-test/src/test/resources/correctness/queries/orderby.txt b/integ-test/src/test/resources/correctness/queries/orderby.txt index 78866910b94..f74d3c8484d 100644 --- a/integ-test/src/test/resources/correctness/queries/orderby.txt +++ b/integ-test/src/test/resources/correctness/queries/orderby.txt @@ -1,27 +1,27 @@ -SELECT FlightNum FROM kibana_sample_data_flights ORDER BY FlightNum -SELECT FlightNum FROM kibana_sample_data_flights ORDER BY FlightNum ASC -SELECT FlightNum FROM kibana_sample_data_flights ORDER BY FlightNum DESC -SELECT FlightNum FROM kibana_sample_data_flights ORDER BY FlightNum asc -SELECT FlightNum FROM kibana_sample_data_flights ORDER BY FlightNum desc -SELECT FlightNum, AvgTicketPrice FROM kibana_sample_data_flights ORDER BY FlightNum, AvgTicketPrice -SELECT FlightNum, AvgTicketPrice FROM kibana_sample_data_flights ORDER BY FlightNum DESC, AvgTicketPrice -SELECT FlightNum, AvgTicketPrice FROM kibana_sample_data_flights ORDER BY FlightNum, AvgTicketPrice DESC -SELECT FlightNum, AvgTicketPrice FROM kibana_sample_data_flights ORDER BY FlightNum DESC, AvgTicketPrice DESC -SELECT OriginCountry FROM kibana_sample_data_flights GROUP BY OriginCountry ORDER BY OriginCountry -SELECT OriginCountry FROM kibana_sample_data_flights GROUP BY OriginCountry ORDER BY OriginCountry DESC -SELECT FlightDelay, OriginWeather FROM kibana_sample_data_flights GROUP BY FlightDelay, OriginWeather ORDER BY FlightDelay, OriginWeather -SELECT FlightDelay, OriginWeather FROM kibana_sample_data_flights GROUP BY FlightDelay, OriginWeather ORDER BY FlightDelay DESC, OriginWeather -SELECT FlightDelay, OriginWeather FROM kibana_sample_data_flights GROUP BY FlightDelay, OriginWeather ORDER BY FlightDelay, OriginWeather DESC -SELECT FlightDelay, OriginWeather FROM kibana_sample_data_flights GROUP BY FlightDelay, OriginWeather ORDER BY FlightDelay DESC, OriginWeather DESC -SELECT FlightNum, DistanceMiles FROM kibana_sample_data_flights ORDER BY DistanceMiles NULLS FIRST -SELECT FlightNum, DistanceMiles FROM kibana_sample_data_flights ORDER BY DistanceMiles NULLS LAST -SELECT FlightNum, DistanceMiles FROM kibana_sample_data_flights ORDER BY DistanceMiles ASC NULLS LAST -SELECT FlightNum, DistanceMiles FROM kibana_sample_data_flights ORDER BY DistanceMiles DESC NULLS FIRST -SELECT FlightNum, DistanceMiles, FlightDelay FROM kibana_sample_data_flights ORDER BY DistanceMiles, FlightDelay NULLS FIRST -SELECT FlightNum, DistanceMiles, FlightDelay FROM kibana_sample_data_flights ORDER BY DistanceMiles, FlightDelay NULLS LAST -SELECT FlightNum, DistanceMiles, FlightDelay FROM kibana_sample_data_flights ORDER BY DistanceMiles, FlightDelay ASC NULLS LAST -SELECT FlightNum, DistanceMiles, FlightDelay FROM kibana_sample_data_flights ORDER BY DistanceMiles, FlightDelay DESC NULLS FIRST -SELECT FlightNum, DistanceMiles, FlightDelay FROM kibana_sample_data_flights ORDER BY DistanceMiles NULLS LAST, FlightDelay NULLS FIRST -SELECT FlightNum, DistanceMiles, FlightDelay FROM kibana_sample_data_flights ORDER BY DistanceMiles NULLS FIRST, FlightDelay NULLS LAST -SELECT FlightNum, DistanceMiles, FlightDelay FROM kibana_sample_data_flights ORDER BY DistanceMiles DESC NULLS FIRST, FlightDelay ASC NULLS LAST -SELECT FlightNum, DistanceMiles, FlightDelay FROM kibana_sample_data_flights ORDER BY DistanceMiles ASC NULLS LAST, FlightDelay DESC NULLS FIRST \ No newline at end of file +SELECT FlightNum FROM opensearch_dashboards_sample_data_flights ORDER BY FlightNum +SELECT FlightNum FROM opensearch_dashboards_sample_data_flights ORDER BY FlightNum ASC +SELECT FlightNum FROM opensearch_dashboards_sample_data_flights ORDER BY FlightNum DESC +SELECT FlightNum FROM opensearch_dashboards_sample_data_flights ORDER BY FlightNum asc +SELECT FlightNum FROM opensearch_dashboards_sample_data_flights ORDER BY FlightNum desc +SELECT FlightNum, AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY FlightNum, AvgTicketPrice +SELECT FlightNum, AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY FlightNum DESC, AvgTicketPrice +SELECT FlightNum, AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY FlightNum, AvgTicketPrice DESC +SELECT FlightNum, AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY FlightNum DESC, AvgTicketPrice DESC +SELECT OriginCountry FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry ORDER BY OriginCountry +SELECT OriginCountry FROM opensearch_dashboards_sample_data_flights GROUP BY OriginCountry ORDER BY OriginCountry DESC +SELECT FlightDelay, OriginWeather FROM opensearch_dashboards_sample_data_flights GROUP BY FlightDelay, OriginWeather ORDER BY FlightDelay, OriginWeather +SELECT FlightDelay, OriginWeather FROM opensearch_dashboards_sample_data_flights GROUP BY FlightDelay, OriginWeather ORDER BY FlightDelay DESC, OriginWeather +SELECT FlightDelay, OriginWeather FROM opensearch_dashboards_sample_data_flights GROUP BY FlightDelay, OriginWeather ORDER BY FlightDelay, OriginWeather DESC +SELECT FlightDelay, OriginWeather FROM opensearch_dashboards_sample_data_flights GROUP BY FlightDelay, OriginWeather ORDER BY FlightDelay DESC, OriginWeather DESC +SELECT FlightNum, DistanceMiles FROM opensearch_dashboards_sample_data_flights ORDER BY DistanceMiles NULLS FIRST +SELECT FlightNum, DistanceMiles FROM opensearch_dashboards_sample_data_flights ORDER BY DistanceMiles NULLS LAST +SELECT FlightNum, DistanceMiles FROM opensearch_dashboards_sample_data_flights ORDER BY DistanceMiles ASC NULLS LAST +SELECT FlightNum, DistanceMiles FROM opensearch_dashboards_sample_data_flights ORDER BY DistanceMiles DESC NULLS FIRST +SELECT FlightNum, DistanceMiles, FlightDelay FROM opensearch_dashboards_sample_data_flights ORDER BY DistanceMiles, FlightDelay NULLS FIRST +SELECT FlightNum, DistanceMiles, FlightDelay FROM opensearch_dashboards_sample_data_flights ORDER BY DistanceMiles, FlightDelay NULLS LAST +SELECT FlightNum, DistanceMiles, FlightDelay FROM opensearch_dashboards_sample_data_flights ORDER BY DistanceMiles, FlightDelay ASC NULLS LAST +SELECT FlightNum, DistanceMiles, FlightDelay FROM opensearch_dashboards_sample_data_flights ORDER BY DistanceMiles, FlightDelay DESC NULLS FIRST +SELECT FlightNum, DistanceMiles, FlightDelay FROM opensearch_dashboards_sample_data_flights ORDER BY DistanceMiles NULLS LAST, FlightDelay NULLS FIRST +SELECT FlightNum, DistanceMiles, FlightDelay FROM opensearch_dashboards_sample_data_flights ORDER BY DistanceMiles NULLS FIRST, FlightDelay NULLS LAST +SELECT FlightNum, DistanceMiles, FlightDelay FROM opensearch_dashboards_sample_data_flights ORDER BY DistanceMiles DESC NULLS FIRST, FlightDelay ASC NULLS LAST +SELECT FlightNum, DistanceMiles, FlightDelay FROM opensearch_dashboards_sample_data_flights ORDER BY DistanceMiles ASC NULLS LAST, FlightDelay DESC NULLS FIRST \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/queries/select.txt b/integ-test/src/test/resources/correctness/queries/select.txt index b02330d0a71..9cbdd49b799 100644 --- a/integ-test/src/test/resources/correctness/queries/select.txt +++ b/integ-test/src/test/resources/correctness/queries/select.txt @@ -1,36 +1,36 @@ -SELECT 1 + 2 FROM kibana_sample_data_flights -SELECT Cancelled, AvgTicketPrice, FlightDelayMin, Carrier, timestamp FROM kibana_sample_data_flights -SELECT `Cancelled`, `AvgTicketPrice` FROM kibana_sample_data_flights -SELECT ABS(DistanceMiles), (FlightDelayMin * 2) - 3 FROM kibana_sample_data_flights -SELECT abs(DistanceMiles), Abs(FlightDelayMin) FROM kibana_sample_data_flights -SELECT Cancelled AS Cancel, AvgTicketPrice AS ATP FROM kibana_sample_data_flights -SELECT Cancelled AS `Cancel` FROM kibana_sample_data_flights -SELECT kibana_sample_data_flights.AvgTicketPrice FROM kibana_sample_data_flights -SELECT flights.AvgTicketPrice, Carrier FROM kibana_sample_data_flights flights -SELECT flights.AvgTicketPrice, Carrier FROM kibana_sample_data_flights AS flights -SELECT kibana_sample_data_flights.AvgTicketPrice AS price FROM kibana_sample_data_flights WHERE kibana_sample_data_flights.AvgTicketPrice > 500 -SELECT flights.AvgTicketPrice AS price, Carrier AS car FROM kibana_sample_data_flights AS flights WHERE flights.AvgTicketPrice > 500 -SELECT `kibana_sample_data_flights`.`AvgTicketPrice` FROM kibana_sample_data_flights WHERE `kibana_sample_data_flights`.`AvgTicketPrice` <= 500 -SELECT `flights`.`AvgTicketPrice`, `Carrier` FROM kibana_sample_data_flights AS flights WHERE `flights`.`AvgTicketPrice` <= 500 -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE AvgTicketPrice <= 500 -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE NOT AvgTicketPrice <= 500 -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE AvgTicketPrice <= 500 AND FlightDelayMin = 0 -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE AvgTicketPrice <= 500 OR FlightDelayMin = 0 -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE AvgTicketPrice + 100 <= 500 -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE ABS(AvgTicketPrice * -2) > 1000 -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE Carrier LIKE 'JetBeat_' -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE Carrier LIKE '%Air%' -SELECT ALL OriginWeather FROM kibana_sample_data_flights -SELECT DISTINCT OriginWeather FROM kibana_sample_data_flights -SELECT DISTINCT OriginWeather, FlightDelay FROM kibana_sample_data_flights -SELECT DISTINCT SUBSTRING(OriginWeather, 1, 1) AS origin FROM kibana_sample_data_flights -SELECT DISTINCT SUBSTRING(OriginWeather, 1, 1) AS origin, FlightDelay FROM kibana_sample_data_flights -SELECT COUNT(*) AS count FROM kibana_sample_data_flights -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights ORDER BY AvgTicketPrice LIMIT 10 -SELECT AvgTicketPrice FROM kibana_sample_data_flights ORDER BY AvgTicketPrice LIMIT 100 -SELECT AvgTicketPrice FROM kibana_sample_data_flights ORDER BY AvgTicketPrice LIMIT 0 -SELECT AvgTicketPrice FROM kibana_sample_data_flights ORDER BY AvgTicketPrice LIMIT 10 OFFSET 5 -SELECT AvgTicketPrice FROM kibana_sample_data_flights ORDER BY AvgTicketPrice LIMIT 10 OFFSET 100 -SELECT AvgTicketPrice FROM kibana_sample_data_flights ORDER BY AvgTicketPrice LIMIT 1000 OFFSET 100 -SELECT abs(AvgTicketPrice) FROM kibana_sample_data_flights ORDER BY abs(AvgTicketPrice) LIMIT 10, 10 -SELECT AvgTicketPrice - 1 FROM kibana_sample_data_flights ORDER BY AvgTicketPrice LIMIT 10, 10 \ No newline at end of file +SELECT 1 + 2 FROM opensearch_dashboards_sample_data_flights +SELECT Cancelled, AvgTicketPrice, FlightDelayMin, Carrier, timestamp FROM opensearch_dashboards_sample_data_flights +SELECT `Cancelled`, `AvgTicketPrice` FROM opensearch_dashboards_sample_data_flights +SELECT ABS(DistanceMiles), (FlightDelayMin * 2) - 3 FROM opensearch_dashboards_sample_data_flights +SELECT abs(DistanceMiles), Abs(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights +SELECT Cancelled AS Cancel, AvgTicketPrice AS ATP FROM opensearch_dashboards_sample_data_flights +SELECT Cancelled AS `Cancel` FROM opensearch_dashboards_sample_data_flights +SELECT opensearch_dashboards_sample_data_flights.AvgTicketPrice FROM opensearch_dashboards_sample_data_flights +SELECT flights.AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights flights +SELECT flights.AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights AS flights +SELECT opensearch_dashboards_sample_data_flights.AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights WHERE opensearch_dashboards_sample_data_flights.AvgTicketPrice > 500 +SELECT flights.AvgTicketPrice AS price, Carrier AS car FROM opensearch_dashboards_sample_data_flights AS flights WHERE flights.AvgTicketPrice > 500 +SELECT `opensearch_dashboards_sample_data_flights`.`AvgTicketPrice` FROM opensearch_dashboards_sample_data_flights WHERE `opensearch_dashboards_sample_data_flights`.`AvgTicketPrice` <= 500 +SELECT `flights`.`AvgTicketPrice`, `Carrier` FROM opensearch_dashboards_sample_data_flights AS flights WHERE `flights`.`AvgTicketPrice` <= 500 +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE AvgTicketPrice <= 500 +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE NOT AvgTicketPrice <= 500 +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE AvgTicketPrice <= 500 AND FlightDelayMin = 0 +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE AvgTicketPrice <= 500 OR FlightDelayMin = 0 +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE AvgTicketPrice + 100 <= 500 +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE ABS(AvgTicketPrice * -2) > 1000 +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE Carrier LIKE 'JetBeat_' +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE Carrier LIKE '%Air%' +SELECT ALL OriginWeather FROM opensearch_dashboards_sample_data_flights +SELECT DISTINCT OriginWeather FROM opensearch_dashboards_sample_data_flights +SELECT DISTINCT OriginWeather, FlightDelay FROM opensearch_dashboards_sample_data_flights +SELECT DISTINCT SUBSTRING(OriginWeather, 1, 1) AS origin FROM opensearch_dashboards_sample_data_flights +SELECT DISTINCT SUBSTRING(OriginWeather, 1, 1) AS origin, FlightDelay FROM opensearch_dashboards_sample_data_flights +SELECT COUNT(*) AS count FROM opensearch_dashboards_sample_data_flights +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice LIMIT 10 +SELECT AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice LIMIT 100 +SELECT AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice LIMIT 0 +SELECT AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice LIMIT 10 OFFSET 5 +SELECT AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice LIMIT 10 OFFSET 100 +SELECT AvgTicketPrice FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice LIMIT 1000 OFFSET 100 +SELECT abs(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights ORDER BY abs(AvgTicketPrice) LIMIT 10, 10 +SELECT AvgTicketPrice - 1 FROM opensearch_dashboards_sample_data_flights ORDER BY AvgTicketPrice LIMIT 10, 10 \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/queries/subquries.txt b/integ-test/src/test/resources/correctness/queries/subquries.txt index e20e8b37ab8..082c7ec8efb 100644 --- a/integ-test/src/test/resources/correctness/queries/subquries.txt +++ b/integ-test/src/test/resources/correctness/queries/subquries.txt @@ -1,21 +1,21 @@ -SELECT Origin FROM (SELECT * FROM kibana_sample_data_flights) AS f -SELECT f.Origin FROM (SELECT * FROM kibana_sample_data_flights) AS f -SELECT f.o FROM (SELECT Origin AS o FROM kibana_sample_data_flights) AS f -SELECT origin FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM kibana_sample_data_flights WHERE AvgTicketPrice > 100) AS f -SELECT origin FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM kibana_sample_data_flights) AS f WHERE f.price > 100 -SELECT origin FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM kibana_sample_data_flights) AS f WHERE price > 100 -SELECT origin FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM kibana_sample_data_flights WHERE AvgTicketPrice > 100) AS f WHERE price < 1000 -SELECT origin FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM kibana_sample_data_flights) AS f ORDER BY f.price -SELECT origin FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM kibana_sample_data_flights) AS f ORDER BY price DESC -SELECT origin, price FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM kibana_sample_data_flights GROUP BY origin, price) AS f -SELECT origin, price FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM kibana_sample_data_flights) AS f GROUP BY origin, price -SELECT origin, price FROM (SELECT Origin AS origin, Dest AS dest, AvgTicketPrice AS price FROM kibana_sample_data_flights GROUP BY origin, dest, price) AS f GROUP BY origin, price -SELECT origin, price FROM (SELECT Origin AS origin, Dest AS dest, AvgTicketPrice AS price FROM kibana_sample_data_flights GROUP BY 1, 2, 3) AS f GROUP BY 1, 2 -SELECT ABS(AvgTicketPrice) FROM (SELECT AvgTicketPrice FROM kibana_sample_data_flights) AS flights GROUP BY ABS(AvgTicketPrice) -SELECT Origin, Dest FROM (SELECT * FROM kibana_sample_data_flights WHERE AvgTicketPrice > 100 GROUP BY Origin, Dest, AvgTicketPrice) AS flights WHERE AvgTicketPrice < 1000 ORDER BY AvgTicketPrice -SELECT Origin, MIN(AvgTicketPrice) FROM (SELECT * FROM kibana_sample_data_flights) AS flights GROUP BY Origin ORDER BY MAX(AvgTicketPrice) -SELECT Origin FROM (SELECT Origin, AvgTicketPrice FROM kibana_sample_data_flights) AS flights GROUP BY Origin HAVING MIN(AvgTicketPrice) > 500 -SELECT avg_price FROM (SELECT AVG(AvgTicketPrice) AS avg_price FROM kibana_sample_data_flights) AS flights -SELECT Dest FROM (SELECT Dest, OriginWeather FROM (SELECT Dest, OriginWeather, AvgTicketPrice FROM (SELECT Dest, Origin, OriginWeather, AvgTicketPrice FROM kibana_sample_data_flights WHERE Origin = 'Zurich Airport') AS flights_data WHERE AvgTicketPrice < 10000) AS flights WHERE OriginWeather = 'Clear') AS f -SELECT * FROM (SELECT Origin FROM kibana_sample_data_flights) AS flights -SELECT price FROM (SELECT AvgTicketPrice AS price FROM kibana_sample_data_flights LIMIT 10) AS flights ORDER BY price LIMIT 5, 5 \ No newline at end of file +SELECT Origin FROM (SELECT * FROM opensearch_dashboards_sample_data_flights) AS f +SELECT f.Origin FROM (SELECT * FROM opensearch_dashboards_sample_data_flights) AS f +SELECT f.o FROM (SELECT Origin AS o FROM opensearch_dashboards_sample_data_flights) AS f +SELECT origin FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights WHERE AvgTicketPrice > 100) AS f +SELECT origin FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights) AS f WHERE f.price > 100 +SELECT origin FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights) AS f WHERE price > 100 +SELECT origin FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights WHERE AvgTicketPrice > 100) AS f WHERE price < 1000 +SELECT origin FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights) AS f ORDER BY f.price +SELECT origin FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights) AS f ORDER BY price DESC +SELECT origin, price FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights GROUP BY origin, price) AS f +SELECT origin, price FROM (SELECT Origin AS origin, AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights) AS f GROUP BY origin, price +SELECT origin, price FROM (SELECT Origin AS origin, Dest AS dest, AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights GROUP BY origin, dest, price) AS f GROUP BY origin, price +SELECT origin, price FROM (SELECT Origin AS origin, Dest AS dest, AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights GROUP BY 1, 2, 3) AS f GROUP BY 1, 2 +SELECT ABS(AvgTicketPrice) FROM (SELECT AvgTicketPrice FROM opensearch_dashboards_sample_data_flights) AS flights GROUP BY ABS(AvgTicketPrice) +SELECT Origin, Dest FROM (SELECT * FROM opensearch_dashboards_sample_data_flights WHERE AvgTicketPrice > 100 GROUP BY Origin, Dest, AvgTicketPrice) AS flights WHERE AvgTicketPrice < 1000 ORDER BY AvgTicketPrice +SELECT Origin, MIN(AvgTicketPrice) FROM (SELECT * FROM opensearch_dashboards_sample_data_flights) AS flights GROUP BY Origin ORDER BY MAX(AvgTicketPrice) +SELECT Origin FROM (SELECT Origin, AvgTicketPrice FROM opensearch_dashboards_sample_data_flights) AS flights GROUP BY Origin HAVING MIN(AvgTicketPrice) > 500 +SELECT avg_price FROM (SELECT AVG(AvgTicketPrice) AS avg_price FROM opensearch_dashboards_sample_data_flights) AS flights +SELECT Dest FROM (SELECT Dest, OriginWeather FROM (SELECT Dest, OriginWeather, AvgTicketPrice FROM (SELECT Dest, Origin, OriginWeather, AvgTicketPrice FROM opensearch_dashboards_sample_data_flights WHERE Origin = 'Zurich Airport') AS flights_data WHERE AvgTicketPrice < 10000) AS flights WHERE OriginWeather = 'Clear') AS f +SELECT * FROM (SELECT Origin FROM opensearch_dashboards_sample_data_flights) AS flights +SELECT price FROM (SELECT AvgTicketPrice AS price FROM opensearch_dashboards_sample_data_flights LIMIT 10) AS flights ORDER BY price LIMIT 5, 5 \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/queries/window.txt b/integ-test/src/test/resources/correctness/queries/window.txt index 8a1191d9388..a8d134a2545 100644 --- a/integ-test/src/test/resources/correctness/queries/window.txt +++ b/integ-test/src/test/resources/correctness/queries/window.txt @@ -1,41 +1,41 @@ -SELECT DistanceMiles, ROW_NUMBER() OVER (ORDER BY DistanceMiles) AS num FROM kibana_sample_data_flights -SELECT DistanceMiles, RANK() OVER (ORDER BY DistanceMiles) AS rnk FROM kibana_sample_data_flights -SELECT DistanceMiles, DENSE_RANK() OVER (ORDER BY DistanceMiles) AS rnk FROM kibana_sample_data_flights -SELECT DistanceMiles, ROW_NUMBER() OVER (ORDER BY DistanceMiles DESC) AS num FROM kibana_sample_data_flights -SELECT DistanceMiles, RANK() OVER (ORDER BY DistanceMiles DESC) AS rnk FROM kibana_sample_data_flights -SELECT DistanceMiles, DENSE_RANK() OVER (ORDER BY DistanceMiles DESC) AS rnk FROM kibana_sample_data_flights -SELECT DistanceMiles, COUNT(DistanceMiles) OVER () AS num FROM kibana_sample_data_flights -SELECT DistanceMiles, SUM(DistanceMiles) OVER () AS num FROM kibana_sample_data_flights -SELECT DistanceMiles, AVG(DistanceMiles) OVER () AS num FROM kibana_sample_data_flights -SELECT DistanceMiles, MAX(DistanceMiles) OVER () AS num FROM kibana_sample_data_flights -SELECT DistanceMiles, MIN(DistanceMiles) OVER () AS num FROM kibana_sample_data_flights -SELECT FlightDelayMin, DistanceMiles, SUM(DistanceMiles) OVER (ORDER BY FlightDelayMin) AS num FROM kibana_sample_data_flights -SELECT FlightDelayMin, DistanceMiles, AVG(DistanceMiles) OVER (ORDER BY FlightDelayMin) AS num FROM kibana_sample_data_flights -SELECT FlightDelayMin, DistanceMiles, MAX(DistanceMiles) OVER (ORDER BY FlightDelayMin) AS num FROM kibana_sample_data_flights -SELECT FlightDelayMin, DistanceMiles, MIN(DistanceMiles) OVER (ORDER BY FlightDelayMin) AS num FROM kibana_sample_data_flights -SELECT user, RANK() OVER (ORDER BY user) AS rnk FROM kibana_sample_data_ecommerce -SELECT user, DENSE_RANK() OVER (ORDER BY user) AS rnk FROM kibana_sample_data_ecommerce -SELECT user, COUNT(day_of_week_i) OVER (ORDER BY user) AS cnt FROM kibana_sample_data_ecommerce -SELECT user, SUM(day_of_week_i) OVER (ORDER BY user) AS num FROM kibana_sample_data_ecommerce -SELECT user, AVG(day_of_week_i) OVER (ORDER BY user) AS num FROM kibana_sample_data_ecommerce -SELECT user, MAX(day_of_week_i) OVER (ORDER BY user) AS num FROM kibana_sample_data_ecommerce -SELECT user, MIN(day_of_week_i) OVER (ORDER BY user) AS num FROM kibana_sample_data_ecommerce -SELECT user, RANK() OVER (ORDER BY user DESC) AS rnk FROM kibana_sample_data_ecommerce -SELECT user, DENSE_RANK() OVER (ORDER BY user DESC) AS rnk FROM kibana_sample_data_ecommerce -SELECT user, COUNT(day_of_week_i) OVER (PARTITION BY user ORDER BY order_id) AS cnt FROM kibana_sample_data_ecommerce -SELECT user, SUM(day_of_week_i) OVER (PARTITION BY user ORDER BY order_id) AS num FROM kibana_sample_data_ecommerce -SELECT user, AVG(day_of_week_i) OVER (PARTITION BY user ORDER BY order_id) AS num FROM kibana_sample_data_ecommerce -SELECT user, MAX(day_of_week_i) OVER (PARTITION BY user ORDER BY order_id) AS num FROM kibana_sample_data_ecommerce -SELECT user, MIN(day_of_week_i) OVER (PARTITION BY user ORDER BY order_id) AS num FROM kibana_sample_data_ecommerce -SELECT customer_gender, user, ROW_NUMBER() OVER (PARTITION BY customer_gender ORDER BY user) AS num FROM kibana_sample_data_ecommerce -SELECT customer_gender, user, RANK() OVER (PARTITION BY customer_gender ORDER BY user) AS num FROM kibana_sample_data_ecommerce -SELECT customer_gender, user, DENSE_RANK() OVER (PARTITION BY customer_gender ORDER BY user) AS num FROM kibana_sample_data_ecommerce -SELECT customer_gender, user, customer_id, ROW_NUMBER() OVER (PARTITION BY customer_gender, user ORDER BY customer_id) AS num FROM kibana_sample_data_ecommerce -SELECT customer_gender, user, customer_id, RANK() OVER (PARTITION BY customer_gender, user ORDER BY customer_id) AS num FROM kibana_sample_data_ecommerce -SELECT customer_gender, user, customer_id, DENSE_RANK() OVER (PARTITION BY customer_gender, user ORDER BY customer_id) AS num FROM kibana_sample_data_ecommerce -SELECT customer_gender, user, ROW_NUMBER() OVER (ORDER BY customer_gender, user) AS num FROM kibana_sample_data_ecommerce -SELECT customer_gender, user, RANK() OVER (ORDER BY customer_gender, user) AS num FROM kibana_sample_data_ecommerce -SELECT customer_gender, user, DENSE_RANK() OVER (ORDER BY customer_gender, user) AS num FROM kibana_sample_data_ecommerce -SELECT customer_gender, user, SUM(total_quantity), ROW_NUMBER() OVER (PARTITION BY customer_gender ORDER BY user) AS num FROM kibana_sample_data_ecommerce GROUP BY customer_gender, user -SELECT customer_gender, user, AVG(total_quantity), RANK() OVER (PARTITION BY customer_gender ORDER BY user) AS num FROM kibana_sample_data_ecommerce GROUP BY customer_gender, user -SELECT customer_gender, user, DENSE_RANK() OVER (PARTITION BY customer_gender ORDER BY user) AS num FROM kibana_sample_data_ecommerce GROUP BY customer_gender, user \ No newline at end of file +SELECT DistanceMiles, ROW_NUMBER() OVER (ORDER BY DistanceMiles) AS num FROM opensearch_dashboards_sample_data_flights +SELECT DistanceMiles, RANK() OVER (ORDER BY DistanceMiles) AS rnk FROM opensearch_dashboards_sample_data_flights +SELECT DistanceMiles, DENSE_RANK() OVER (ORDER BY DistanceMiles) AS rnk FROM opensearch_dashboards_sample_data_flights +SELECT DistanceMiles, ROW_NUMBER() OVER (ORDER BY DistanceMiles DESC) AS num FROM opensearch_dashboards_sample_data_flights +SELECT DistanceMiles, RANK() OVER (ORDER BY DistanceMiles DESC) AS rnk FROM opensearch_dashboards_sample_data_flights +SELECT DistanceMiles, DENSE_RANK() OVER (ORDER BY DistanceMiles DESC) AS rnk FROM opensearch_dashboards_sample_data_flights +SELECT DistanceMiles, COUNT(DistanceMiles) OVER () AS num FROM opensearch_dashboards_sample_data_flights +SELECT DistanceMiles, SUM(DistanceMiles) OVER () AS num FROM opensearch_dashboards_sample_data_flights +SELECT DistanceMiles, AVG(DistanceMiles) OVER () AS num FROM opensearch_dashboards_sample_data_flights +SELECT DistanceMiles, MAX(DistanceMiles) OVER () AS num FROM opensearch_dashboards_sample_data_flights +SELECT DistanceMiles, MIN(DistanceMiles) OVER () AS num FROM opensearch_dashboards_sample_data_flights +SELECT FlightDelayMin, DistanceMiles, SUM(DistanceMiles) OVER (ORDER BY FlightDelayMin) AS num FROM opensearch_dashboards_sample_data_flights +SELECT FlightDelayMin, DistanceMiles, AVG(DistanceMiles) OVER (ORDER BY FlightDelayMin) AS num FROM opensearch_dashboards_sample_data_flights +SELECT FlightDelayMin, DistanceMiles, MAX(DistanceMiles) OVER (ORDER BY FlightDelayMin) AS num FROM opensearch_dashboards_sample_data_flights +SELECT FlightDelayMin, DistanceMiles, MIN(DistanceMiles) OVER (ORDER BY FlightDelayMin) AS num FROM opensearch_dashboards_sample_data_flights +SELECT user, RANK() OVER (ORDER BY user) AS rnk FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, DENSE_RANK() OVER (ORDER BY user) AS rnk FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, COUNT(day_of_week_i) OVER (ORDER BY user) AS cnt FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, SUM(day_of_week_i) OVER (ORDER BY user) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, AVG(day_of_week_i) OVER (ORDER BY user) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, MAX(day_of_week_i) OVER (ORDER BY user) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, MIN(day_of_week_i) OVER (ORDER BY user) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, RANK() OVER (ORDER BY user DESC) AS rnk FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, DENSE_RANK() OVER (ORDER BY user DESC) AS rnk FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, COUNT(day_of_week_i) OVER (PARTITION BY user ORDER BY order_id) AS cnt FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, SUM(day_of_week_i) OVER (PARTITION BY user ORDER BY order_id) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, AVG(day_of_week_i) OVER (PARTITION BY user ORDER BY order_id) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, MAX(day_of_week_i) OVER (PARTITION BY user ORDER BY order_id) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT user, MIN(day_of_week_i) OVER (PARTITION BY user ORDER BY order_id) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT customer_gender, user, ROW_NUMBER() OVER (PARTITION BY customer_gender ORDER BY user) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT customer_gender, user, RANK() OVER (PARTITION BY customer_gender ORDER BY user) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT customer_gender, user, DENSE_RANK() OVER (PARTITION BY customer_gender ORDER BY user) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT customer_gender, user, customer_id, ROW_NUMBER() OVER (PARTITION BY customer_gender, user ORDER BY customer_id) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT customer_gender, user, customer_id, RANK() OVER (PARTITION BY customer_gender, user ORDER BY customer_id) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT customer_gender, user, customer_id, DENSE_RANK() OVER (PARTITION BY customer_gender, user ORDER BY customer_id) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT customer_gender, user, ROW_NUMBER() OVER (ORDER BY customer_gender, user) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT customer_gender, user, RANK() OVER (ORDER BY customer_gender, user) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT customer_gender, user, DENSE_RANK() OVER (ORDER BY customer_gender, user) AS num FROM opensearch_dashboards_sample_data_ecommerce +SELECT customer_gender, user, SUM(total_quantity), ROW_NUMBER() OVER (PARTITION BY customer_gender ORDER BY user) AS num FROM opensearch_dashboards_sample_data_ecommerce GROUP BY customer_gender, user +SELECT customer_gender, user, AVG(total_quantity), RANK() OVER (PARTITION BY customer_gender ORDER BY user) AS num FROM opensearch_dashboards_sample_data_ecommerce GROUP BY customer_gender, user +SELECT customer_gender, user, DENSE_RANK() OVER (PARTITION BY customer_gender ORDER BY user) AS num FROM opensearch_dashboards_sample_data_ecommerce GROUP BY customer_gender, user \ No newline at end of file diff --git a/integ-test/src/test/resources/correctness/sanity_integration_tests.txt b/integ-test/src/test/resources/correctness/sanity_integration_tests.txt index 11aed79de67..0db9f458dc2 100644 --- a/integ-test/src/test/resources/correctness/sanity_integration_tests.txt +++ b/integ-test/src/test/resources/correctness/sanity_integration_tests.txt @@ -1,51 +1,51 @@ -SELECT AvgTicketPrice, Cancelled, Carrier, FlightDelayMin, timestamp FROM kibana_sample_data_flights -SELECT AvgTicketPrice AS avg, Cancelled AS cancel, Carrier AS carrier, FlightDelayMin AS delay, timestamp AS ts FROM kibana_sample_data_flights -SELECT f.AvgTicketPrice AS avg, f.Cancelled AS cancel, f.Carrier AS carrier, f.FlightDelayMin AS delay, timestamp AS ts FROM kibana_sample_data_flights f -SELECT LOG(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT LOG2(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT LOG10(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT LN(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT SQRT(DistanceMiles) FROM kibana_sample_data_flights -SELECT CBRT(DistanceMiles) FROM kibana_sample_data_flights -SELECT CEIL(FlightTimeMin) FROM kibana_sample_data_flights -SELECT FLOOR(FlightTimeMin) FROM kibana_sample_data_flights -SELECT SIN(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT COS(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT TAN(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT ASIN(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT ACOS(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT ATAN(AvgTicketPrice) FROM kibana_sample_data_flights -SELECT LEFT(Origin, 3) FROM kibana_sample_data_flights -SELECT RIGHT(Origin, 3) FROM kibana_sample_data_flights -SELECT LENGTH(Origin) FROM kibana_sample_data_flights -SELECT ASCII(Origin) FROM kibana_sample_data_flights -SELECT TRIM(Origin) FROM kibana_sample_data_flights -SELECT LOWER(Origin) FROM kibana_sample_data_flights -SELECT UPPER(Origin) FROM kibana_sample_data_flights -SELECT SUBSTRING(Origin, 1, 5) FROM kibana_sample_data_flights -SELECT YEAR(timestamp) FROM kibana_sample_data_flights -SELECT MONTH(timestamp) FROM kibana_sample_data_flights -SELECT DAYOFMONTH(timestamp) FROM kibana_sample_data_flights -SELECT MONTH_OF_YEAR(timestamp) FROM kibana_sample_data_flights -SELECT WEEK_OF_YEAR(timestamp) FROM kibana_sample_data_flights -SELECT DAY_OF_YEAR(timestamp) FROM kibana_sample_data_flights -SELECT DAY_OF_MONTH(timestamp) FROM kibana_sample_data_flights -SELECT DAY_OF_WEEK(timestamp) FROM kibana_sample_data_flights -SELECT HOUR_OF_DAY(timestamp) FROM kibana_sample_data_flights -SELECT MINUTE_OF_DAY(timestamp) FROM kibana_sample_data_flights -SELECT MINUTE_OF_HOUR(timestamp) FROM kibana_sample_data_flights -SELECT SECOND_OF_MINUTE(timestamp) FROM kibana_sample_data_flights -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE AvgTicketPrice <= 500 -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE AvgTicketPrice <= 500 AND Cancelled = False -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE timestamp > '2019-12-23 10:00:00' -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE kibana_sample_data_flights.Carrier LIKE 'Wind' -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE AvgTicketPrice <= 500 ORDER BY FlightDelayMin LIMIT 5 -SELECT AvgTicketPrice, Carrier FROM kibana_sample_data_flights WHERE AvgTicketPrice <= 500 ORDER BY DestAirportID LIMIT 5 -SELECT Carrier, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY Carrier -SELECT Carrier, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY 1 -SELECT Carrier, AVG(FlightDelayMin) FROM kibana_sample_data_flights WHERE FlightDelay = True GROUP BY Carrier -SELECT Carrier, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY Carrier HAVING AVG(FlightTimeMin) > 100 -SELECT Carrier, MAX(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY Carrier HAVING AVG(FlightTimeMin) > 100 -SELECT Carrier, AVG(FlightDelayMin) FROM kibana_sample_data_flights GROUP BY Carrier ORDER BY Carrier LIMIT 2 -SELECT AvgTicketPrice AS AvgTicketPrice, DestCountry AS DestCountry FROM kibana_sample_data_ecommerce e JOIN kibana_sample_data_flights f ON (e.day_of_week_i = f.dayOfWeek) LIMIT 1000 -SELECT AvgTicketPrice AS AvgTicketPrice, DestCountry AS DestCountry FROM kibana_sample_data_ecommerce e LEFT JOIN kibana_sample_data_flights f ON (e.day_of_week_i = f.dayOfWeek) LIMIT 1000 +SELECT AvgTicketPrice, Cancelled, Carrier, FlightDelayMin, timestamp FROM opensearch_dashboards_sample_data_flights +SELECT AvgTicketPrice AS avg, Cancelled AS cancel, Carrier AS carrier, FlightDelayMin AS delay, timestamp AS ts FROM opensearch_dashboards_sample_data_flights +SELECT f.AvgTicketPrice AS avg, f.Cancelled AS cancel, f.Carrier AS carrier, f.FlightDelayMin AS delay, timestamp AS ts FROM opensearch_dashboards_sample_data_flights f +SELECT LOG(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT LOG2(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT LOG10(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT LN(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT SQRT(DistanceMiles) FROM opensearch_dashboards_sample_data_flights +SELECT CBRT(DistanceMiles) FROM opensearch_dashboards_sample_data_flights +SELECT CEIL(FlightTimeMin) FROM opensearch_dashboards_sample_data_flights +SELECT FLOOR(FlightTimeMin) FROM opensearch_dashboards_sample_data_flights +SELECT SIN(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT COS(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT TAN(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT ASIN(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT ACOS(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT ATAN(AvgTicketPrice) FROM opensearch_dashboards_sample_data_flights +SELECT LEFT(Origin, 3) FROM opensearch_dashboards_sample_data_flights +SELECT RIGHT(Origin, 3) FROM opensearch_dashboards_sample_data_flights +SELECT LENGTH(Origin) FROM opensearch_dashboards_sample_data_flights +SELECT ASCII(Origin) FROM opensearch_dashboards_sample_data_flights +SELECT TRIM(Origin) FROM opensearch_dashboards_sample_data_flights +SELECT LOWER(Origin) FROM opensearch_dashboards_sample_data_flights +SELECT UPPER(Origin) FROM opensearch_dashboards_sample_data_flights +SELECT SUBSTRING(Origin, 1, 5) FROM opensearch_dashboards_sample_data_flights +SELECT YEAR(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT MONTH(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT DAYOFMONTH(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT MONTH_OF_YEAR(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT WEEK_OF_YEAR(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT DAY_OF_YEAR(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT DAY_OF_MONTH(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT DAY_OF_WEEK(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT HOUR_OF_DAY(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT MINUTE_OF_DAY(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT MINUTE_OF_HOUR(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT SECOND_OF_MINUTE(timestamp) FROM opensearch_dashboards_sample_data_flights +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE AvgTicketPrice <= 500 +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE AvgTicketPrice <= 500 AND Cancelled = False +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE timestamp > '2019-12-23 10:00:00' +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE opensearch_dashboards_sample_data_flights.Carrier LIKE 'Wind' +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE AvgTicketPrice <= 500 ORDER BY FlightDelayMin LIMIT 5 +SELECT AvgTicketPrice, Carrier FROM opensearch_dashboards_sample_data_flights WHERE AvgTicketPrice <= 500 ORDER BY DestAirportID LIMIT 5 +SELECT Carrier, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY Carrier +SELECT Carrier, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY 1 +SELECT Carrier, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights WHERE FlightDelay = True GROUP BY Carrier +SELECT Carrier, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY Carrier HAVING AVG(FlightTimeMin) > 100 +SELECT Carrier, MAX(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY Carrier HAVING AVG(FlightTimeMin) > 100 +SELECT Carrier, AVG(FlightDelayMin) FROM opensearch_dashboards_sample_data_flights GROUP BY Carrier ORDER BY Carrier LIMIT 2 +SELECT AvgTicketPrice AS AvgTicketPrice, DestCountry AS DestCountry FROM opensearch_dashboards_sample_data_ecommerce e JOIN opensearch_dashboards_sample_data_flights f ON (e.day_of_week_i = f.dayOfWeek) LIMIT 1000 +SELECT AvgTicketPrice AS AvgTicketPrice, DestCountry AS DestCountry FROM opensearch_dashboards_sample_data_ecommerce e LEFT JOIN opensearch_dashboards_sample_data_flights f ON (e.day_of_week_i = f.dayOfWeek) LIMIT 1000 diff --git a/integ-test/src/test/resources/correctness/tableau_integration_tests.txt b/integ-test/src/test/resources/correctness/tableau_integration_tests.txt index e10ef3ae5a0..7bc4056374a 100644 --- a/integ-test/src/test/resources/correctness/tableau_integration_tests.txt +++ b/integ-test/src/test/resources/correctness/tableau_integration_tests.txt @@ -1,215 +1,215 @@ -SELECT SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`FlightDelayMin`) AS `sum_Offset_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`FlightDelay`) AS `sum_FlightDelay_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`DistanceMiles`) AS `sum_DistanceMiles_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT YEAR(`kibana_sample_data_flights`.`timestamp`) AS `yr_timestamp_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(ABS(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(ACOS(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252358221825_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(ASIN(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252358545410_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(ATAN(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252358811651_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(ATAN2(`kibana_sample_data_flights`.`dayOfWeek`,`kibana_sample_data_flights`.`FlightDelayMin`)) AS `sum_Calculation_160722252358811651_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(COS(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(COT(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(DEGREES(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM((`kibana_sample_data_flights`.`dayOfWeek` DIV `kibana_sample_data_flights`.`FlightDelayMin`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(EXP(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM((((CASE WHEN (ABS((`kibana_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`kibana_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((`kibana_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`kibana_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN 1.5 ELSE 0.0 END) - (CASE WHEN ((`kibana_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`kibana_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0) < 0.0) AND ((CASE WHEN (ABS((`kibana_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`kibana_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((`kibana_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`kibana_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) > 0.0) THEN 3.0 ELSE 0.0 END)) + (ROUND( ( (`kibana_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(ROUND( (((CASE WHEN (ABS((`kibana_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`kibana_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((`kibana_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`kibana_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) - (CASE WHEN ((`kibana_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`kibana_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)) < 0.0) AND ((CASE WHEN (ABS((`kibana_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`kibana_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((`kibana_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`kibana_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) > 0.0) THEN SQRT(3.0) ELSE 0.0 END)) + (ROUND( ( (`kibana_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0))), 3)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(LOG(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM((LOG(`kibana_sample_data_flights`.`dayOfWeek`)/LOG(10))) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MAX(`kibana_sample_data_flights`.`dayOfWeek`) AS `usr_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MIN(`kibana_sample_data_flights`.`dayOfWeek`) AS `usr_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM((CASE WHEN `kibana_sample_data_flights`.`dayOfWeek` >= 0 OR FLOOR(2) = 2 THEN POWER(`kibana_sample_data_flights`.`dayOfWeek`,2) END)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(RADIANS(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(ROUND(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(SIGN(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(SIN(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(SQRT(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(POWER(`kibana_sample_data_flights`.`dayOfWeek`, 2)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(TAN(`kibana_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(ASCII(SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024))) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT `kibana_sample_data_flights`.`Dest` AS `Dest` FROM `kibana_sample_data_flights` WHERE ((`kibana_sample_data_flights`.`Dest` = 'caching_sha2_password') AND (LOCATE('in',LOWER(`kibana_sample_data_flights`.`Dest`)) > 0)) GROUP BY 1 -SELECT SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `kibana_sample_data_flights` WHERE (RIGHT(RTRIM(LOWER(SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024))), LENGTH('.')) = '.') GROUP BY 1 -SELECT SUM(IF(ISNULL(1), NULL, LOCATE('Cape',`kibana_sample_data_flights`.`Origin`,GREATEST(1,FLOOR(1))))) AS `sum_Calculation_462181953493630977_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (CASE WHEN 3 >= 0 THEN LEFT(`kibana_sample_data_flights`.`Origin`,3) ELSE NULL END) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT LENGTH(`kibana_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT LOWER(`kibana_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT LTRIM(`kibana_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MAX(`kibana_sample_data_flights`.`Origin`) AS `usr_Calculation_462181953493630977_nk` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT IF(ISNULL(0), NULL, SUBSTRING(`kibana_sample_data_flights`.`Origin`,GREATEST(1,FLOOR(0)),FLOOR(5))) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MIN(`kibana_sample_data_flights`.`Origin`) AS `usr_Calculation_462181953493630977_nk` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT REPLACE(`kibana_sample_data_flights`.`Origin`,'Airport','') AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (CASE WHEN 3 >= 0 THEN RIGHT(`kibana_sample_data_flights`.`Origin`,3) ELSE NULL END) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT RTRIM(`kibana_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT IF(`kibana_sample_data_flights`.`AvgTicketPrice` >= 0, SPACE(FLOOR(`kibana_sample_data_flights`.`AvgTicketPrice`)), NULL) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT TRIM(LEADING '-' FROM TRIM(LEADING SUBSTRING_INDEX(`kibana_sample_data_flights`.`Origin`, '-', (2 - 1)) FROM SUBSTRING_INDEX(`kibana_sample_data_flights`.`Origin`, '-', 2))) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `kibana_sample_data_flights` WHERE (LEFT(LTRIM(LOWER(SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024))), LENGTH('$')) = '$') GROUP BY 1 -SELECT TRIM(`kibana_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT UPPER(`kibana_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT ADDDATE( DATE_FORMAT( DATE(`kibana_sample_data_flights`.`password_last_changed`), '%Y-01-01 00:00:00' ), INTERVAL 0 SECOND ) AS `tyr_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT YEAR(DATE(`kibana_sample_data_flights`.`timestamp`)) AS `yr_Calculation_462181953481519104_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (YEAR(`kibana_sample_data_flights`.`timestamp`) - YEAR(DATE('1990-01-01'))) AS `Calculation_1706301351891775489` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MONTHNAME(`kibana_sample_data_flights`.`timestamp`) AS `Calculation_1706301351891775489` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT YEAR(TIMESTAMP(STR_TO_DATE('5.April.2004', '%d.%i.%Y'))) AS `yr_Calculation_462181953481519104_ok` FROM `kibana_sample_data_flights` -SELECT YEAR(ADDDATE( CONCAT( DATE_FORMAT( `kibana_sample_data_flights`.`timestamp`, '%Y-' ), (3*(QUARTER(`kibana_sample_data_flights`.`timestamp`)-1)+1), '-01 00:00:00' ), INTERVAL 0 SECOND )) AS `yr_Calculation_1706301351891775489_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT DAYOFMONTH(`kibana_sample_data_flights`.`timestamp`) AS `Calculation_462181953481519104` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT 2019 AS `yr_Calculation_462181953481519104_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT YEAR(ADDTIME(CAST(CAST(`kibana_sample_data_flights`.`timestamp` AS DATE) AS DATETIME), TIME(`kibana_sample_data_flights`.`timestamp`))) AS `yr_Calculation_1706301351891775489_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT YEAR(MAKETIME(`kibana_sample_data_flights`.`dayOfWeek`, `kibana_sample_data_flights`.`dayOfWeek`, `kibana_sample_data_flights`.`dayOfWeek`)) AS `yr_Calculation_1706301351891775489_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MAX(`kibana_sample_data_flights`.`timestamp`) AS `max_timestamp_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MIN(`kibana_sample_data_flights`.`timestamp`) AS `min_timestamp_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MONTH(`kibana_sample_data_flights`.`timestamp`) AS `mn_timestamp_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT YEAR(NOW()) AS `yr_Calculation_462181953481519104_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT YEAR(CURDATE()) AS `yr_Calculation_462181953481519104_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT YEAR(`kibana_sample_data_flights`.`timestamp`) AS `yr_timestamp_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT ((`kibana_sample_data_flights`.`Origin` = 'Frankfurt am Main Airport') AND (`kibana_sample_data_flights`.`Dest` = 'Sydney Kingsford Smith International Airport')) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (CASE `kibana_sample_data_flights`.`OriginWeather` WHEN 'Sunny' THEN '1' WHEN 'Rain' THEN '0' ELSE 'NA' END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (CASE WHEN (`kibana_sample_data_flights`.`FlightDelay` = 0) THEN 'No delay' ELSE CAST(NULL AS CHAR(1)) END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (CASE WHEN (`kibana_sample_data_flights`.`FlightDelay` = 0) THEN 'No delay' WHEN (`kibana_sample_data_flights`.`FlightDelay` = 1) THEN 'Delay' ELSE CAST(NULL AS CHAR(1)) END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (RIGHT(RTRIM(`kibana_sample_data_flights`.`Origin`), LENGTH('Airport')) = 'Airport') AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (CASE WHEN (`kibana_sample_data_flights`.`FlightDelay` = 0) THEN 'No delay' ELSE CAST(NULL AS CHAR(1)) END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT IFNULL(`kibana_sample_data_flights`.`Cancelled`, `kibana_sample_data_flights`.`AvgTicketPrice`) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (CASE WHEN (`kibana_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'High' WHEN NOT (`kibana_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'Low' ELSE NULL END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (NOT ISNULL(DATE_FORMAT(`kibana_sample_data_flights`.`Origin`, '%Y'))) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT ISNULL(`kibana_sample_data_flights`.`FlightNum`) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MAX(`kibana_sample_data_flights`.`dayOfWeek`) AS `max_max_questions_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MIN(`kibana_sample_data_flights`.`dayOfWeek`) AS `min_max_questions_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (NOT ISNULL(DATE_FORMAT(`kibana_sample_data_flights`.`Origin`, '%Y'))) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT ((`kibana_sample_data_flights`.`Origin` = 'Frankfurt am Main Airport') OR (`kibana_sample_data_flights`.`Dest` = 'Sydney Kingsford Smith International Airport')) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (CASE WHEN (`kibana_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'High' WHEN NOT (`kibana_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'Low' ELSE NULL END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT (CASE WHEN (`kibana_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'High' WHEN NOT (`kibana_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'Low' ELSE NULL END) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT IFNULL(`kibana_sample_data_flights`.`FlightDelay`, 0) AS `Calculation_462181953506873347` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MIN(`kibana_sample_data_flights`.`Origin`) AS `TEMP(Calculation_462181953504628738)(2376748618)(0)`, MAX(`kibana_sample_data_flights`.`Origin`) AS `TEMP(Calculation_462181953504628738)(2968235173)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT AVG(`kibana_sample_data_flights`.`FlightDelayMin`) AS `avg_max_user_connections_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(1) AS `cnt_max_user_connections_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MAX(`kibana_sample_data_flights`.`max_questions`) AS `max_max_questions_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MIN(`kibana_sample_data_flights`.`dayOfWeek`) AS `min_max_questions_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM((`kibana_sample_data_flights`.`AvgTicketPrice` * `kibana_sample_data_flights`.`AvgTicketPrice`)) AS `TEMP(Calculation_462181953506873347)(1705728846)(0)`, SUM(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(Calculation_462181953506873347)(2465277995)(0)`, COUNT(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(Calculation_462181953506873347)(2633997250)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT COUNT(`kibana_sample_data_flights`.`DistanceMiles`) AS `TEMP(Calculation_462181953506873347)(2070533874)(0)`, SUM(`kibana_sample_data_flights`.`DistanceMiles`) AS `TEMP(Calculation_462181953506873347)(3496560911)(0)`, SUM((`kibana_sample_data_flights`.`DistanceMiles` * `kibana_sample_data_flights`.`DistanceMiles`)) AS `TEMP(Calculation_462181953506873347)(3595387140)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `usr_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(Calculation_462181953506873347)(105357904)(0)`, COUNT(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(Calculation_462181953506873347)(2584840543)(0)`, SUM(((`kibana_sample_data_flights`.`dayOfWeek` + 0.0) * (`kibana_sample_data_flights`.`dayOfWeek` + 0.0))) AS `TEMP(Calculation_462181953506873347)(3340567470)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`DistanceKilometers`) AS `TEMP(Calculation_462181953506873347)(1474522238)(0)`, COUNT(`kibana_sample_data_flights`.`DistanceKilometers`) AS `TEMP(Calculation_462181953506873347)(2841334535)(0)`, SUM((`kibana_sample_data_flights`.`DistanceKilometers` * `kibana_sample_data_flights`.`DistanceKilometers`)) AS `TEMP(Calculation_462181953506873347)(461715975)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `kibana_sample_data_flights` WHERE (SUBSTRING(`kibana_sample_data_flights`.`OriginWeather`, 1, 1024) = 'ABC') GROUP BY 1 -SELECT SUM((CASE \tWHEN ISNULL(`kibana_sample_data_flights`.`dayOfWeek`) THEN NULL \tWHEN ISNULL(10) THEN NULL \tELSE GREATEST(`kibana_sample_data_flights`.`dayOfWeek`, 10) END)) AS `sum_Calculation_160722252357632000_ok` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT `kibana_sample_data_flights`.`AvgTicketPrice` AS `AvgTicketPrice`, `kibana_sample_data_flights`.`Cancelled` AS `Cancelled`, `kibana_sample_data_flights`.`Carrier` AS `Carrier`, `kibana_sample_data_flights`.`DestAirportID` AS `DestAirportID`, `kibana_sample_data_flights`.`DestCityName` AS `DestCityName`, `kibana_sample_data_flights`.`DestCountry` AS `DestCountry`, `kibana_sample_data_flights`.`DestLocation` AS `DestLocation`, `kibana_sample_data_flights`.`DestRegion` AS `Dest~~~<<>>~~~e`.`kibana_sample_data_flights` AS `kibana_sample_data_flights` FROM `kibana_sample_data_ecommerce` LEFT JOIN `kibana_sample_data_flights` ON (`kibana_sample_data_ecommerce`.`day_of_week_i` = `kibana_sample_data_flights`.`dayOfWeek`) LIMIT 1000 -SELECT `kibana_sample_data_flights`.`AvgTicketPrice` AS `AvgTicketPrice`, `kibana_sample_data_flights`.`Cancelled` AS `Cancelled`, `kibana_sample_data_flights`.`Carrier` AS `Carrier`, `kibana_sample_data_flights`.`DestAirportID` AS `DestAirportID`, `kibana_sample_data_flights`.`DestCityName` AS `DestCityName`, `kibana_sample_data_flights`.`DestCountry` AS `DestCountry`, `kibana_sample_data_flights`.`DestLocation` AS `DestLocation`, `kibana_sample_data_flights`.`DestRegion` AS `Dest~~~<<>>~~~`.`kibana_sample_data_flights` AS `kibana_sample_data_flights` FROM `kibana_sample_data_ecommerce` RIGHT JOIN `kibana_sample_data_flights` ON (`kibana_sample_data_ecommerce`.`day_of_week_i` = `kibana_sample_data_flights`.`dayOfWeek`) LIMIT 1000 -SELECT `kibana_sample_data_flights`.`OriginCityName` AS `OriginCityName` FROM `kibana_sample_data_flights` GROUP BY 1 ORDER BY `OriginCityName` ASC -SELECT `kibana_sample_data_flights`.`OriginCityName` AS `OriginCityName` FROM `kibana_sample_data_flights` GROUP BY 1 ORDER BY `OriginCityName` ASC -SELECT `kibana_sample_data_flights`.`DestCityName` AS `DestCityName`, SUM(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `$__alias__0` FROM `kibana_sample_data_flights` GROUP BY 1 ORDER BY `$__alias__0` DESC, `DestCityName` ASC LIMIT 10 -SELECT 'DESKTOP-7APIVOE\\\\Rupal' AS `Calculation_1122522251639717888` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT 0 AS `Calculation_1122522251639717888` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT 0 AS `Calculation_1122522251639717888` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT 1 AS `Calculation_1122522251639717888` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT 'DESKTOP-7APIVOE' AS `Calculation_1122522251639717888` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT 'ABC' AS `Calculation_1122522251639717888` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MAX(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(3575797393)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(TEMP(TC_)(4001152001)(0))(105357904)(0)`, COUNT(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(TEMP(TC_)(4001152001)(0))(2584840543)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MIN(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(2076389572)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TEMP(TC_)(4079199159)(0))(2465277995)(0)`, COUNT(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TEMP(TC_)(4079199159)(0))(2633997250)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(2465277995)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT COUNT(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(2633997250)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MAX(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(TC_)(718966039)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT MIN(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(TC_)(2462140059)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT SUM(`kibana_sample_data_flights`.`dayOfWeek`) AS `TEMP(TC_)(105357904)(0)`, SUM(`kibana_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(2465277995)(0)` FROM `kibana_sample_data_flights` GROUP BY 1 -SELECT 1 AS `empty` FROM `kibana_sample_data_flights` -SELECT substring(OriginWeather, 1, 2) AS OriginWeather FROM kibana_sample_data_flights -SELECT SUM(FlightDelayMin) AS sum_FlightDelayMin_ok FROM kibana_sample_data_flights -SELECT SUM(FlightDelay) AS sum_FlightDelay_ok FROM kibana_sample_data_flights -SELECT SUM(DistanceMiles) AS sum_DistanceMiles_ok FROM kibana_sample_data_flights -SELECT year(timestamp) AS yr_timestamp_ok FROM kibana_sample_data_flights -SELECT abs(AvgTicketPrice) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT acos(FlightDelayMin) AS sum_Calculation_160722252358221825_ok FROM kibana_sample_data_flights -SELECT asin(FlightDelayMin) AS sum_Calculation_160722252358545410_ok FROM kibana_sample_data_flights -SELECT atan(FlightDelayMin) AS sum_Calculation_160722252358811651_ok FROM kibana_sample_data_flights -SELECT atan2(FlightDelayMin,dayOfWeek) AS sum_Calculation_160722252358811651_ok FROM kibana_sample_data_flights -SELECT SUM(FlightDelayMin) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT cos(FlightDelayMin) AS sum_Calculation_160722252358221825_ok FROM kibana_sample_data_flights -SELECT cot(AvgTicketPrice) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT degrees(FlightDelayMin) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT FlightDelayMin div AvgTicketPrice AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT exp(FlightDelayMin) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT SUM(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT SUM((((CASE WHEN (ABS((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN 1.5 ELSE 0.0 END) - (CASE WHEN ((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0) < 0.0) AND ((CASE WHEN (ABS((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) > 0.0) THEN 3.0 ELSE 0.0 END)) + (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT SUM(ROUND( (((CASE WHEN (ABS((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) - (CASE WHEN ((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)) < 0.0) AND ((CASE WHEN (ABS((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) > 0.0) THEN SQRT(3.0) ELSE 0.0 END)) + (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0))), 3)) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT log(FlightDelayMin) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT (log(FlightDelayMin)/log(10)) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT MAX(FlightDelayMin) AS usr_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT MIN(FlightDelayMin) AS usr_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT sum((case when dayOfWeek >= 0 or floor(2) = 2 then power(dayOfWeek,2) end)) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT radians(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT round(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT sign(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT sin(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT sqrt(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT power(dayOfWeek, 2) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT tan(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT SUM(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT ascii(substring(OriginWeather, 1, 5)) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT Dest, locate('air',Dest) FROM kibana_sample_data_flights -SELECT substring(OriginWeather, 1, 1024) AS OriginWeather FROM kibana_sample_data_flights WHERE (right(rtrim(lower(substring(OriginWeather, 1, 5))), length('.')) ='.') -SELECT sum(if(isnull(1), null, locate('Cape',Origin,greatest(1,floor(1))))) AS sum_Calculation_462181953493630977_ok FROM kibana_sample_data_flights -SELECT (case when 3 >= 0 then left(Origin,3) else null end) AS Calculation_462181953493630977 FROM kibana_sample_data_flights -SELECT length(Origin) AS Calculation_462181953493630977 FROM kibana_sample_data_flights -SELECT lower(Origin) AS Calculation_462181953493630977 FROM kibana_sample_data_flights -SELECT ltrim(Origin) AS Calculation_462181953493630977 FROM kibana_sample_data_flights -SELECT max(Origin) AS usr_Calculation_462181953493630977_nk FROM kibana_sample_data_flights -SELECT if(isnull(0), null, substring(Origin,greatest(1,floor(0)),floor(5))) AS Calculation_462181953493630977 FROM kibana_sample_data_flights -SELECT min(Origin) AS usr_Calculation_462181953493630977_nk FROM kibana_sample_data_flights -SELECT replace(Origin,'Airport','') AS Calculation_462181953493630977 FROM kibana_sample_data_flights -SELECT (case when 3 >= 0 then right(Origin,3) else null end) AS Calculation_462181953493630977 FROM kibana_sample_data_flights -SELECT rtrim(Origin) AS Calculation_462181953493630977 FROM kibana_sample_data_flights -SELECT if(AvgTicketPrice >= 0, space(floor(AvgTicketPrice)), null) AS Calculation_462181953493630977 FROM kibana_sample_data_flights -SELECT trim(leading '-' FROM trim(leading substring(Origin, '-', (2 - 1)) FROM substring_index(Origin, '-', 2))) AS Calculation_462181953493630977 FROM kibana_sample_data_flights -SELECT substring(OriginWeather, 1, 5) AS OriginWeather FROM kibana_sample_data_flights where (left(ltrim(lower(substring(OriginWeather, 1, 5))), length('$')) = '$') -SELECT trim(Origin) AS Calculation_462181953493630977 FROM kibana_sample_data_flights -SELECT upper(Origin) AS Calculation_462181953493630977 FROM kibana_sample_data_flights -SELECT adddate( date_format( date(timestamp), '%Y-01-01 00:00:00' ), interval 0 second ) AS tyr_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT year(date(timestamp)) AS yr_Calculation_462181953481519104_ok FROM kibana_sample_data_flights -SELECT year(timestamp(str_to_date('5.April.2004', '%d.%i.%Y'))) AS yr_Calculation_462181953481519104_ok FROM kibana_sample_data_flights -SELECT dayofmonth(timestamp) AS Calculation_462181953481519104 FROM kibana_sample_data_flights -SELECT 2019 AS yr_Calculation_462181953481519104_ok FROM kibana_sample_data_flights -SELECT max(timestamp) AS max_timestamp_ok FROM kibana_sample_data_flights -SELECT min(timestamp) AS max_timestamp_ok FROM kibana_sample_data_flights -SELECT month(timestamp) AS mn_timestamp_ok FROM kibana_sample_data_flights -SELECT year(now()) AS yr_Calculation_462181953481519104_ok FROM kibana_sample_data_flights -SELECT year(curdate()) AS yr_Calculation_462181953481519104_ok FROM kibana_sample_data_flights -SELECT year(timestamp) AS yr_timestamp_ok FROM kibana_sample_data_flights -SELECT ((Origin = 'Frankfurt am Main Airport') and (Dest = 'Sydney Kingsford Smith International Airport')) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT (case OriginWeather when 'Sunny' then '1' when 'Rain' then '0' else 'NA' end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT (case when (FlightDelay = 0) then 'No delay' else cast(null as char(1)) end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT (case when (FlightDelay = 0) then 'No delay' when (FlightDelay = 1) then 'Delay' else cast(null as char(1)) end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT (right(rtrim(Origin), length('Airport')) = 'Airport') AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT (case when (FlightDelay = 0) then 'No delay' else cast(null as char(1)) end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT ifnull(Cancelled, AvgTicketPrice) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT (case when (AvgTicketPrice > 500) THEN 'High' when not (AvgTicketPrice > 500) then 'Low' else null end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT (not isnull(date_format(Origin, '%Y'))) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT isnull(FlightNum) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT MAX(AvgTicketPrice) AS max_AvgTicketPrice_ok FROM kibana_sample_data_flights -SELECT MIN(AvgTicketPrice) AS min_AvgTicketPrice_ok FROM kibana_sample_data_flights -SELECT (not isnull(date_format(Origin, '%Y'))) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT ((Origin = 'Frankfurt am Main Airport') or (Dest = 'Sydney Kingsford Smith International Airport')) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT (case when (AvgTicketPrice > 500) THEN 'High' when not (AvgTicketPrice > 500) then 'Low' else null end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT (case when (AvgTicketPrice > 500) THEN 'High' when not (AvgTicketPrice > 500) then 'Low' else null end) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT ifnull(FlightDelay, 0) AS Calculation_462181953506873347 FROM kibana_sample_data_flights -SELECT min(Origin) AS temp(Calculation_462181953504628738)(2376748618)(0), max(Origin) AS temp(Calculation_462181953504628738)(2968235173)(0) FROM kibana_sample_data_flights -SELECT AVG(dayOfWeek) AS avg_dayOfWeek_ok FROM kibana_sample_data_flights -SELECT SUM(1) AS cnt_dayOfWeek_ok FROM kibana_sample_data_flights -SELECT COUNT(DISTINCT AvgTicketPrice) AS ctd_AvgTicketPrice_ok FROM kibana_sample_data_flights -SELECT MAX(AvgTicketPrice) AS max_AvgTicketPrice_ok FROM kibana_sample_data_flights -SELECT MIN(AvgTicketPrice) AS min_AvgTicketPrice_ok FROM kibana_sample_data_flights -SELECT sum((AvgTicketPrice * AvgTicketPrice)) AS temp(Calculation_462181953506873347)(1705728846)(0), sum(AvgTicketPrice) AS temp(Calculation_462181953506873347)(2465277995)(0), count(AvgTicketPrice) AS temp(Calculation_462181953506873347)(2633997250)(0) FROM kibana_sample_data_flights -SELECT count(DistanceMiles) AS temp(Calculation_462181953506873347)(2070533874)(0), sum(DistanceMiles) AS temp(Calculation_462181953506873347)(3496560911)(0), sum((DistanceMiles * DistanceMiles)) AS temp(Calculation_462181953506873347)(3595387140)(0) FROM kibana_sample_data_flights -SELECT SUM(dayOfWeek) AS usr_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT substring(OriginWeather, 1, 5) AS OriginWeather FROM kibana_sample_data_flights WHERE (substring(OriginWeather, 1, 5) = 'ABC') -SELECT sum((case when isnull(FlightDelayMin) then null when isnull(10) then null else greatest(FlightDelayMin, 10) end)) AS sum_Calculation_160722252357632000_ok FROM kibana_sample_data_flights -SELECT AvgTicketPrice AS AvgTicketPrice, Cancelled AS Cancelled, Carrier AS Carrier, DestAirportID AS DestAirportID, DestCityName AS DestCityName, DestCountry AS DestCountry, DestLocation AS DestLocation FROM kibana_sample_data_ecommerce INNER JOIN kibana_sample_data_flights ON (kibana_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000 -SELECT AvgTicketPrice AS AvgTicketPrice, Cancelled AS Cancelled, Carrier AS Carrier, DestAirportID AS DestAirportID, DestCityName AS DestCityName, DestCountry AS DestCountry, DestLocation AS DestLocation FROM kibana_sample_data_ecommerce LEFT JOIN kibana_sample_data_flights ON (kibana_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000 -SELECT AvgTicketPrice AS AvgTicketPrice, Cancelled AS Cancelled, Carrier AS Carrier, DestAirportID AS DestAirportID, DestCityName AS DestCityName, DestCountry AS DestCountry, DestLocation AS DestLocation FROM kibana_sample_data_ecommerce RIGHT JOIN kibana_sample_data_flights ON (kibana_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000 -SELECT OriginCityName FROM kibana_sample_data_flights ORDER BY OriginCityName ASC -SELECT OriginCityName FROM kibana_sample_data_flights ORDER BY OriginCityName DESC -SELECT DestCityName, SUM(AvgTicketPrice) AS $__alias__0 FROM kibana_sample_data_flights ORDER BY $__alias__0 DESC, DestCityName ASC LIMIT 10 -SELECT AvgTicketPrice AS AvgTicketPrice, Cancelled AS Cancelled, Carrier AS Carrier FROM kibana_sample_data_ecommerce INNER JOIN kibana_sample_data_flights ON (kibana_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000 -SELECT AvgTicketPrice AS AvgTicketPrice, Cancelled AS Cancelled, Carrier AS Carrier FROM kibana_sample_data_ecommerce LEFT JOIN kibana_sample_data_flights ON (kibana_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000 +SELECT SUBSTRING(`opensearch_dashboards_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) AS `sum_Offset_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`FlightDelay`) AS `sum_FlightDelay_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`DistanceMiles`) AS `sum_DistanceMiles_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT YEAR(`opensearch_dashboards_sample_data_flights`.`timestamp`) AS `yr_timestamp_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(ABS(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(ACOS(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252358221825_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(ASIN(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252358545410_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(ATAN(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252358811651_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(ATAN2(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`,`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`)) AS `sum_Calculation_160722252358811651_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(COS(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(COT(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(DEGREES(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM((`opensearch_dashboards_sample_data_flights`.`dayOfWeek` DIV `opensearch_dashboards_sample_data_flights`.`FlightDelayMin`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(EXP(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM((((CASE WHEN (ABS((`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN 1.5 ELSE 0.0 END) - (CASE WHEN ((`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0) < 0.0) AND ((CASE WHEN (ABS((`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) > 0.0) THEN 3.0 ELSE 0.0 END)) + (ROUND( ( (`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(ROUND( (((CASE WHEN (ABS((`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) - (CASE WHEN ((`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)) < 0.0) AND ((CASE WHEN (ABS((`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) - (ROUND( ( (`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) - (ROUND( ( (`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) > 0.0) THEN SQRT(3.0) ELSE 0.0 END)) + (ROUND( ( (`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) / SQRT(3.0) ), 0 ) * SQRT(3.0))), 3)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(LOG(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM((LOG(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)/LOG(10))) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MAX(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `usr_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MIN(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `usr_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM((CASE WHEN `opensearch_dashboards_sample_data_flights`.`dayOfWeek` >= 0 OR FLOOR(2) = 2 THEN POWER(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`,2) END)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(RADIANS(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(ROUND(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(SIGN(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(SIN(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(SQRT(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(POWER(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`, 2)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(TAN(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(ASCII(SUBSTRING(`opensearch_dashboards_sample_data_flights`.`OriginWeather`, 1, 1024))) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT `opensearch_dashboards_sample_data_flights`.`Dest` AS `Dest` FROM `opensearch_dashboards_sample_data_flights` WHERE ((`opensearch_dashboards_sample_data_flights`.`Dest` = 'caching_sha2_password') AND (LOCATE('in',LOWER(`opensearch_dashboards_sample_data_flights`.`Dest`)) > 0)) GROUP BY 1 +SELECT SUBSTRING(`opensearch_dashboards_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `opensearch_dashboards_sample_data_flights` WHERE (RIGHT(RTRIM(LOWER(SUBSTRING(`opensearch_dashboards_sample_data_flights`.`OriginWeather`, 1, 1024))), LENGTH('.')) = '.') GROUP BY 1 +SELECT SUM(IF(ISNULL(1), NULL, LOCATE('Cape',`opensearch_dashboards_sample_data_flights`.`Origin`,GREATEST(1,FLOOR(1))))) AS `sum_Calculation_462181953493630977_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (CASE WHEN 3 >= 0 THEN LEFT(`opensearch_dashboards_sample_data_flights`.`Origin`,3) ELSE NULL END) AS `Calculation_462181953493630977` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT LENGTH(`opensearch_dashboards_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT LOWER(`opensearch_dashboards_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT LTRIM(`opensearch_dashboards_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MAX(`opensearch_dashboards_sample_data_flights`.`Origin`) AS `usr_Calculation_462181953493630977_nk` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT IF(ISNULL(0), NULL, SUBSTRING(`opensearch_dashboards_sample_data_flights`.`Origin`,GREATEST(1,FLOOR(0)),FLOOR(5))) AS `Calculation_462181953493630977` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MIN(`opensearch_dashboards_sample_data_flights`.`Origin`) AS `usr_Calculation_462181953493630977_nk` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT REPLACE(`opensearch_dashboards_sample_data_flights`.`Origin`,'Airport','') AS `Calculation_462181953493630977` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (CASE WHEN 3 >= 0 THEN RIGHT(`opensearch_dashboards_sample_data_flights`.`Origin`,3) ELSE NULL END) AS `Calculation_462181953493630977` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT RTRIM(`opensearch_dashboards_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT IF(`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice` >= 0, SPACE(FLOOR(`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`)), NULL) AS `Calculation_462181953493630977` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT TRIM(LEADING '-' FROM TRIM(LEADING SUBSTRING_INDEX(`opensearch_dashboards_sample_data_flights`.`Origin`, '-', (2 - 1)) FROM SUBSTRING_INDEX(`opensearch_dashboards_sample_data_flights`.`Origin`, '-', 2))) AS `Calculation_462181953493630977` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUBSTRING(`opensearch_dashboards_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `opensearch_dashboards_sample_data_flights` WHERE (LEFT(LTRIM(LOWER(SUBSTRING(`opensearch_dashboards_sample_data_flights`.`OriginWeather`, 1, 1024))), LENGTH('$')) = '$') GROUP BY 1 +SELECT TRIM(`opensearch_dashboards_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT UPPER(`opensearch_dashboards_sample_data_flights`.`Origin`) AS `Calculation_462181953493630977` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT ADDDATE( DATE_FORMAT( DATE(`opensearch_dashboards_sample_data_flights`.`password_last_changed`), '%Y-01-01 00:00:00' ), INTERVAL 0 SECOND ) AS `tyr_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT YEAR(DATE(`opensearch_dashboards_sample_data_flights`.`timestamp`)) AS `yr_Calculation_462181953481519104_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (YEAR(`opensearch_dashboards_sample_data_flights`.`timestamp`) - YEAR(DATE('1990-01-01'))) AS `Calculation_1706301351891775489` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MONTHNAME(`opensearch_dashboards_sample_data_flights`.`timestamp`) AS `Calculation_1706301351891775489` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT YEAR(TIMESTAMP(STR_TO_DATE('5.April.2004', '%d.%i.%Y'))) AS `yr_Calculation_462181953481519104_ok` FROM `opensearch_dashboards_sample_data_flights` +SELECT YEAR(ADDDATE( CONCAT( DATE_FORMAT( `opensearch_dashboards_sample_data_flights`.`timestamp`, '%Y-' ), (3*(QUARTER(`opensearch_dashboards_sample_data_flights`.`timestamp`)-1)+1), '-01 00:00:00' ), INTERVAL 0 SECOND )) AS `yr_Calculation_1706301351891775489_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT DAYOFMONTH(`opensearch_dashboards_sample_data_flights`.`timestamp`) AS `Calculation_462181953481519104` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT 2019 AS `yr_Calculation_462181953481519104_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT YEAR(ADDTIME(CAST(CAST(`opensearch_dashboards_sample_data_flights`.`timestamp` AS DATE) AS DATETIME), TIME(`opensearch_dashboards_sample_data_flights`.`timestamp`))) AS `yr_Calculation_1706301351891775489_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT YEAR(MAKETIME(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`, `opensearch_dashboards_sample_data_flights`.`dayOfWeek`, `opensearch_dashboards_sample_data_flights`.`dayOfWeek`)) AS `yr_Calculation_1706301351891775489_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MAX(`opensearch_dashboards_sample_data_flights`.`timestamp`) AS `max_timestamp_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MIN(`opensearch_dashboards_sample_data_flights`.`timestamp`) AS `min_timestamp_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MONTH(`opensearch_dashboards_sample_data_flights`.`timestamp`) AS `mn_timestamp_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT YEAR(NOW()) AS `yr_Calculation_462181953481519104_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT YEAR(CURDATE()) AS `yr_Calculation_462181953481519104_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT YEAR(`opensearch_dashboards_sample_data_flights`.`timestamp`) AS `yr_timestamp_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT ((`opensearch_dashboards_sample_data_flights`.`Origin` = 'Frankfurt am Main Airport') AND (`opensearch_dashboards_sample_data_flights`.`Dest` = 'Sydney Kingsford Smith International Airport')) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (CASE `opensearch_dashboards_sample_data_flights`.`OriginWeather` WHEN 'Sunny' THEN '1' WHEN 'Rain' THEN '0' ELSE 'NA' END) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (CASE WHEN (`opensearch_dashboards_sample_data_flights`.`FlightDelay` = 0) THEN 'No delay' ELSE CAST(NULL AS CHAR(1)) END) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (CASE WHEN (`opensearch_dashboards_sample_data_flights`.`FlightDelay` = 0) THEN 'No delay' WHEN (`opensearch_dashboards_sample_data_flights`.`FlightDelay` = 1) THEN 'Delay' ELSE CAST(NULL AS CHAR(1)) END) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (RIGHT(RTRIM(`opensearch_dashboards_sample_data_flights`.`Origin`), LENGTH('Airport')) = 'Airport') AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (CASE WHEN (`opensearch_dashboards_sample_data_flights`.`FlightDelay` = 0) THEN 'No delay' ELSE CAST(NULL AS CHAR(1)) END) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT IFNULL(`opensearch_dashboards_sample_data_flights`.`Cancelled`, `opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (CASE WHEN (`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'High' WHEN NOT (`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'Low' ELSE NULL END) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (NOT ISNULL(DATE_FORMAT(`opensearch_dashboards_sample_data_flights`.`Origin`, '%Y'))) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT ISNULL(`opensearch_dashboards_sample_data_flights`.`FlightNum`) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MAX(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `max_max_questions_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MIN(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `min_max_questions_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (NOT ISNULL(DATE_FORMAT(`opensearch_dashboards_sample_data_flights`.`Origin`, '%Y'))) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT ((`opensearch_dashboards_sample_data_flights`.`Origin` = 'Frankfurt am Main Airport') OR (`opensearch_dashboards_sample_data_flights`.`Dest` = 'Sydney Kingsford Smith International Airport')) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (CASE WHEN (`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'High' WHEN NOT (`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'Low' ELSE NULL END) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT (CASE WHEN (`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'High' WHEN NOT (`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice` > 500) THEN 'Low' ELSE NULL END) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT IFNULL(`opensearch_dashboards_sample_data_flights`.`FlightDelay`, 0) AS `Calculation_462181953506873347` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MIN(`opensearch_dashboards_sample_data_flights`.`Origin`) AS `TEMP(Calculation_462181953504628738)(2376748618)(0)`, MAX(`opensearch_dashboards_sample_data_flights`.`Origin`) AS `TEMP(Calculation_462181953504628738)(2968235173)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT AVG(`opensearch_dashboards_sample_data_flights`.`FlightDelayMin`) AS `avg_max_user_connections_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(1) AS `cnt_max_user_connections_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MAX(`opensearch_dashboards_sample_data_flights`.`max_questions`) AS `max_max_questions_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MIN(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `min_max_questions_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM((`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice` * `opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`)) AS `TEMP(Calculation_462181953506873347)(1705728846)(0)`, SUM(`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(Calculation_462181953506873347)(2465277995)(0)`, COUNT(`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(Calculation_462181953506873347)(2633997250)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT COUNT(`opensearch_dashboards_sample_data_flights`.`DistanceMiles`) AS `TEMP(Calculation_462181953506873347)(2070533874)(0)`, SUM(`opensearch_dashboards_sample_data_flights`.`DistanceMiles`) AS `TEMP(Calculation_462181953506873347)(3496560911)(0)`, SUM((`opensearch_dashboards_sample_data_flights`.`DistanceMiles` * `opensearch_dashboards_sample_data_flights`.`DistanceMiles`)) AS `TEMP(Calculation_462181953506873347)(3595387140)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `usr_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `TEMP(Calculation_462181953506873347)(105357904)(0)`, COUNT(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `TEMP(Calculation_462181953506873347)(2584840543)(0)`, SUM(((`opensearch_dashboards_sample_data_flights`.`dayOfWeek` + 0.0) * (`opensearch_dashboards_sample_data_flights`.`dayOfWeek` + 0.0))) AS `TEMP(Calculation_462181953506873347)(3340567470)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`DistanceKilometers`) AS `TEMP(Calculation_462181953506873347)(1474522238)(0)`, COUNT(`opensearch_dashboards_sample_data_flights`.`DistanceKilometers`) AS `TEMP(Calculation_462181953506873347)(2841334535)(0)`, SUM((`opensearch_dashboards_sample_data_flights`.`DistanceKilometers` * `opensearch_dashboards_sample_data_flights`.`DistanceKilometers`)) AS `TEMP(Calculation_462181953506873347)(461715975)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUBSTRING(`opensearch_dashboards_sample_data_flights`.`OriginWeather`, 1, 1024) AS `OriginWeather` FROM `opensearch_dashboards_sample_data_flights` WHERE (SUBSTRING(`opensearch_dashboards_sample_data_flights`.`OriginWeather`, 1, 1024) = 'ABC') GROUP BY 1 +SELECT SUM((CASE \tWHEN ISNULL(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) THEN NULL \tWHEN ISNULL(10) THEN NULL \tELSE GREATEST(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`, 10) END)) AS `sum_Calculation_160722252357632000_ok` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT `opensearch_dashboards_sample_data_flights`.`AvgTicketPrice` AS `AvgTicketPrice`, `opensearch_dashboards_sample_data_flights`.`Cancelled` AS `Cancelled`, `opensearch_dashboards_sample_data_flights`.`Carrier` AS `Carrier`, `opensearch_dashboards_sample_data_flights`.`DestAirportID` AS `DestAirportID`, `opensearch_dashboards_sample_data_flights`.`DestCityName` AS `DestCityName`, `opensearch_dashboards_sample_data_flights`.`DestCountry` AS `DestCountry`, `opensearch_dashboards_sample_data_flights`.`DestLocation` AS `DestLocation`, `opensearch_dashboards_sample_data_flights`.`DestRegion` AS `Dest~~~<<>>~~~e`.`opensearch_dashboards_sample_data_flights` AS `opensearch_dashboards_sample_data_flights` FROM `opensearch_dashboards_sample_data_ecommerce` LEFT JOIN `opensearch_dashboards_sample_data_flights` ON (`opensearch_dashboards_sample_data_ecommerce`.`day_of_week_i` = `opensearch_dashboards_sample_data_flights`.`dayOfWeek`) LIMIT 1000 +SELECT `opensearch_dashboards_sample_data_flights`.`AvgTicketPrice` AS `AvgTicketPrice`, `opensearch_dashboards_sample_data_flights`.`Cancelled` AS `Cancelled`, `opensearch_dashboards_sample_data_flights`.`Carrier` AS `Carrier`, `opensearch_dashboards_sample_data_flights`.`DestAirportID` AS `DestAirportID`, `opensearch_dashboards_sample_data_flights`.`DestCityName` AS `DestCityName`, `opensearch_dashboards_sample_data_flights`.`DestCountry` AS `DestCountry`, `opensearch_dashboards_sample_data_flights`.`DestLocation` AS `DestLocation`, `opensearch_dashboards_sample_data_flights`.`DestRegion` AS `Dest~~~<<>>~~~`.`opensearch_dashboards_sample_data_flights` AS `opensearch_dashboards_sample_data_flights` FROM `opensearch_dashboards_sample_data_ecommerce` RIGHT JOIN `opensearch_dashboards_sample_data_flights` ON (`opensearch_dashboards_sample_data_ecommerce`.`day_of_week_i` = `opensearch_dashboards_sample_data_flights`.`dayOfWeek`) LIMIT 1000 +SELECT `opensearch_dashboards_sample_data_flights`.`OriginCityName` AS `OriginCityName` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 ORDER BY `OriginCityName` ASC +SELECT `opensearch_dashboards_sample_data_flights`.`OriginCityName` AS `OriginCityName` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 ORDER BY `OriginCityName` ASC +SELECT `opensearch_dashboards_sample_data_flights`.`DestCityName` AS `DestCityName`, SUM(`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`) AS `$__alias__0` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 ORDER BY `$__alias__0` DESC, `DestCityName` ASC LIMIT 10 +SELECT 'DESKTOP-7APIVOE\\\\Rupal' AS `Calculation_1122522251639717888` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT 0 AS `Calculation_1122522251639717888` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT 0 AS `Calculation_1122522251639717888` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT 1 AS `Calculation_1122522251639717888` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT 'DESKTOP-7APIVOE' AS `Calculation_1122522251639717888` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT 'ABC' AS `Calculation_1122522251639717888` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MAX(`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(3575797393)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `TEMP(TEMP(TC_)(4001152001)(0))(105357904)(0)`, COUNT(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `TEMP(TEMP(TC_)(4001152001)(0))(2584840543)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MIN(`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(2076389572)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TEMP(TC_)(4079199159)(0))(2465277995)(0)`, COUNT(`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TEMP(TC_)(4079199159)(0))(2633997250)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(2465277995)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT COUNT(`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(2633997250)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MAX(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `TEMP(TC_)(718966039)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT MIN(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `TEMP(TC_)(2462140059)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT SUM(`opensearch_dashboards_sample_data_flights`.`dayOfWeek`) AS `TEMP(TC_)(105357904)(0)`, SUM(`opensearch_dashboards_sample_data_flights`.`AvgTicketPrice`) AS `TEMP(TC_)(2465277995)(0)` FROM `opensearch_dashboards_sample_data_flights` GROUP BY 1 +SELECT 1 AS `empty` FROM `opensearch_dashboards_sample_data_flights` +SELECT substring(OriginWeather, 1, 2) AS OriginWeather FROM opensearch_dashboards_sample_data_flights +SELECT SUM(FlightDelayMin) AS sum_FlightDelayMin_ok FROM opensearch_dashboards_sample_data_flights +SELECT SUM(FlightDelay) AS sum_FlightDelay_ok FROM opensearch_dashboards_sample_data_flights +SELECT SUM(DistanceMiles) AS sum_DistanceMiles_ok FROM opensearch_dashboards_sample_data_flights +SELECT year(timestamp) AS yr_timestamp_ok FROM opensearch_dashboards_sample_data_flights +SELECT abs(AvgTicketPrice) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT acos(FlightDelayMin) AS sum_Calculation_160722252358221825_ok FROM opensearch_dashboards_sample_data_flights +SELECT asin(FlightDelayMin) AS sum_Calculation_160722252358545410_ok FROM opensearch_dashboards_sample_data_flights +SELECT atan(FlightDelayMin) AS sum_Calculation_160722252358811651_ok FROM opensearch_dashboards_sample_data_flights +SELECT atan2(FlightDelayMin,dayOfWeek) AS sum_Calculation_160722252358811651_ok FROM opensearch_dashboards_sample_data_flights +SELECT SUM(FlightDelayMin) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT cos(FlightDelayMin) AS sum_Calculation_160722252358221825_ok FROM opensearch_dashboards_sample_data_flights +SELECT cot(AvgTicketPrice) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT degrees(FlightDelayMin) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT FlightDelayMin div AvgTicketPrice AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT exp(FlightDelayMin) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT SUM(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT SUM((((CASE WHEN (ABS((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN 1.5 ELSE 0.0 END) - (CASE WHEN ((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0) < 0.0) AND ((CASE WHEN (ABS((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) > 0.0) THEN 3.0 ELSE 0.0 END)) + (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT SUM(ROUND( (((CASE WHEN (ABS((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) - (CASE WHEN ((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)) < 0.0) AND ((CASE WHEN (ABS((AvgTicketPrice) - (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0)))) + SQRT(3.0) * ((ABS((FlightDelayMin) - (ROUND( ( (FlightDelayMin) / 3.0 ), 0 ) * 3.0))) - 1.0) > 0.0 THEN SQRT(3.0) / 2.0 ELSE 0.0 END) > 0.0) THEN SQRT(3.0) ELSE 0.0 END)) + (ROUND( ( (AvgTicketPrice) / SQRT(3.0) ), 0 ) * SQRT(3.0))), 3)) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT log(FlightDelayMin) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT (log(FlightDelayMin)/log(10)) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT MAX(FlightDelayMin) AS usr_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT MIN(FlightDelayMin) AS usr_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT sum((case when dayOfWeek >= 0 or floor(2) = 2 then power(dayOfWeek,2) end)) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT radians(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT round(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT sign(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT sin(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT sqrt(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT power(dayOfWeek, 2) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT tan(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT SUM(dayOfWeek) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT ascii(substring(OriginWeather, 1, 5)) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT Dest, locate('air',Dest) FROM opensearch_dashboards_sample_data_flights +SELECT substring(OriginWeather, 1, 1024) AS OriginWeather FROM opensearch_dashboards_sample_data_flights WHERE (right(rtrim(lower(substring(OriginWeather, 1, 5))), length('.')) ='.') +SELECT sum(if(isnull(1), null, locate('Cape',Origin,greatest(1,floor(1))))) AS sum_Calculation_462181953493630977_ok FROM opensearch_dashboards_sample_data_flights +SELECT (case when 3 >= 0 then left(Origin,3) else null end) AS Calculation_462181953493630977 FROM opensearch_dashboards_sample_data_flights +SELECT length(Origin) AS Calculation_462181953493630977 FROM opensearch_dashboards_sample_data_flights +SELECT lower(Origin) AS Calculation_462181953493630977 FROM opensearch_dashboards_sample_data_flights +SELECT ltrim(Origin) AS Calculation_462181953493630977 FROM opensearch_dashboards_sample_data_flights +SELECT max(Origin) AS usr_Calculation_462181953493630977_nk FROM opensearch_dashboards_sample_data_flights +SELECT if(isnull(0), null, substring(Origin,greatest(1,floor(0)),floor(5))) AS Calculation_462181953493630977 FROM opensearch_dashboards_sample_data_flights +SELECT min(Origin) AS usr_Calculation_462181953493630977_nk FROM opensearch_dashboards_sample_data_flights +SELECT replace(Origin,'Airport','') AS Calculation_462181953493630977 FROM opensearch_dashboards_sample_data_flights +SELECT (case when 3 >= 0 then right(Origin,3) else null end) AS Calculation_462181953493630977 FROM opensearch_dashboards_sample_data_flights +SELECT rtrim(Origin) AS Calculation_462181953493630977 FROM opensearch_dashboards_sample_data_flights +SELECT if(AvgTicketPrice >= 0, space(floor(AvgTicketPrice)), null) AS Calculation_462181953493630977 FROM opensearch_dashboards_sample_data_flights +SELECT trim(leading '-' FROM trim(leading substring(Origin, '-', (2 - 1)) FROM substring_index(Origin, '-', 2))) AS Calculation_462181953493630977 FROM opensearch_dashboards_sample_data_flights +SELECT substring(OriginWeather, 1, 5) AS OriginWeather FROM opensearch_dashboards_sample_data_flights where (left(ltrim(lower(substring(OriginWeather, 1, 5))), length('$')) = '$') +SELECT trim(Origin) AS Calculation_462181953493630977 FROM opensearch_dashboards_sample_data_flights +SELECT upper(Origin) AS Calculation_462181953493630977 FROM opensearch_dashboards_sample_data_flights +SELECT adddate( date_format( date(timestamp), '%Y-01-01 00:00:00' ), interval 0 second ) AS tyr_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT year(date(timestamp)) AS yr_Calculation_462181953481519104_ok FROM opensearch_dashboards_sample_data_flights +SELECT year(timestamp(str_to_date('5.April.2004', '%d.%i.%Y'))) AS yr_Calculation_462181953481519104_ok FROM opensearch_dashboards_sample_data_flights +SELECT dayofmonth(timestamp) AS Calculation_462181953481519104 FROM opensearch_dashboards_sample_data_flights +SELECT 2019 AS yr_Calculation_462181953481519104_ok FROM opensearch_dashboards_sample_data_flights +SELECT max(timestamp) AS max_timestamp_ok FROM opensearch_dashboards_sample_data_flights +SELECT min(timestamp) AS max_timestamp_ok FROM opensearch_dashboards_sample_data_flights +SELECT month(timestamp) AS mn_timestamp_ok FROM opensearch_dashboards_sample_data_flights +SELECT year(now()) AS yr_Calculation_462181953481519104_ok FROM opensearch_dashboards_sample_data_flights +SELECT year(curdate()) AS yr_Calculation_462181953481519104_ok FROM opensearch_dashboards_sample_data_flights +SELECT year(timestamp) AS yr_timestamp_ok FROM opensearch_dashboards_sample_data_flights +SELECT ((Origin = 'Frankfurt am Main Airport') and (Dest = 'Sydney Kingsford Smith International Airport')) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT (case OriginWeather when 'Sunny' then '1' when 'Rain' then '0' else 'NA' end) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT (case when (FlightDelay = 0) then 'No delay' else cast(null as char(1)) end) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT (case when (FlightDelay = 0) then 'No delay' when (FlightDelay = 1) then 'Delay' else cast(null as char(1)) end) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT (right(rtrim(Origin), length('Airport')) = 'Airport') AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT (case when (FlightDelay = 0) then 'No delay' else cast(null as char(1)) end) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT ifnull(Cancelled, AvgTicketPrice) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT (case when (AvgTicketPrice > 500) THEN 'High' when not (AvgTicketPrice > 500) then 'Low' else null end) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT (not isnull(date_format(Origin, '%Y'))) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT isnull(FlightNum) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT MAX(AvgTicketPrice) AS max_AvgTicketPrice_ok FROM opensearch_dashboards_sample_data_flights +SELECT MIN(AvgTicketPrice) AS min_AvgTicketPrice_ok FROM opensearch_dashboards_sample_data_flights +SELECT (not isnull(date_format(Origin, '%Y'))) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT ((Origin = 'Frankfurt am Main Airport') or (Dest = 'Sydney Kingsford Smith International Airport')) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT (case when (AvgTicketPrice > 500) THEN 'High' when not (AvgTicketPrice > 500) then 'Low' else null end) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT (case when (AvgTicketPrice > 500) THEN 'High' when not (AvgTicketPrice > 500) then 'Low' else null end) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT ifnull(FlightDelay, 0) AS Calculation_462181953506873347 FROM opensearch_dashboards_sample_data_flights +SELECT min(Origin) AS temp(Calculation_462181953504628738)(2376748618)(0), max(Origin) AS temp(Calculation_462181953504628738)(2968235173)(0) FROM opensearch_dashboards_sample_data_flights +SELECT AVG(dayOfWeek) AS avg_dayOfWeek_ok FROM opensearch_dashboards_sample_data_flights +SELECT SUM(1) AS cnt_dayOfWeek_ok FROM opensearch_dashboards_sample_data_flights +SELECT COUNT(DISTINCT AvgTicketPrice) AS ctd_AvgTicketPrice_ok FROM opensearch_dashboards_sample_data_flights +SELECT MAX(AvgTicketPrice) AS max_AvgTicketPrice_ok FROM opensearch_dashboards_sample_data_flights +SELECT MIN(AvgTicketPrice) AS min_AvgTicketPrice_ok FROM opensearch_dashboards_sample_data_flights +SELECT sum((AvgTicketPrice * AvgTicketPrice)) AS temp(Calculation_462181953506873347)(1705728846)(0), sum(AvgTicketPrice) AS temp(Calculation_462181953506873347)(2465277995)(0), count(AvgTicketPrice) AS temp(Calculation_462181953506873347)(2633997250)(0) FROM opensearch_dashboards_sample_data_flights +SELECT count(DistanceMiles) AS temp(Calculation_462181953506873347)(2070533874)(0), sum(DistanceMiles) AS temp(Calculation_462181953506873347)(3496560911)(0), sum((DistanceMiles * DistanceMiles)) AS temp(Calculation_462181953506873347)(3595387140)(0) FROM opensearch_dashboards_sample_data_flights +SELECT SUM(dayOfWeek) AS usr_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT substring(OriginWeather, 1, 5) AS OriginWeather FROM opensearch_dashboards_sample_data_flights WHERE (substring(OriginWeather, 1, 5) = 'ABC') +SELECT sum((case when isnull(FlightDelayMin) then null when isnull(10) then null else greatest(FlightDelayMin, 10) end)) AS sum_Calculation_160722252357632000_ok FROM opensearch_dashboards_sample_data_flights +SELECT AvgTicketPrice AS AvgTicketPrice, Cancelled AS Cancelled, Carrier AS Carrier, DestAirportID AS DestAirportID, DestCityName AS DestCityName, DestCountry AS DestCountry, DestLocation AS DestLocation FROM opensearch_dashboards_sample_data_ecommerce INNER JOIN opensearch_dashboards_sample_data_flights ON (opensearch_dashboards_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000 +SELECT AvgTicketPrice AS AvgTicketPrice, Cancelled AS Cancelled, Carrier AS Carrier, DestAirportID AS DestAirportID, DestCityName AS DestCityName, DestCountry AS DestCountry, DestLocation AS DestLocation FROM opensearch_dashboards_sample_data_ecommerce LEFT JOIN opensearch_dashboards_sample_data_flights ON (opensearch_dashboards_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000 +SELECT AvgTicketPrice AS AvgTicketPrice, Cancelled AS Cancelled, Carrier AS Carrier, DestAirportID AS DestAirportID, DestCityName AS DestCityName, DestCountry AS DestCountry, DestLocation AS DestLocation FROM opensearch_dashboards_sample_data_ecommerce RIGHT JOIN opensearch_dashboards_sample_data_flights ON (opensearch_dashboards_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000 +SELECT OriginCityName FROM opensearch_dashboards_sample_data_flights ORDER BY OriginCityName ASC +SELECT OriginCityName FROM opensearch_dashboards_sample_data_flights ORDER BY OriginCityName DESC +SELECT DestCityName, SUM(AvgTicketPrice) AS $__alias__0 FROM opensearch_dashboards_sample_data_flights ORDER BY $__alias__0 DESC, DestCityName ASC LIMIT 10 +SELECT AvgTicketPrice AS AvgTicketPrice, Cancelled AS Cancelled, Carrier AS Carrier FROM opensearch_dashboards_sample_data_ecommerce INNER JOIN opensearch_dashboards_sample_data_flights ON (opensearch_dashboards_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000 +SELECT AvgTicketPrice AS AvgTicketPrice, Cancelled AS Cancelled, Carrier AS Carrier FROM opensearch_dashboards_sample_data_ecommerce LEFT JOIN opensearch_dashboards_sample_data_flights ON (opensearch_dashboards_sample_data_ecommerce.day_of_week_i = dayOfWeek) LIMIT 1000 diff --git a/integ-test/src/test/resources/doctest/templates/admin/settings.rst b/integ-test/src/test/resources/doctest/templates/admin/settings.rst index acdfca7b844..141957e457f 100644 --- a/integ-test/src/test/resources/doctest/templates/admin/settings.rst +++ b/integ-test/src/test/resources/doctest/templates/admin/settings.rst @@ -14,6 +14,6 @@ Plugin Settings Introduction ============ -When Elasticsearch bootstraps, SQL plugin will register a few settings in Elasticsearch cluster settings. Most of the settings are able to change dynamically so you can control the behavior of SQL plugin without need to bounce your cluster. +When OpenSearch bootstraps, SQL plugin will register a few settings in OpenSearch cluster settings. Most of the settings are able to change dynamically so you can control the behavior of SQL plugin without need to bounce your cluster. diff --git a/integ-test/src/test/resources/doctest/templates/beyond/fulltext.rst b/integ-test/src/test/resources/doctest/templates/beyond/fulltext.rst index c7fc3e10f96..8e65d1db1fb 100644 --- a/integ-test/src/test/resources/doctest/templates/beyond/fulltext.rst +++ b/integ-test/src/test/resources/doctest/templates/beyond/fulltext.rst @@ -12,5 +12,5 @@ Full-text Search Introduction ============ -Full-text search is for searching a single stored document which is distinguished from regular search based on original texts in database. It tries to match search criteria by examining all of the words in each document. In Elasticsearch, full-text queries provided enables you to search text fields analyzed during indexing. +Full-text search is for searching a single stored document which is distinguished from regular search based on original texts in database. It tries to match search criteria by examining all of the words in each document. In OpenSearch, full-text queries provided enables you to search text fields analyzed during indexing. diff --git a/integ-test/src/test/resources/doctest/templates/dql/basics.rst b/integ-test/src/test/resources/doctest/templates/dql/basics.rst index 4c8877d20a5..c263efaf308 100644 --- a/integ-test/src/test/resources/doctest/templates/dql/basics.rst +++ b/integ-test/src/test/resources/doctest/templates/dql/basics.rst @@ -13,7 +13,7 @@ Basic Queries Introduction ============ -``SELECT`` statement in SQL is the most common query that retrieves data from Elasticsearch index. In this doc, only simple ``SELECT`` statement with single index and query involved is covered. A ``SELECT`` statement includes ``SELECT``, ``FROM``, ``WHERE``, ``GROUP BY``, ``HAVING``, ``ORDER BY`` and ``LIMIT`` clause. Among these clauses, ``SELECT`` and ``FROM`` are the foundation to specify which fields to be fetched and which index they should be fetched from. All others are optional and used according to your needs. Please read on for their description, syntax and use cases in details. +``SELECT`` statement in SQL is the most common query that retrieves data from OpenSearch index. In this doc, only simple ``SELECT`` statement with single index and query involved is covered. A ``SELECT`` statement includes ``SELECT``, ``FROM``, ``WHERE``, ``GROUP BY``, ``HAVING``, ``ORDER BY`` and ``LIMIT`` clause. Among these clauses, ``SELECT`` and ``FROM`` are the foundation to specify which fields to be fetched and which index they should be fetched from. All others are optional and used according to your needs. Please read on for their description, syntax and use cases in details. Syntax ------ @@ -33,7 +33,7 @@ Although multiple query statements to execute in batch is not supported, ending Fundamentals ------------ -Apart from predefined keyword of SQL language, the most basic element is literal and identifier. Literal is numeric, string, date or boolean constant. Identifier represents Elasticsearch index or field name. With arithmetic operators and SQL functions applied, the basic literals and identifiers can be built into complex expression. +Apart from predefined keyword of SQL language, the most basic element is literal and identifier. Literal is numeric, string, date or boolean constant. Identifier represents OpenSearch index or field name. With arithmetic operators and SQL functions applied, the basic literals and identifiers can be built into complex expression. Rule ``expressionAtom``: diff --git a/integ-test/src/test/resources/doctest/templates/dql/complex.rst b/integ-test/src/test/resources/doctest/templates/dql/complex.rst index f184e0ae587..1fd34dd9357 100644 --- a/integ-test/src/test/resources/doctest/templates/dql/complex.rst +++ b/integ-test/src/test/resources/doctest/templates/dql/complex.rst @@ -9,5 +9,5 @@ Complex Queries :local: :depth: 2 -Besides simple SFW queries (SELECT-FROM-WHERE), there is also support for complex queries such as Subquery, ``JOIN``, ``UNION`` and ``MINUS``. For these queries, more than one Elasticsearch index and DSL query is involved. You can check out how they are performed behind the scene by our explain API. +Besides simple SFW queries (SELECT-FROM-WHERE), there is also support for complex queries such as Subquery, ``JOIN``, ``UNION`` and ``MINUS``. For these queries, more than one OpenSearch index and DSL query is involved. You can check out how they are performed behind the scene by our explain API. diff --git a/integ-test/src/test/resources/elasticsearch.yml b/integ-test/src/test/resources/elasticsearch.yml deleted file mode 100644 index 21403f64edd..00000000000 --- a/integ-test/src/test/resources/elasticsearch.yml +++ /dev/null @@ -1,3 +0,0 @@ -script.max_compilations_rate: 100/1m -path.data: /var/lib/elasticsearch -path.logs: /var/log/elasticsearch diff --git a/integ-test/src/test/resources/expectedOutput/ppl/explain_filter_agg_push.json b/integ-test/src/test/resources/expectedOutput/ppl/explain_filter_agg_push.json index 5423154ad4b..23c79ac0774 100644 --- a/integ-test/src/test/resources/expectedOutput/ppl/explain_filter_agg_push.json +++ b/integ-test/src/test/resources/expectedOutput/ppl/explain_filter_agg_push.json @@ -6,9 +6,9 @@ }, "children": [ { - "name": "ElasticsearchIndexScan", + "name": "OpenSearchIndexScan", "description": { - "request": "ElasticsearchQueryRequest(indexName\u003delasticsearch-sql_test_index_account, sourceBuilder\u003d{\"from\":0,\"size\":0,\"timeout\":\"1m\",\"query\":{\"range\":{\"age\":{\"from\":30,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}},\"sort\":[{\"_doc\":{\"order\":\"asc\"}}],\"aggregations\":{\"composite_buckets\":{\"composite\":{\"size\":1000,\"sources\":[{\"state\":{\"terms\":{\"field\":\"state.keyword\",\"missing_bucket\":true,\"order\":\"asc\"}}},{\"city\":{\"terms\":{\"field\":\"city.keyword\",\"missing_bucket\":true,\"order\":\"asc\"}}}]},\"aggregations\":{\"avg_age\":{\"avg\":{\"field\":\"age\"}}}}}}, searchDone\u003dfalse)" + "request": "OpenSearchQueryRequest(indexName\u003dopensearch-sql_test_index_account, sourceBuilder\u003d{\"from\":0,\"size\":0,\"timeout\":\"1m\",\"query\":{\"range\":{\"age\":{\"from\":30,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}},\"sort\":[{\"_doc\":{\"order\":\"asc\"}}],\"aggregations\":{\"composite_buckets\":{\"composite\":{\"size\":1000,\"sources\":[{\"state\":{\"terms\":{\"field\":\"state.keyword\",\"missing_bucket\":true,\"order\":\"asc\"}}},{\"city\":{\"terms\":{\"field\":\"city.keyword\",\"missing_bucket\":true,\"order\":\"asc\"}}}]},\"aggregations\":{\"avg_age\":{\"avg\":{\"field\":\"age\"}}}}}}, searchDone\u003dfalse)" }, "children": [] } diff --git a/integ-test/src/test/resources/expectedOutput/ppl/explain_filter_push.json b/integ-test/src/test/resources/expectedOutput/ppl/explain_filter_push.json index 1e5b36322bb..0e7087aa1ff 100644 --- a/integ-test/src/test/resources/expectedOutput/ppl/explain_filter_push.json +++ b/integ-test/src/test/resources/expectedOutput/ppl/explain_filter_push.json @@ -6,9 +6,9 @@ }, "children": [ { - "name": "ElasticsearchIndexScan", + "name": "OpenSearchIndexScan", "description": { - "request": "ElasticsearchQueryRequest(indexName\u003delasticsearch-sql_test_index_account, sourceBuilder\u003d{\"from\":0,\"size\":10000,\"timeout\":\"1m\",\"query\":{\"bool\":{\"filter\":[{\"bool\":{\"filter\":[{\"range\":{\"balance\":{\"from\":10000,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}},{\"range\":{\"age\":{\"from\":null,\"to\":40,\"include_lower\":true,\"include_upper\":false,\"boost\":1.0}}}],\"adjust_pure_negative\":true,\"boost\":1.0}},{\"range\":{\"age\":{\"from\":30,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}}],\"adjust_pure_negative\":true,\"boost\":1.0}},\"_source\":{\"includes\":[\"age\"],\"excludes\":[]},\"sort\":[{\"_doc\":{\"order\":\"asc\"}}]}, searchDone\u003dfalse)" + "request": "OpenSearchQueryRequest(indexName\u003dopensearch-sql_test_index_account, sourceBuilder\u003d{\"from\":0,\"size\":10000,\"timeout\":\"1m\",\"query\":{\"bool\":{\"filter\":[{\"bool\":{\"filter\":[{\"range\":{\"balance\":{\"from\":10000,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}},{\"range\":{\"age\":{\"from\":null,\"to\":40,\"include_lower\":true,\"include_upper\":false,\"boost\":1.0}}}],\"adjust_pure_negative\":true,\"boost\":1.0}},{\"range\":{\"age\":{\"from\":30,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}}],\"adjust_pure_negative\":true,\"boost\":1.0}},\"_source\":{\"includes\":[\"age\"],\"excludes\":[]},\"sort\":[{\"_doc\":{\"order\":\"asc\"}}]}, searchDone\u003dfalse)" }, "children": [] } diff --git a/integ-test/src/test/resources/expectedOutput/ppl/explain_output.json b/integ-test/src/test/resources/expectedOutput/ppl/explain_output.json index 43e577fbf58..93a864beda2 100644 --- a/integ-test/src/test/resources/expectedOutput/ppl/explain_output.json +++ b/integ-test/src/test/resources/expectedOutput/ppl/explain_output.json @@ -29,9 +29,9 @@ }, "children": [ { - "name": "ElasticsearchIndexScan", + "name": "OpenSearchIndexScan", "description": { - "request": "ElasticsearchQueryRequest(indexName\u003delasticsearch-sql_test_index_account, sourceBuilder\u003d{\"from\":0,\"size\":0,\"timeout\":\"1m\",\"query\":{\"range\":{\"age\":{\"from\":30,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}},\"sort\":[{\"_doc\":{\"order\":\"asc\"}}],\"aggregations\":{\"composite_buckets\":{\"composite\":{\"size\":1000,\"sources\":[{\"state\":{\"terms\":{\"field\":\"state.keyword\",\"missing_bucket\":true,\"order\":\"asc\"}}},{\"city\":{\"terms\":{\"field\":\"city.keyword\",\"missing_bucket\":true,\"order\":\"asc\"}}}]},\"aggregations\":{\"avg_age\":{\"avg\":{\"field\":\"age\"}}}}}}, searchDone\u003dfalse)" + "request": "OpenSearchQueryRequest(indexName\u003dopensearch-sql_test_index_account, sourceBuilder\u003d{\"from\":0,\"size\":0,\"timeout\":\"1m\",\"query\":{\"range\":{\"age\":{\"from\":30,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}},\"sort\":[{\"_doc\":{\"order\":\"asc\"}}],\"aggregations\":{\"composite_buckets\":{\"composite\":{\"size\":1000,\"sources\":[{\"state\":{\"terms\":{\"field\":\"state.keyword\",\"missing_bucket\":true,\"order\":\"asc\"}}},{\"city\":{\"terms\":{\"field\":\"city.keyword\",\"missing_bucket\":true,\"order\":\"asc\"}}}]},\"aggregations\":{\"avg_age\":{\"avg\":{\"field\":\"age\"}}}}}}, searchDone\u003dfalse)" }, "children": [] } diff --git a/integ-test/src/test/resources/expectedOutput/ppl/explain_sort_push.json b/integ-test/src/test/resources/expectedOutput/ppl/explain_sort_push.json index 1d62ac9f91a..af2a57e5363 100644 --- a/integ-test/src/test/resources/expectedOutput/ppl/explain_sort_push.json +++ b/integ-test/src/test/resources/expectedOutput/ppl/explain_sort_push.json @@ -6,9 +6,9 @@ }, "children": [ { - "name": "ElasticsearchIndexScan", + "name": "OpenSearchIndexScan", "description": { - "request": "ElasticsearchQueryRequest(indexName\u003delasticsearch-sql_test_index_account, sourceBuilder\u003d{\"from\":0,\"size\":10000,\"timeout\":\"1m\",\"query\":{\"range\":{\"age\":{\"from\":30,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}},\"_source\":{\"includes\":[\"age\"],\"excludes\":[]},\"sort\":[{\"age\":{\"order\":\"asc\",\"missing\":\"_first\"}}]}, searchDone\u003dfalse)" + "request": "OpenSearchQueryRequest(indexName\u003dopensearch-sql_test_index_account, sourceBuilder\u003d{\"from\":0,\"size\":10000,\"timeout\":\"1m\",\"query\":{\"range\":{\"age\":{\"from\":30,\"to\":null,\"include_lower\":false,\"include_upper\":true,\"boost\":1.0}}},\"_source\":{\"includes\":[\"age\"],\"excludes\":[]},\"sort\":[{\"age\":{\"order\":\"asc\",\"missing\":\"_first\"}}]}, searchDone\u003dfalse)" }, "children": [] } diff --git a/integ-test/src/test/resources/expectedOutput/sql/explain_show.json b/integ-test/src/test/resources/expectedOutput/sql/explain_show.json index 34360352f8e..6dd83b85bef 100644 --- a/integ-test/src/test/resources/expectedOutput/sql/explain_show.json +++ b/integ-test/src/test/resources/expectedOutput/sql/explain_show.json @@ -12,9 +12,9 @@ }, "children": [ { - "name": "ElasticsearchSystemIndexScan", + "name": "OpenSearchSystemIndexScan", "description": { - "request": "ElasticsearchCatIndicesRequest{}" + "request": "OpenSearchCatIndicesRequest{}" }, "children": [] } diff --git a/legacy/build.gradle b/legacy/build.gradle index 4ffc84ce1cf..157d1847165 100644 --- a/legacy/build.gradle +++ b/legacy/build.gradle @@ -4,12 +4,6 @@ plugins { id 'antlr' } -version '1.8.0.0' - -repositories { - mavenCentral() -} - generateGrammarSource { arguments += ['-visitor', '-package', 'com.amazon.opendistroforelasticsearch.sql.legacy.antlr.parser'] source = sourceSets.main.antlr @@ -45,7 +39,7 @@ compileTestJava { } } -// TODO: Need to update integration test to use ElasticSearch test framework +// TODO: Need to update integration test to use OpenSearch test framework test { include '**/*Test.class' exclude 'com/amazon/opendistroforelasticsearch/sql/intgtest/**' @@ -63,8 +57,8 @@ test { dependencies { compile group: 'com.alibaba', name: 'druid', version:'1.0.15' compile group: 'org.locationtech.spatial4j', name: 'spatial4j', version:'0.7' - compile group: "org.elasticsearch.plugin", name: 'parent-join-client', version: "${es_version}" - compile group: "org.elasticsearch.plugin", name: 'reindex-client', version: "${es_version}" + compile group: "org.opensearch.plugin", name: 'parent-join-client', version: "${es_version}" + compile group: "org.opensearch.plugin", name: 'reindex-client', version: "${es_version}" constraints { implementation('commons-codec:commons-codec:1.13') { because 'https://www.whitesourcesoftware.com/vulnerability-database/WS-2019-0379' @@ -74,28 +68,19 @@ dependencies { implementation group: 'com.google.guava', name: 'guava', version: '29.0-jre' compile group: 'org.json', name: 'json', version:'20180813' compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.10' - compile group: 'org.elasticsearch', name: 'elasticsearch', version: "${es_version}" + compile group: 'org.opensearch', name: 'opensearch', version: "${es_version}" compile project(':sql') compile project(':common') - compile project(':elasticsearch') + compile project(':opensearch') // ANTLR gradle plugin and runtime dependency antlr "org.antlr:antlr4:4.7.1" compile "org.antlr:antlr4-runtime:4.7.1" - - //compileOnly group: 'org.locationtech.jts', name: 'jts-core', version:'1.15.0' - // compileOnly group: 'org.elasticsearch', name: 'elasticsearch', version:'6.5.3' - // compileOnly group: 'com.unboundid', name: 'unboundid-ldapsdk', version:'3.2.0' - // compileOnly group: 'org.bouncycastle', name: 'bcprov-jdk15on', version:'1.58' - // compileOnly group: 'log4j', name: 'log4j', version:'1.2.17' - // compileOnly group: 'org.apache.logging.log4j', name: 'log4j-api', version:'2.7' - // compileOnly group: 'org.apache.logging.log4j', name: 'log4j-core', version:'2.7' compileOnly group: 'javax.servlet', name: 'servlet-api', version:'2.5' testCompile group: 'org.hamcrest', name: 'hamcrest-core', version:'2.2' - // testCompile group: 'com.alibaba', name: 'fastjson', version:'1.2.56' testCompile group: 'org.mockito', name: 'mockito-core', version:'3.5.0' testCompile group: 'junit', name: 'junit', version: '4.12' - testCompile group: "org.elasticsearch.client", name: 'transport', version: "${es_version}" + testCompile group: "org.opensearch.client", name: 'transport', version: "${es_version}" } diff --git a/legacy/src/assembly/zip.xml b/legacy/src/assembly/zip.xml deleted file mode 100644 index 85bbf942d99..00000000000 --- a/legacy/src/assembly/zip.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - -bin - - zip - -false - - - ${project.build.directory} - / - - *.jar - plugin-descriptor.properties - - - - \ No newline at end of file diff --git a/legacy/src/main/antlr/OpenDistroSqlParser.g4 b/legacy/src/main/antlr/OpenDistroSqlParser.g4 index 61148a695ce..07fec556e46 100644 --- a/legacy/src/main/antlr/OpenDistroSqlParser.g4 +++ b/legacy/src/main/antlr/OpenDistroSqlParser.g4 @@ -466,7 +466,7 @@ keywordsCanBeId ; functionNameBase - : esFunctionNameBase + : openSearchFunctionNameBase | ABS | ACOS | ADD | ASCII | ASIN | ATAN | ATAN2 | CBRT | CEIL | CONCAT | CONCAT_WS | COS | COSH | COT | CURDATE | DATE | DATE_FORMAT | DAYOFMONTH | DEGREES | E | EXP | EXPM1 | FLOOR | IF | IFNULL | ISNULL | LEFT | LENGTH | LN | LOCATE | LOG @@ -476,7 +476,7 @@ functionNameBase | UPPER | YEAR | ADDDATE | ADDTIME | GREATEST | LEAST | STRCMP ; -esFunctionNameBase +openSearchFunctionNameBase : DATE_HISTOGRAM | DAY_OF_MONTH | DAY_OF_YEAR | DAY_OF_WEEK | EXCLUDE | EXTENDED_STATS | FILTER | GEO_BOUNDING_BOX | GEO_CELL | GEO_DISTANCE | GEO_DISTANCE_RANGE | GEO_INTERSECTS | GEO_POLYGON | INCLUDE | IN_TERMS | HISTOGRAM | HOUR_OF_DAY diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/OpenDistroSqlAnalyzer.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/OpenDistroSqlAnalyzer.java index 2e71de2dffa..0a26fc9afa4 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/OpenDistroSqlAnalyzer.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/OpenDistroSqlAnalyzer.java @@ -19,7 +19,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.parser.OpenDistroSqlParser; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.scope.SemanticContext; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.Type; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.visitor.ESMappingLoader; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.visitor.OpenSearchMappingLoader; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.visitor.SemanticAnalyzer; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.visitor.TypeChecker; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.syntax.CaseInsensitiveCharStream; @@ -92,7 +92,8 @@ public Type analyzeSemantic(ParseTree tree, LocalClusterState clusterState) { /** Factory method for semantic analyzer to help assemble all required components together */ private SemanticAnalyzer createAnalyzer(LocalClusterState clusterState) { SemanticContext context = new SemanticContext(); - ESMappingLoader mappingLoader = new ESMappingLoader(context, clusterState, config.getAnalysisThreshold()); + OpenSearchMappingLoader + mappingLoader = new OpenSearchMappingLoader(context, clusterState, config.getAnalysisThreshold()); TypeChecker typeChecker = new TypeChecker(context, config.isFieldSuggestionEnabled()); return new SemanticAnalyzer(mappingLoader, typeChecker); } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/Type.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/Type.java index 045d82091b9..03618302251 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/Type.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/Type.java @@ -22,8 +22,8 @@ import java.util.List; import java.util.stream.Collectors; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.TYPE_ERROR; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.UNKNOWN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.TYPE_ERROR; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.UNKNOWN; /** * Type interface which represents any type of symbol in the SQL. diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/TypeExpression.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/TypeExpression.java index 263d3906617..43ebe1abca8 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/TypeExpression.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/TypeExpression.java @@ -23,8 +23,8 @@ import java.util.function.Function; import java.util.stream.Collectors; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.TYPE_ERROR; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.UNKNOWN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.TYPE_ERROR; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.UNKNOWN; /** * Type expression representing specification(s) of constructor such as function, operator etc. diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/base/ESDataType.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/base/OpenSearchDataType.java similarity index 76% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/base/ESDataType.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/base/OpenSearchDataType.java index 8550d02d942..b6cb1c169d4 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/base/ESDataType.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/base/OpenSearchDataType.java @@ -20,13 +20,13 @@ import java.util.Map; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex.IndexType.NESTED_FIELD; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex.IndexType.NESTED_FIELD; import static com.amazon.opendistroforelasticsearch.sql.legacy.utils.StringUtils.toUpper; /** - * Base type hierarchy based on Elasticsearch data type + * Base type hierarchy based on OpenSearch data type */ -public enum ESDataType implements BaseType { +public enum OpenSearchDataType implements BaseType { TYPE_ERROR, UNKNOWN, @@ -51,7 +51,7 @@ public enum ESDataType implements BaseType { GEO_POINT, - ES_TYPE( + OPENSEARCH_TYPE( NUMBER, //STRING, move to under DATE because DATE is compatible DATE, @@ -66,24 +66,24 @@ public enum ESDataType implements BaseType { * And Java doesn't provide a contains method. * So this static map is necessary for check and efficiency. */ - private static final Map ALL_BASE_TYPES; + private static final Map ALL_BASE_TYPES; static { - ImmutableMap.Builder builder = new ImmutableMap.Builder<>(); - for (ESDataType type : ESDataType.values()) { + ImmutableMap.Builder builder = new ImmutableMap.Builder<>(); + for (OpenSearchDataType type : OpenSearchDataType.values()) { builder.put(type.name(), type); } ALL_BASE_TYPES = builder.build(); } - public static ESDataType typeOf(String str) { + public static OpenSearchDataType typeOf(String str) { return ALL_BASE_TYPES.getOrDefault(toUpper(str), UNKNOWN); } /** Parent of current base type */ - private ESDataType parent; + private OpenSearchDataType parent; - ESDataType(ESDataType... compatibleTypes) { - for (ESDataType subType : compatibleTypes) { + OpenSearchDataType(OpenSearchDataType... compatibleTypes) { + for (OpenSearchDataType subType : compatibleTypes) { subType.parent = this; } } @@ -104,16 +104,16 @@ public boolean isCompatible(Type other) { return true; } - if (!(other instanceof ESDataType)) { + if (!(other instanceof OpenSearchDataType)) { // Nested data type is compatible with nested index type for type expression use - if (other instanceof ESIndex && ((ESIndex) other).type() == NESTED_FIELD) { + if (other instanceof OpenSearchIndex && ((OpenSearchIndex) other).type() == NESTED_FIELD) { return isCompatible(NESTED); } return false; } // One way compatibility: parent base type is compatible with children - ESDataType cur = (ESDataType) other; + OpenSearchDataType cur = (OpenSearchDataType) other; while (cur != null && cur != this) { cur = cur.parent; } @@ -122,6 +122,6 @@ public boolean isCompatible(Type other) { @Override public String toString() { - return "ES Data Type [" + getName() + "]"; + return "OpenSearch Data Type [" + getName() + "]"; } } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/base/ESIndex.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/base/OpenSearchIndex.java similarity index 91% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/base/ESIndex.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/base/OpenSearchIndex.java index 11c23077be8..d66832353a2 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/base/ESIndex.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/base/OpenSearchIndex.java @@ -22,7 +22,7 @@ /** * Index type is not Enum because essentially each index is a brand new type. */ -public class ESIndex implements BaseType { +public class OpenSearchIndex implements BaseType { public enum IndexType { INDEX, NESTED_FIELD, INDEX_PATTERN @@ -31,7 +31,7 @@ public enum IndexType { private final String indexName; private final IndexType indexType; - public ESIndex(String indexName, IndexType indexType) { + public OpenSearchIndex(String indexName, IndexType indexType) { this.indexName = indexName; this.indexType = indexType; } @@ -68,7 +68,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - ESIndex index = (ESIndex) o; + OpenSearchIndex index = (OpenSearchIndex) o; return Objects.equals(indexName, index.indexName) && indexType == index.indexType; } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/AggregateFunction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/AggregateFunction.java index c1c806723bb..cfa50585481 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/AggregateFunction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/AggregateFunction.java @@ -18,10 +18,10 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.Type; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.TypeExpression; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DOUBLE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.ES_TYPE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.INTEGER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.NUMBER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DOUBLE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.OPENSEARCH_TYPE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.INTEGER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.NUMBER; import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.special.Generic.T; /** @@ -30,7 +30,7 @@ public enum AggregateFunction implements TypeExpression { COUNT( func().to(INTEGER), // COUNT(*) - func(ES_TYPE).to(INTEGER) + func(OPENSEARCH_TYPE).to(INTEGER) ), MAX(func(T(NUMBER)).to(T)), MIN(func(T(NUMBER)).to(T)), diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/ESScalarFunction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/OpenSearchScalarFunction.java similarity index 88% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/ESScalarFunction.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/OpenSearchScalarFunction.java index d1422294939..bd10a3bfeec 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/ESScalarFunction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/OpenSearchScalarFunction.java @@ -18,17 +18,17 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.Type; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.TypeExpression; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.BOOLEAN; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DATE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.GEO_POINT; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.INTEGER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.NUMBER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.STRING; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.BOOLEAN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DATE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.GEO_POINT; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.INTEGER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.NUMBER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.STRING; /** - * Elasticsearch special scalar functions + * OpenSearch special scalar functions */ -public enum ESScalarFunction implements TypeExpression { +public enum OpenSearchScalarFunction implements TypeExpression { DATE_HISTOGRAM(), // this is aggregate function DAY_OF_MONTH(func(DATE).to(INTEGER)), @@ -85,7 +85,7 @@ public enum ESScalarFunction implements TypeExpression { private final TypeExpressionSpec[] specifications; - ESScalarFunction(TypeExpressionSpec... specifications) { + OpenSearchScalarFunction(TypeExpressionSpec... specifications) { this.specifications = specifications; } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/ScalarFunction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/ScalarFunction.java index 7ba1e0f618d..6a160a59723 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/ScalarFunction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/function/ScalarFunction.java @@ -17,14 +17,14 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.Type; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.TypeExpression; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.BOOLEAN; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DOUBLE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.ES_TYPE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.INTEGER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.NUMBER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.STRING; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.BOOLEAN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DOUBLE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.OPENSEARCH_TYPE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.INTEGER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.NUMBER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.STRING; import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.special.Generic.T; /** @@ -47,22 +47,22 @@ public enum ScalarFunction implements TypeExpression { COS(func(T(NUMBER)).to(DOUBLE)), COSH(func(T(NUMBER)).to(DOUBLE)), COT(func(T(NUMBER)).to(DOUBLE)), - CURDATE(func().to(ESDataType.DATE)), - DATE(func(ESDataType.DATE).to(ESDataType.DATE)), + CURDATE(func().to(OpenSearchDataType.DATE)), + DATE(func(OpenSearchDataType.DATE).to(OpenSearchDataType.DATE)), DATE_FORMAT( - func(ESDataType.DATE, STRING).to(STRING), - func(ESDataType.DATE, STRING, STRING).to(STRING) + func(OpenSearchDataType.DATE, STRING).to(STRING), + func(OpenSearchDataType.DATE, STRING, STRING).to(STRING) ), - DAYOFMONTH(func(ESDataType.DATE).to(INTEGER)), + DAYOFMONTH(func(OpenSearchDataType.DATE).to(INTEGER)), DEGREES(func(T(NUMBER)).to(DOUBLE)), DIVIDE(func(T(NUMBER), NUMBER).to(T)), E(func().to(DOUBLE)), EXP(func(T(NUMBER)).to(T)), EXPM1(func(T(NUMBER)).to(T)), FLOOR(func(T(NUMBER)).to(T)), - IF(func(BOOLEAN, ES_TYPE, ES_TYPE).to(ES_TYPE)), - IFNULL(func(ES_TYPE, ES_TYPE).to(ES_TYPE)), - ISNULL(func(ES_TYPE).to(INTEGER)), + IF(func(BOOLEAN, OPENSEARCH_TYPE, OPENSEARCH_TYPE).to(OPENSEARCH_TYPE)), + IFNULL(func(OPENSEARCH_TYPE, OPENSEARCH_TYPE).to(OPENSEARCH_TYPE)), + ISNULL(func(OPENSEARCH_TYPE).to(INTEGER)), LEFT(func(T(STRING), INTEGER).to(T)), LENGTH(func(STRING).to(INTEGER)), LN(func(T(NUMBER)).to(DOUBLE)), @@ -81,12 +81,12 @@ public enum ScalarFunction implements TypeExpression { func(T(STRING), STRING).to(T) ), LTRIM(func(T(STRING)).to(T)), - MAKETIME(func(INTEGER, INTEGER, INTEGER).to(ESDataType.DATE)), + MAKETIME(func(INTEGER, INTEGER, INTEGER).to(OpenSearchDataType.DATE)), MODULUS(func(T(NUMBER), NUMBER).to(T)), - MONTH(func(ESDataType.DATE).to(INTEGER)), - MONTHNAME(func(ESDataType.DATE).to(STRING)), + MONTH(func(OpenSearchDataType.DATE).to(INTEGER)), + MONTHNAME(func(OpenSearchDataType.DATE).to(STRING)), MULTIPLY(func(T(NUMBER), NUMBER).to(NUMBER)), - NOW(func().to(ESDataType.DATE)), + NOW(func().to(OpenSearchDataType.DATE)), PI(func().to(DOUBLE)), POW( func(T(NUMBER)).to(T), @@ -114,13 +114,13 @@ public enum ScalarFunction implements TypeExpression { SUBSTRING(func(T(STRING), INTEGER, INTEGER).to(T)), SUBTRACT(func(T(NUMBER), NUMBER).to(T)), TAN(func(T(NUMBER)).to(DOUBLE)), - TIMESTAMP(func(ESDataType.DATE).to(ESDataType.DATE)), + TIMESTAMP(func(OpenSearchDataType.DATE).to(OpenSearchDataType.DATE)), TRIM(func(T(STRING)).to(T)), UPPER( func(T(STRING)).to(T), func(T(STRING), STRING).to(T) ), - YEAR(func(ESDataType.DATE).to(INTEGER)); + YEAR(func(OpenSearchDataType.DATE).to(INTEGER)); private final TypeExpressionSpec[] specifications; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/operator/ComparisonOperator.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/operator/ComparisonOperator.java index 15b9cacc52f..5060ccfdef8 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/operator/ComparisonOperator.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/operator/ComparisonOperator.java @@ -19,8 +19,8 @@ import java.util.List; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.BOOLEAN; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.TYPE_ERROR; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.BOOLEAN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.TYPE_ERROR; /** * Type for comparison operator diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/operator/JoinOperator.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/operator/JoinOperator.java index 02b06744b5f..f442e2c5a8e 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/operator/JoinOperator.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/operator/JoinOperator.java @@ -16,12 +16,12 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.operator; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.Type; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex; import java.util.List; import java.util.Optional; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.TYPE_ERROR; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.TYPE_ERROR; /** * Join operator @@ -37,7 +37,7 @@ public String getName() { @Override public Type construct(List others) { Optional isAnyNonIndexType = others.stream(). - filter(type -> !(type instanceof ESIndex)). + filter(type -> !(type instanceof OpenSearchIndex)). findAny(); if (isAnyNonIndexType.isPresent()) { return TYPE_ERROR; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/operator/SetOperator.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/operator/SetOperator.java index 7920f19cdfe..07937842605 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/operator/SetOperator.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/operator/SetOperator.java @@ -19,7 +19,7 @@ import java.util.List; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.TYPE_ERROR; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.TYPE_ERROR; /** * Set operator between queries. diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/ESMappingLoader.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/OpenSearchMappingLoader.java similarity index 91% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/ESMappingLoader.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/OpenSearchMappingLoader.java index d3539996911..e95bf8c4bbe 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/ESMappingLoader.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/OpenSearchMappingLoader.java @@ -20,8 +20,8 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.scope.SemanticContext; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.scope.Symbol; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.Type; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.visitor.EarlyExitAnalysisException; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.visitor.GenericSqlParseTreeVisitor; import com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.LocalClusterState; @@ -33,13 +33,13 @@ import java.util.Set; import java.util.stream.Collectors; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex.IndexType.INDEX; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex.IndexType.NESTED_FIELD; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex.IndexType.INDEX; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex.IndexType.NESTED_FIELD; /** * Load index and nested field mapping into semantic context */ -public class ESMappingLoader implements GenericSqlParseTreeVisitor { +public class OpenSearchMappingLoader implements GenericSqlParseTreeVisitor { /** Semantic context shared in the semantic analysis process */ private final SemanticContext context; @@ -50,7 +50,7 @@ public class ESMappingLoader implements GenericSqlParseTreeVisitor { /** Threshold to decide if continue the analysis */ private final int threshold; - public ESMappingLoader(SemanticContext context, LocalClusterState clusterState, int threshold) { + public OpenSearchMappingLoader(SemanticContext context, LocalClusterState clusterState, int threshold) { this.context = context; this.clusterState = clusterState; this.threshold = threshold; @@ -84,11 +84,11 @@ public Type visitIndexName(String indexName) { @Override public void visitAs(String alias, Type type) { - if (!(type instanceof ESIndex)) { + if (!(type instanceof OpenSearchIndex)) { return; } - ESIndex index = (ESIndex) type; + OpenSearchIndex index = (OpenSearchIndex) type; String indexName = type.getName(); if (index.type() == INDEX) { @@ -102,7 +102,7 @@ public void visitAs(String alias, Type type) { } private void defineIndexType(String indexName) { - environment().define(new Symbol(Namespace.FIELD_NAME, indexName), new ESIndex(indexName, INDEX)); + environment().define(new Symbol(Namespace.FIELD_NAME, indexName), new OpenSearchIndex(indexName, INDEX)); } private void loadAllFieldsWithType(String indexName) { @@ -173,11 +173,11 @@ private void defineNestedFieldNamesByReplacingWithAlias(String nestedFieldName, } /** - * Check if index name is NOT nested, for example. return true for index 'accounts' or '.kibana' + * Check if index name is NOT nested, for example. return true for index 'accounts' or '.opensearch_dashboards' * but return false for nested field name 'a.projects'. */ private boolean isNotNested(String indexName) { - return indexName.indexOf('.', 1) == -1; // taking care of .kibana + return indexName.indexOf('.', 1) == -1; // taking care of .opensearch_dashboards } private Set getFieldMappings(String indexName) { @@ -198,9 +198,9 @@ private Set getFieldMappings(String indexName) { private void defineFieldName(String fieldName, String type) { if ("NESTED".equalsIgnoreCase(type)) { - defineFieldName(fieldName, new ESIndex(fieldName, NESTED_FIELD)); + defineFieldName(fieldName, new OpenSearchIndex(fieldName, NESTED_FIELD)); } else { - defineFieldName(fieldName, ESDataType.typeOf(type)); + defineFieldName(fieldName, OpenSearchDataType.typeOf(type)); } } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/SemanticAnalyzer.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/SemanticAnalyzer.java index a7957728551..1a96d3bf26d 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/SemanticAnalyzer.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/SemanticAnalyzer.java @@ -28,11 +28,11 @@ */ public class SemanticAnalyzer implements GenericSqlParseTreeVisitor { - private final ESMappingLoader mappingLoader; + private final OpenSearchMappingLoader mappingLoader; private final TypeChecker typeChecker; - public SemanticAnalyzer(ESMappingLoader mappingLoader, TypeChecker typeChecker) { + public SemanticAnalyzer(OpenSearchMappingLoader mappingLoader, TypeChecker typeChecker) { this.mappingLoader = mappingLoader; this.typeChecker = typeChecker; } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/TypeChecker.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/TypeChecker.java index 6e2f55bf715..a177872d243 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/TypeChecker.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/visitor/TypeChecker.java @@ -23,9 +23,9 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.scope.Symbol; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.Type; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.TypeExpression; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.function.AggregateFunction; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.function.ESScalarFunction; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.function.OpenSearchScalarFunction; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.function.ScalarFunction; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.operator.ComparisonOperator; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.operator.JoinOperator; @@ -39,7 +39,7 @@ import java.util.Optional; import java.util.Set; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.UNKNOWN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.UNKNOWN; /** * SQL semantic analyzer that determines if a syntactical correct query is meaningful. @@ -87,7 +87,7 @@ public TypeChecker(SemanticContext context, boolean isSuggestEnabled) { @Override public void visitRoot() { defineFunctionNames(ScalarFunction.values()); - defineFunctionNames(ESScalarFunction.values()); + defineFunctionNames(OpenSearchScalarFunction.values()); defineFunctionNames(AggregateFunction.values()); defineOperatorNames(ComparisonOperator.values()); defineOperatorNames(SetOperator.values()); @@ -152,28 +152,28 @@ public Type visitOperator(String opName) { @Override public Type visitString(String text) { - return ESDataType.STRING; + return OpenSearchDataType.STRING; } @Override public Type visitInteger(String text) { - return ESDataType.INTEGER; + return OpenSearchDataType.INTEGER; } @Override public Type visitFloat(String text) { - return ESDataType.FLOAT; + return OpenSearchDataType.FLOAT; } @Override public Type visitBoolean(String text) { // "IS [NOT] MISSING" can be used on any data type - return "MISSING".equalsIgnoreCase(text) ? UNKNOWN : ESDataType.BOOLEAN; + return "MISSING".equalsIgnoreCase(text) ? UNKNOWN : OpenSearchDataType.BOOLEAN; } @Override public Type visitDate(String text) { - return ESDataType.DATE; + return OpenSearchDataType.DATE; } @Override @@ -183,7 +183,7 @@ public Type visitNull() { @Override public Type visitConvertedType(String text) { - return ESDataType.typeOf(text); + return OpenSearchDataType.typeOf(text); } @Override diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/visitor/AntlrSqlParseTreeVisitor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/visitor/AntlrSqlParseTreeVisitor.java index b6ce33d025e..f770200302b 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/visitor/AntlrSqlParseTreeVisitor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/visitor/AntlrSqlParseTreeVisitor.java @@ -355,7 +355,7 @@ protected T aggregateResult(T aggregate, T nextResult) { /** * Named argument, ex. TOPHITS('size'=3), is under FunctionArgs -> Predicate - * And the function name should be contained in esFunctionNameBase + * And the function name should be contained in openSearchFunctionNameBase */ private boolean isNamedArgument(BinaryComparisonPredicateContext ctx) { if (ctx.getParent() != null && ctx.getParent().getParent() != null @@ -363,7 +363,7 @@ private boolean isNamedArgument(BinaryComparisonPredicateContext ctx) { && ctx.getParent().getParent().getParent() instanceof ScalarFunctionCallContext) { ScalarFunctionCallContext parent = (ScalarFunctionCallContext) ctx.getParent().getParent().getParent(); - return parent.scalarFunctionName().functionNameBase().esFunctionNameBase() != null; + return parent.scalarFunctionName().functionNameBase().openSearchFunctionNameBase() != null; } return false; } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/ColumnTypeProvider.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/ColumnTypeProvider.java index a12e33b52aa..bff2d61a037 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/ColumnTypeProvider.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/ColumnTypeProvider.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.domain; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.Type; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.special.Product; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.Schema; import com.google.common.collect.ImmutableList; @@ -33,19 +33,19 @@ public class ColumnTypeProvider { private final List typeList; - private static final Map TYPE_MAP = - new ImmutableMap.Builder() - .put(ESDataType.SHORT, Schema.Type.SHORT) - .put(ESDataType.LONG, Schema.Type.LONG) - .put(ESDataType.INTEGER, Schema.Type.INTEGER) - .put(ESDataType.FLOAT, Schema.Type.FLOAT) - .put(ESDataType.DOUBLE, Schema.Type.DOUBLE) - .put(ESDataType.KEYWORD, Schema.Type.KEYWORD) - .put(ESDataType.TEXT, Schema.Type.TEXT) - .put(ESDataType.STRING, Schema.Type.TEXT) - .put(ESDataType.DATE, Schema.Type.DATE) - .put(ESDataType.BOOLEAN, Schema.Type.BOOLEAN) - .put(ESDataType.UNKNOWN, Schema.Type.DOUBLE) + private static final Map TYPE_MAP = + new ImmutableMap.Builder() + .put(OpenSearchDataType.SHORT, Schema.Type.SHORT) + .put(OpenSearchDataType.LONG, Schema.Type.LONG) + .put(OpenSearchDataType.INTEGER, Schema.Type.INTEGER) + .put(OpenSearchDataType.FLOAT, Schema.Type.FLOAT) + .put(OpenSearchDataType.DOUBLE, Schema.Type.DOUBLE) + .put(OpenSearchDataType.KEYWORD, Schema.Type.KEYWORD) + .put(OpenSearchDataType.TEXT, Schema.Type.TEXT) + .put(OpenSearchDataType.STRING, Schema.Type.TEXT) + .put(OpenSearchDataType.DATE, Schema.Type.DATE) + .put(OpenSearchDataType.BOOLEAN, Schema.Type.BOOLEAN) + .put(OpenSearchDataType.UNKNOWN, Schema.Type.DOUBLE) .build(); public static final Schema.Type COLUMN_DEFAULT_TYPE = Schema.Type.DOUBLE; @@ -75,7 +75,7 @@ private List convertOutputColumnType(Type type) { if (type instanceof Product) { List types = ((Product) type).getTypes(); return types.stream().map(t -> convertType(t)).collect(Collectors.toList()); - } else if (type instanceof ESDataType) { + } else if (type instanceof OpenSearchDataType) { return ImmutableList.of(convertType(type)); } else { return ImmutableList.of(COLUMN_DEFAULT_TYPE); diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/Having.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/Having.java index 3635f360f8a..3c7035fe726 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/Having.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/Having.java @@ -23,8 +23,8 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.parser.NestedType; import com.amazon.opendistroforelasticsearch.sql.legacy.parser.WhereParser; import com.google.common.collect.Iterables; -import org.elasticsearch.script.Script; -import org.elasticsearch.search.aggregations.AggregationBuilder; +import org.opensearch.script.Script; +import org.opensearch.search.aggregations.AggregationBuilder; import java.util.Arrays; import java.util.Collections; @@ -33,14 +33,14 @@ import java.util.Map; import static java.util.stream.Collectors.joining; -import static org.elasticsearch.search.aggregations.PipelineAggregatorBuilders.bucketSelector; +import static org.opensearch.search.aggregations.PipelineAggregatorBuilders.bucketSelector; /** * Domain object for HAVING clause in SQL which covers both the parsing and explain logic. *

* Responsibilities: * 1. Parsing: parse conditions out during initialization - * 2. Explain: translate conditions to ES query DSL (Bucket Selector Aggregation) + * 2. Explain: translate conditions to OpenSearch query DSL (Bucket Selector Aggregation) */ public class Having { @@ -89,7 +89,7 @@ public Having(SQLSelectGroupByClause groupByExpr, WhereParser parser) throws Sql /** * Add Bucket Selector Aggregation under group by aggregation with sibling of aggregation of fields in SELECT. - * ES makes sure that all sibling runs before bucket selector aggregation. + * OpenSearch makes sure that all sibling runs before bucket selector aggregation. * * @param groupByAgg aggregation builder for GROUP BY clause * @param fields fields in SELECT clause diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/Paramer.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/Paramer.java index 7f30e4f0719..7e74d05b35d 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/Paramer.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/Paramer.java @@ -22,14 +22,14 @@ import com.alibaba.druid.sql.ast.expr.SQLNumericLiteralExpr; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; import com.amazon.opendistroforelasticsearch.sql.legacy.utils.Util; -import org.elasticsearch.common.Strings; -import org.elasticsearch.common.xcontent.ToXContent; -import org.elasticsearch.index.query.MatchPhraseQueryBuilder; -import org.elasticsearch.index.query.MatchQueryBuilder; -import org.elasticsearch.index.query.MultiMatchQueryBuilder; -import org.elasticsearch.index.query.Operator; -import org.elasticsearch.index.query.QueryStringQueryBuilder; -import org.elasticsearch.index.query.WildcardQueryBuilder; +import org.opensearch.common.Strings; +import org.opensearch.common.xcontent.ToXContent; +import org.opensearch.index.query.MatchPhraseQueryBuilder; +import org.opensearch.index.query.MatchQueryBuilder; +import org.opensearch.index.query.MultiMatchQueryBuilder; +import org.opensearch.index.query.Operator; +import org.opensearch.index.query.QueryStringQueryBuilder; +import org.opensearch.index.query.WildcardQueryBuilder; import java.util.HashMap; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/SearchResult.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/SearchResult.java index e494dbcf368..4fba000230b 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/SearchResult.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/SearchResult.java @@ -16,19 +16,19 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.domain; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.common.document.DocumentField; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.search.aggregations.Aggregation; -import org.elasticsearch.search.aggregations.Aggregations; -import org.elasticsearch.search.aggregations.bucket.filter.InternalFilter; -import org.elasticsearch.search.aggregations.bucket.terms.InternalTerms; -import org.elasticsearch.search.aggregations.bucket.terms.LongTerms; -import org.elasticsearch.search.aggregations.bucket.terms.Terms.Bucket; -import org.elasticsearch.search.aggregations.metrics.InternalNumericMetricsAggregation; -import org.elasticsearch.search.aggregations.metrics.InternalTopHits; -import org.elasticsearch.search.aggregations.metrics.InternalValueCount; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.common.document.DocumentField; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; +import org.opensearch.search.aggregations.Aggregation; +import org.opensearch.search.aggregations.Aggregations; +import org.opensearch.search.aggregations.bucket.filter.InternalFilter; +import org.opensearch.search.aggregations.bucket.terms.InternalTerms; +import org.opensearch.search.aggregations.bucket.terms.LongTerms; +import org.opensearch.search.aggregations.bucket.terms.Terms.Bucket; +import org.opensearch.search.aggregations.metrics.InternalNumericMetricsAggregation; +import org.opensearch.search.aggregations.metrics.InternalTopHits; +import org.opensearch.search.aggregations.metrics.InternalValueCount; import java.util.ArrayList; import java.util.Collection; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/hints/HintFactory.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/hints/HintFactory.java index b6a17587ccb..1dad47089e7 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/hints/HintFactory.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/domain/hints/HintFactory.java @@ -19,9 +19,9 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; import com.fasterxml.jackson.dataformat.yaml.YAMLParser; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.yaml.YamlXContentParser; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.yaml.YamlXContentParser; import java.io.IOException; import java.util.ArrayList; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/LocalClusterState.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/LocalClusterState.java index b9fbf1d5890..f306a62e125 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/LocalClusterState.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/LocalClusterState.java @@ -21,13 +21,13 @@ import com.google.common.cache.CacheBuilder; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.support.IndicesOptions; -import org.elasticsearch.cluster.ClusterState; -import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver; -import org.elasticsearch.cluster.service.ClusterService; -import org.elasticsearch.common.collect.Tuple; -import org.elasticsearch.common.settings.Setting; -import org.elasticsearch.index.IndexNotFoundException; +import org.opensearch.action.support.IndicesOptions; +import org.opensearch.cluster.ClusterState; +import org.opensearch.cluster.metadata.IndexNameExpressionResolver; +import org.opensearch.cluster.service.ClusterService; +import org.opensearch.common.collect.Tuple; +import org.opensearch.common.settings.Setting; +import org.opensearch.index.IndexNotFoundException; import java.io.IOException; import java.util.Arrays; @@ -39,7 +39,7 @@ import java.util.function.Function; import java.util.function.Predicate; -import static org.elasticsearch.common.settings.Settings.EMPTY; +import static org.opensearch.common.settings.Settings.EMPTY; /** * Local cluster state information which may be stale but help avoid blocking operation in NIO thread. @@ -71,7 +71,7 @@ public class LocalClusterState { private ClusterService clusterService; /** - * Sql specific settings in ES cluster settings + * Sql specific settings in OpenSearch cluster settings */ private SqlSettings sqlSettings; @@ -171,9 +171,9 @@ public IndexMappings getFieldMappings(String[] indices, String[] types) { /** * Get field mappings by index expressions, type and field filter. Because IndexMetaData/MappingMetaData * is hard to convert to FieldMappingMetaData, custom mapping domain objects are being used here. In future, - * it should be moved to domain model layer for all ES specific knowledge. + * it should be moved to domain model layer for all OpenSearch specific knowledge. *

- * Note that cluster state may be change inside ES so it's possible to read different state in 2 accesses + * Note that cluster state may be change inside OpenSearch so it's possible to read different state in 2 accesses * to ClusterService.state() here. * * @param indices index name expression diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/ESClient.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/OpenSearchClient.java similarity index 87% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/ESClient.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/OpenSearchClient.java index 464e521ee2a..4a26975c271 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/ESClient.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/OpenSearchClient.java @@ -18,22 +18,22 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.BackOffRetryStrategy; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.search.MultiSearchRequest; -import org.elasticsearch.action.search.MultiSearchResponse; -import org.elasticsearch.client.Client; +import org.opensearch.action.search.MultiSearchRequest; +import org.opensearch.action.search.MultiSearchResponse; +import org.opensearch.client.Client; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; -public class ESClient { +public class OpenSearchClient { private static final Logger LOG = LogManager.getLogger(); private static final int[] retryIntervals = new int[]{4, 12, 20, 20}; private final Client client; - public ESClient(Client client) { + public OpenSearchClient(Client client) { this.client = client; } @@ -53,7 +53,7 @@ private void multiSearchRetry(MultiSearchResponse.Item[] responses, MultiSearchR } MultiSearchResponse.Item[] res = client.multiSearch(multiSearchRequestRetry).actionGet().getResponses(); List indicesFailure = new ArrayList<>(); - //Could get EsRejectedExecutionException and ElasticsearchException as getCause + //Could get EsRejectedExecutionException and OpenSearchException as getCause for (int i = 0; i < res.length; i++) { if (res[i].isFailure()) { indicesFailure.add(indices.get(i)); @@ -65,7 +65,7 @@ private void multiSearchRetry(MultiSearchResponse.Item[] responses, MultiSearchR } } if (!indicesFailure.isEmpty()) { - LOG.info("ES multisearch has failures on retry {}", retry); + LOG.info("OpenSearch multisearch has failures on retry {}", retry); if (retry < 3) { BackOffRetryStrategy.backOffSleep(retryIntervals[retry]); multiSearchRetry(responses, multiSearchRequest, indicesFailure, retry + 1); diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/FieldMapping.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/FieldMapping.java index f60fdca192a..03bb9b3d3b2 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/FieldMapping.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/FieldMapping.java @@ -22,12 +22,12 @@ import java.util.Map; import static java.util.Collections.emptyMap; -import static org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetadata; +import static org.opensearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetadata; /** - * Field mapping that parses native ES mapping. + * Field mapping that parses native OpenSearch mapping. *

- * NOTE that approaches in this class are NOT reliable because of the ES mapping query API used. + * NOTE that approaches in this class are NOT reliable because of the OpenSearch mapping query API used. * We should deprecate this in future and parse field mapping in more solid way. */ public class FieldMapping { @@ -38,7 +38,7 @@ public class FieldMapping { private final String fieldName; /** - * Native mapping information returned from ES + * Native mapping information returned from OpenSearch */ private final Map typeMappings; @@ -120,7 +120,7 @@ public String path() { } /** - * Find field type in ES Get Field Mapping API response. Note that Get Field Mapping API does NOT return + * Find field type in OpenSearch Get Field Mapping API response. Note that Get Field Mapping API does NOT return * the type for object or nested field. In this case, object type is used as default under the assumption * that the field queried here must exist (which is true if semantic analyzer is enabled). * diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/FieldMappings.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/FieldMappings.java index e2fa4dceb92..595f46f5e03 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/FieldMappings.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/FieldMappings.java @@ -15,7 +15,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.mapping; -import org.elasticsearch.cluster.metadata.MappingMetadata; +import org.opensearch.cluster.metadata.MappingMetadata; import org.json.JSONObject; import java.util.HashMap; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/IndexMappings.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/IndexMappings.java index 6cf0328baf4..7e5272b2699 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/IndexMappings.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/IndexMappings.java @@ -15,9 +15,9 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.mapping; -import org.elasticsearch.cluster.metadata.MappingMetadata; -import org.elasticsearch.cluster.metadata.Metadata; -import org.elasticsearch.common.collect.ImmutableOpenMap; +import org.opensearch.cluster.metadata.MappingMetadata; +import org.opensearch.cluster.metadata.Metadata; +import org.opensearch.common.collect.ImmutableOpenMap; import java.util.Map; import java.util.Objects; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/Mappings.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/Mappings.java index b89e8b8c3a5..324fdebf831 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/Mappings.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/Mappings.java @@ -17,7 +17,7 @@ import com.carrotsearch.hppc.cursors.ObjectObjectCursor; import com.google.common.collect.ImmutableMap; -import org.elasticsearch.common.collect.ImmutableOpenMap; +import org.opensearch.common.collect.ImmutableOpenMap; import java.util.Collection; import java.util.Map; @@ -57,7 +57,7 @@ default boolean isEmpty() { Map data(); /** - * Convert ES ImmutableOpenMap to JDK Map by applying function: Y func(X) + * Convert OpenSearch ImmutableOpenMap to JDK Map by applying function: Y func(X) */ default Map buildMappings(ImmutableOpenMap mappings, Function func) { ImmutableMap.Builder builder = ImmutableMap.builder(); diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/TypeMappings.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/TypeMappings.java index e3cda1b056e..bcc840ee076 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/TypeMappings.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/TypeMappings.java @@ -15,8 +15,8 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.mapping; -import org.elasticsearch.cluster.metadata.MappingMetadata; -import org.elasticsearch.common.collect.ImmutableOpenMap; +import org.opensearch.cluster.metadata.MappingMetadata; +import org.opensearch.common.collect.ImmutableOpenMap; import java.util.Map; import java.util.Objects; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ActionRequestRestExecutorFactory.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ActionRequestRestExecutorFactory.java index 8663a6e6d31..b18f7a426d2 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ActionRequestRestExecutorFactory.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ActionRequestRestExecutorFactory.java @@ -18,7 +18,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.executor.csv.CSVResultRestExecutor; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.PrettyFormatRestExecutor; import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; -import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.ESJoinQueryAction; +import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.OpenSearchJoinQueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.multi.MultiQueryAction; /** @@ -51,7 +51,7 @@ public static RestExecutor createExecutor(Format format, QueryAction queryAction } private static boolean isJoin(QueryAction queryAction) { - return queryAction instanceof ESJoinQueryAction; + return queryAction instanceof OpenSearchJoinQueryAction; } private static boolean isUnionMinus(QueryAction queryAction) { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/AsyncRestExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/AsyncRestExecutor.java index 76ec130a6c2..25bf7e9ca54 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/AsyncRestExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/AsyncRestExecutor.java @@ -24,14 +24,14 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.utils.LogUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.ElasticsearchException; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestChannel; -import org.elasticsearch.rest.RestStatus; -import org.elasticsearch.threadpool.ThreadPool; -import org.elasticsearch.transport.Transports; +import org.opensearch.OpenSearchException; +import org.opensearch.client.Client; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestChannel; +import org.opensearch.rest.RestStatus; +import org.opensearch.threadpool.ThreadPool; +import org.opensearch.transport.Transports; import java.io.IOException; import java.time.Duration; @@ -46,7 +46,7 @@ public class AsyncRestExecutor implements RestExecutor { /** - * Custom thread pool name managed by ES + * Custom thread pool name managed by OpenSearch */ public static final String SQL_WORKER_THREAD_POOL_NAME = "sql-worker"; @@ -119,7 +119,7 @@ private void async(Client client, Map params, QueryAction queryA Runnable runnable = () -> { try { doExecuteWithTimeMeasured(client, params, queryAction, channel); - } catch (IOException | SqlParseException | ElasticsearchException e) { + } catch (IOException | SqlParseException | OpenSearchException e) { Metrics.getInstance().getNumericalMetric(MetricName.FAILED_REQ_COUNT_SYS).increment(); LOG.warn("[{}] [MCB] async task got an IO/SQL exception: {}", LogUtils.getRequestId(), e.getMessage()); diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ElasticDefaultRestExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ElasticDefaultRestExecutor.java index 3ce18ea2f0e..0317047901d 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ElasticDefaultRestExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ElasticDefaultRestExecutor.java @@ -27,20 +27,20 @@ import com.google.common.collect.Maps; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.ActionFuture; -import org.elasticsearch.action.ActionRequest; -import org.elasticsearch.action.admin.indices.get.GetIndexRequest; -import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchScrollRequest; -import org.elasticsearch.client.Client; -import org.elasticsearch.index.reindex.BulkIndexByScrollResponseContentListener; -import org.elasticsearch.index.reindex.DeleteByQueryRequest; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestChannel; -import org.elasticsearch.rest.RestStatus; -import org.elasticsearch.rest.action.RestStatusToXContentListener; -import org.elasticsearch.search.SearchHits; +import org.opensearch.action.ActionFuture; +import org.opensearch.action.ActionRequest; +import org.opensearch.action.admin.indices.get.GetIndexRequest; +import org.opensearch.action.search.SearchRequest; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.action.search.SearchScrollRequest; +import org.opensearch.client.Client; +import org.opensearch.index.reindex.BulkIndexByScrollResponseContentListener; +import org.opensearch.index.reindex.DeleteByQueryRequest; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestChannel; +import org.opensearch.rest.RestStatus; +import org.opensearch.rest.action.RestStatusToXContentListener; +import org.opensearch.search.SearchHits; import java.io.IOException; import java.util.Map; @@ -49,7 +49,7 @@ public class ElasticDefaultRestExecutor implements RestExecutor { /** - * Request builder to generate ES DSL + * Request builder to generate OpenSearch DSL */ private final SqlElasticRequestBuilder requestBuilder; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ElasticHitsExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ElasticHitsExecutor.java index 40a94ede3ac..6b97794e047 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ElasticHitsExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ElasticHitsExecutor.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; -import org.elasticsearch.search.SearchHits; +import org.opensearch.search.SearchHits; import java.io.IOException; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ElasticResultHandler.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ElasticResultHandler.java index dfc934db0c9..4aa2fac07d4 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ElasticResultHandler.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/ElasticResultHandler.java @@ -15,7 +15,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor; -import org.elasticsearch.search.SearchHit; +import org.opensearch.search.SearchHit; import java.util.Map; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/GetIndexRequestRestListener.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/GetIndexRequestRestListener.java index 09dd517278e..5380c2dffcc 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/GetIndexRequestRestListener.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/GetIndexRequestRestListener.java @@ -17,19 +17,19 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.SemanticAnalysisException; import com.carrotsearch.hppc.cursors.ObjectObjectCursor; -import org.elasticsearch.action.admin.indices.get.GetIndexRequest; -import org.elasticsearch.action.admin.indices.get.GetIndexResponse; -import org.elasticsearch.cluster.metadata.AliasMetadata; -import org.elasticsearch.cluster.metadata.MappingMetadata; -import org.elasticsearch.common.collect.ImmutableOpenMap; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.xcontent.ToXContent; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestChannel; -import org.elasticsearch.rest.RestResponse; -import org.elasticsearch.rest.RestStatus; -import org.elasticsearch.rest.action.RestBuilderListener; +import org.opensearch.action.admin.indices.get.GetIndexRequest; +import org.opensearch.action.admin.indices.get.GetIndexResponse; +import org.opensearch.cluster.metadata.AliasMetadata; +import org.opensearch.cluster.metadata.MappingMetadata; +import org.opensearch.common.collect.ImmutableOpenMap; +import org.opensearch.common.settings.Settings; +import org.opensearch.common.xcontent.ToXContent; +import org.opensearch.common.xcontent.XContentBuilder; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestChannel; +import org.opensearch.rest.RestResponse; +import org.opensearch.rest.RestStatus; +import org.opensearch.rest.action.RestBuilderListener; import java.io.IOException; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/QueryActionElasticExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/QueryActionElasticExecutor.java index fa42b1b056c..0d978d2eed7 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/QueryActionElasticExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/QueryActionElasticExecutor.java @@ -28,15 +28,15 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.ShowQueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.SqlElasticRequestBuilder; -import com.amazon.opendistroforelasticsearch.sql.legacy.query.SqlElasticSearchRequestBuilder; -import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.ESJoinQueryAction; +import com.amazon.opendistroforelasticsearch.sql.legacy.query.SqlOpenSearchRequestBuilder; +import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.OpenSearchJoinQueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.multi.MultiQueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.multi.MultiQueryRequestBuilder; -import org.elasticsearch.action.ActionResponse; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.search.aggregations.Aggregations; +import org.opensearch.action.ActionResponse; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.Client; +import org.opensearch.search.SearchHits; +import org.opensearch.search.aggregations.Aggregations; import java.io.IOException; import java.util.List; @@ -46,11 +46,11 @@ */ public class QueryActionElasticExecutor { public static SearchHits executeSearchAction(DefaultQueryAction searchQueryAction) throws SqlParseException { - SqlElasticSearchRequestBuilder builder = searchQueryAction.explain(); + SqlOpenSearchRequestBuilder builder = searchQueryAction.explain(); return ((SearchResponse) builder.get()).getHits(); } - public static SearchHits executeJoinSearchAction(Client client, ESJoinQueryAction joinQueryAction) + public static SearchHits executeJoinSearchAction(Client client, OpenSearchJoinQueryAction joinQueryAction) throws IOException, SqlParseException { SqlElasticRequestBuilder joinRequestBuilder = joinQueryAction.explain(); ElasticJoinExecutor executor = ElasticJoinExecutor.createJoinExecutor(client, joinRequestBuilder); @@ -60,7 +60,7 @@ public static SearchHits executeJoinSearchAction(Client client, ESJoinQueryActio public static Aggregations executeAggregationAction(AggregationQueryAction aggregationQueryAction) throws SqlParseException { - SqlElasticSearchRequestBuilder select = aggregationQueryAction.explain(); + SqlOpenSearchRequestBuilder select = aggregationQueryAction.explain(); return ((SearchResponse) select.get()).getAggregations(); } @@ -107,8 +107,8 @@ public static Object executeAnyAction(Client client, QueryAction queryAction) if (queryAction instanceof DescribeQueryAction) { return executeDescribeQueryAction((DescribeQueryAction) queryAction); } - if (queryAction instanceof ESJoinQueryAction) { - return executeJoinSearchAction(client, (ESJoinQueryAction) queryAction); + if (queryAction instanceof OpenSearchJoinQueryAction) { + return executeJoinSearchAction(client, (OpenSearchJoinQueryAction) queryAction); } if (queryAction instanceof MultiQueryAction) { return executeMultiQueryAction(client, (MultiQueryAction) queryAction); diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/RestExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/RestExecutor.java index c16b2780254..cb4129088ab 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/RestExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/RestExecutor.java @@ -16,8 +16,8 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor; import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; -import org.elasticsearch.client.Client; -import org.elasticsearch.rest.RestChannel; +import org.opensearch.client.Client; +import org.opensearch.rest.RestChannel; import java.util.Map; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/adapter/QueryPlanRequestBuilder.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/adapter/QueryPlanRequestBuilder.java index 7a6080dd4ed..d620c735d04 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/adapter/QueryPlanRequestBuilder.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/adapter/QueryPlanRequestBuilder.java @@ -20,9 +20,9 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.core.BindingTupleQueryPlanner; import com.amazon.opendistroforelasticsearch.sql.legacy.query.SqlElasticRequestBuilder; import lombok.RequiredArgsConstructor; -import org.elasticsearch.action.ActionRequest; -import org.elasticsearch.action.ActionRequestBuilder; -import org.elasticsearch.action.ActionResponse; +import org.opensearch.action.ActionRequest; +import org.opensearch.action.ActionRequestBuilder; +import org.opensearch.action.ActionResponse; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/csv/CSVResult.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/csv/CSVResult.java index 805acbe7c46..dd4f6befa18 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/csv/CSVResult.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/csv/CSVResult.java @@ -52,7 +52,7 @@ public CSVResult(String separator, List headers, List> line } /** - * Return CSV header names which are sanitized because Elasticsearch allows + * Return CSV header names which are sanitized because OpenSearch allows * special character present in field name too. * @return CSV header name list after sanitized */ diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/csv/CSVResultRestExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/csv/CSVResultRestExecutor.java index cb7ef4259c0..010bc78365d 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/csv/CSVResultRestExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/csv/CSVResultRestExecutor.java @@ -20,10 +20,10 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.BackOffRetryStrategy; import com.google.common.base.Joiner; -import org.elasticsearch.client.Client; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestChannel; -import org.elasticsearch.rest.RestStatus; +import org.opensearch.client.Client; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestChannel; +import org.opensearch.rest.RestStatus; import java.util.List; import java.util.Map; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/csv/CSVResultsExtractor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/csv/CSVResultsExtractor.java index 6574842a86d..65ff4bef1b0 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/csv/CSVResultsExtractor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/csv/CSVResultsExtractor.java @@ -18,20 +18,20 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.expression.domain.BindingTuple; import com.amazon.opendistroforelasticsearch.sql.legacy.expression.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.legacy.utils.Util; -import org.elasticsearch.common.document.DocumentField; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.search.aggregations.Aggregation; -import org.elasticsearch.search.aggregations.Aggregations; -import org.elasticsearch.search.aggregations.bucket.MultiBucketsAggregation; -import org.elasticsearch.search.aggregations.bucket.SingleBucketAggregation; -import org.elasticsearch.search.aggregations.metrics.ExtendedStats; -import org.elasticsearch.search.aggregations.metrics.GeoBounds; -import org.elasticsearch.search.aggregations.metrics.NumericMetricsAggregation; -import org.elasticsearch.search.aggregations.metrics.Percentile; -import org.elasticsearch.search.aggregations.metrics.Percentiles; -import org.elasticsearch.search.aggregations.metrics.Stats; -import org.elasticsearch.search.aggregations.metrics.TopHits; +import org.opensearch.common.document.DocumentField; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; +import org.opensearch.search.aggregations.Aggregation; +import org.opensearch.search.aggregations.Aggregations; +import org.opensearch.search.aggregations.bucket.MultiBucketsAggregation; +import org.opensearch.search.aggregations.bucket.SingleBucketAggregation; +import org.opensearch.search.aggregations.metrics.ExtendedStats; +import org.opensearch.search.aggregations.metrics.GeoBounds; +import org.opensearch.search.aggregations.metrics.NumericMetricsAggregation; +import org.opensearch.search.aggregations.metrics.Percentile; +import org.opensearch.search.aggregations.metrics.Percentiles; +import org.opensearch.search.aggregations.metrics.Stats; +import org.opensearch.search.aggregations.metrics.TopHits; import java.util.ArrayList; import java.util.Collection; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorActionRequestRestExecutorFactory.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorActionRequestRestExecutorFactory.java index 9901a878fce..ea886a31015 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorActionRequestRestExecutorFactory.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorActionRequestRestExecutorFactory.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor.cursor; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.Format; -import org.elasticsearch.rest.RestRequest; +import org.opensearch.rest.RestRequest; public class CursorActionRequestRestExecutorFactory { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorAsyncRestExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorAsyncRestExecutor.java index 67aaa0f878e..b79309b0730 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorAsyncRestExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorAsyncRestExecutor.java @@ -22,12 +22,12 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.utils.LogUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestChannel; -import org.elasticsearch.rest.RestStatus; -import org.elasticsearch.threadpool.ThreadPool; +import org.opensearch.client.Client; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestChannel; +import org.opensearch.rest.RestStatus; +import org.opensearch.threadpool.ThreadPool; import java.io.IOException; import java.time.Duration; @@ -37,7 +37,7 @@ public class CursorAsyncRestExecutor { /** - * Custom thread pool name managed by ES + * Custom thread pool name managed by OpenSearch */ public static final String SQL_WORKER_THREAD_POOL_NAME = "sql-worker"; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorCloseExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorCloseExecutor.java index fc9d7c8681f..a0150504a4b 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorCloseExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorCloseExecutor.java @@ -22,16 +22,16 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.rewriter.matchtoterm.VerificationException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.ElasticsearchException; -import org.elasticsearch.action.search.ClearScrollResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestChannel; +import org.opensearch.OpenSearchException; +import org.opensearch.action.search.ClearScrollResponse; +import org.opensearch.client.Client; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestChannel; import org.json.JSONException; import java.util.Map; -import static org.elasticsearch.rest.RestStatus.OK; +import static org.opensearch.rest.RestStatus.OK; public class CursorCloseExecutor implements CursorRestExecutor { @@ -54,7 +54,7 @@ public void execute(Client client, Map params, RestChannel chann Metrics.getInstance().getNumericalMetric(MetricName.FAILED_REQ_COUNT_CUS).increment(); LOG.error("Error parsing the cursor", e); channel.sendResponse(new BytesRestResponse(channel, e)); - } catch (ElasticsearchException e) { + } catch (OpenSearchException e) { int status = (e.status().getStatus()); if (status > 399 && status < 500) { Metrics.getInstance().getNumericalMetric(MetricName.FAILED_REQ_COUNT_CUS).increment(); diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorRestExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorRestExecutor.java index 3ff9463275c..508dd79c351 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorRestExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorRestExecutor.java @@ -16,8 +16,8 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor.cursor; -import org.elasticsearch.client.Client; -import org.elasticsearch.rest.RestChannel; +import org.opensearch.client.Client; +import org.opensearch.rest.RestChannel; import java.util.Map; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorResultExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorResultExecutor.java index 89b74d02833..8e35ac40b49 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorResultExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/cursor/CursorResultExecutor.java @@ -25,22 +25,22 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.rewriter.matchtoterm.VerificationException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.ElasticsearchException; -import org.elasticsearch.action.search.ClearScrollResponse; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestChannel; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; +import org.opensearch.OpenSearchException; +import org.opensearch.action.search.ClearScrollResponse; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.Client; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestChannel; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; import org.json.JSONException; import java.util.Arrays; import java.util.Map; import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings.CURSOR_KEEPALIVE; -import static org.elasticsearch.rest.RestStatus.OK; +import static org.opensearch.rest.RestStatus.OK; public class CursorResultExecutor implements CursorRestExecutor { @@ -62,7 +62,7 @@ public void execute(Client client, Map params, RestChannel chann Metrics.getInstance().getNumericalMetric(MetricName.FAILED_REQ_COUNT_CUS).increment(); LOG.error("Error parsing the cursor", e); channel.sendResponse(new BytesRestResponse(channel, e)); - } catch (ElasticsearchException e) { + } catch (OpenSearchException e) { int status = (e.status().getStatus()); if (status > 399 && status < 500) { Metrics.getInstance().getNumericalMetric(MetricName.FAILED_REQ_COUNT_CUS).increment(); diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DateFieldFormatter.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DateFieldFormatter.java index 01d5c265168..34a25778056 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DateFieldFormatter.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DateFieldFormatter.java @@ -43,10 +43,11 @@ public class DateFieldFormatter { private static final String FORMAT_DELIMITER = "\\|\\|"; private static final String FORMAT_DOT_DATE_AND_TIME = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"; - private static final String FORMAT_DOT_KIBANA_SAMPLE_DATA_LOGS_EXCEPTION = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; - private static final String FORMAT_DOT_KIBANA_SAMPLE_DATA_FLIGHTS_EXCEPTION = "yyyy-MM-dd'T'HH:mm:ss"; - private static final String FORMAT_DOT_KIBANA_SAMPLE_DATA_FLIGHTS_EXCEPTION_NO_TIME = "yyyy-MM-dd'T'"; - private static final String FORMAT_DOT_KIBANA_SAMPLE_DATA_ECOMMERCE_EXCEPTION = "yyyy-MM-dd'T'HH:mm:ssXXX"; + private static final String FORMAT_DOT_OPENSEARCH_DASHBOARDS_SAMPLE_DATA_LOGS_EXCEPTION = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; + private static final String FORMAT_DOT_OPENSEARCH_DASHBOARDS_SAMPLE_DATA_FLIGHTS_EXCEPTION = "yyyy-MM-dd'T'HH:mm:ss"; + private static final String + FORMAT_DOT_OPENSEARCH_DASHBOARDS_SAMPLE_DATA_FLIGHTS_EXCEPTION_NO_TIME = "yyyy-MM-dd'T'"; + private static final String FORMAT_DOT_OPENSEARCH_DASHBOARDS_SAMPLE_DATA_ECOMMERCE_EXCEPTION = "yyyy-MM-dd'T'HH:mm:ssXXX"; private static final String FORMAT_DOT_DATE = DateFormat.getFormatString("date"); private final Map> dateFieldFormatMap; @@ -153,7 +154,7 @@ private Date parseDateString(List formats, String columnOriginalDate) { Date parsedDate = null; // Apache Commons DateUtils uses the default TimeZone for the JVM when parsing. - // However, since all dates on Elasticsearch are stored as UTC, we need to + // However, since all dates on OpenSearch are stored as UTC, we need to // parse these values using the UTC timezone. TimeZone.setDefault(TimeZone.getTimeZone("UTC")); for (String columnFormat : formats) { @@ -163,10 +164,10 @@ private Date parseDateString(List formats, String columnOriginalDate) { case "strict_date_optional_time": parsedDate = DateUtils.parseDate( columnOriginalDate, - FORMAT_DOT_KIBANA_SAMPLE_DATA_LOGS_EXCEPTION, - FORMAT_DOT_KIBANA_SAMPLE_DATA_FLIGHTS_EXCEPTION, - FORMAT_DOT_KIBANA_SAMPLE_DATA_FLIGHTS_EXCEPTION_NO_TIME, - FORMAT_DOT_KIBANA_SAMPLE_DATA_ECOMMERCE_EXCEPTION, + FORMAT_DOT_OPENSEARCH_DASHBOARDS_SAMPLE_DATA_LOGS_EXCEPTION, + FORMAT_DOT_OPENSEARCH_DASHBOARDS_SAMPLE_DATA_FLIGHTS_EXCEPTION, + FORMAT_DOT_OPENSEARCH_DASHBOARDS_SAMPLE_DATA_FLIGHTS_EXCEPTION_NO_TIME, + FORMAT_DOT_OPENSEARCH_DASHBOARDS_SAMPLE_DATA_ECOMMERCE_EXCEPTION, FORMAT_DOT_DATE_AND_TIME, FORMAT_DOT_DATE); break; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DeleteResultSet.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DeleteResultSet.java index e7490897a8e..8ecf3538920 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DeleteResultSet.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DeleteResultSet.java @@ -16,8 +16,8 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor.format; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.Delete; -import org.elasticsearch.client.Client; -import org.elasticsearch.index.reindex.BulkByScrollResponse; +import org.opensearch.client.Client; +import org.opensearch.index.reindex.BulkByScrollResponse; import java.util.Collections; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DescribeResultSet.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DescribeResultSet.java index 4090ed5ecb4..4d6e8e68a23 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DescribeResultSet.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DescribeResultSet.java @@ -20,10 +20,10 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.Schema.Column; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.Schema.Type; import com.carrotsearch.hppc.cursors.ObjectObjectCursor; -import org.elasticsearch.action.admin.indices.get.GetIndexResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.cluster.metadata.MappingMetadata; -import org.elasticsearch.common.collect.ImmutableOpenMap; +import org.opensearch.action.admin.indices.get.GetIndexResponse; +import org.opensearch.client.Client; +import org.opensearch.cluster.metadata.MappingMetadata; +import org.opensearch.common.collect.ImmutableOpenMap; import java.util.ArrayList; import java.util.HashMap; @@ -97,7 +97,7 @@ private List loadRows() { if (matchesPatternIfRegex(index, statement.getIndexPattern())) { ImmutableOpenMap typeMapping = indexCursor.value; - // Assuming ES 6.x, iterate through the only type of the index to get mapping data + // Assuming OpenSearch 6.x, iterate through the only type of the index to get mapping data for (ObjectObjectCursor typeCursor : typeMapping) { MappingMetadata mappingMetaData = typeCursor.value; // Load rows for each field in the mapping diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ErrorMessage.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ErrorMessage.java index 4290dfa10ec..ffcd6e46b1a 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ErrorMessage.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ErrorMessage.java @@ -15,7 +15,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor.format; -import org.elasticsearch.rest.RestStatus; +import org.opensearch.rest.RestStatus; import org.json.JSONObject; public class ErrorMessage { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ErrorMessageFactory.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ErrorMessageFactory.java index d74dfb2a4af..c838d1990eb 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ErrorMessageFactory.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ErrorMessageFactory.java @@ -15,13 +15,13 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor.format; -import org.elasticsearch.ElasticsearchException; +import org.opensearch.OpenSearchException; public class ErrorMessageFactory { /** * Create error message based on the exception type - * Exceptions of ES exception type and exceptions with wrapped ES exception causes - * should create {@link ElasticsearchErrorMessage} + * Exceptions of OpenSearch exception type and exceptions with wrapped OpenSearch exception causes + * should create {@link OpenSearchErrorMessage} * * @param e exception to create error message * @param status exception status code @@ -29,19 +29,19 @@ public class ErrorMessageFactory { */ public static ErrorMessage createErrorMessage(Exception e, int status) { - if (e instanceof ElasticsearchException) { - return new ElasticsearchErrorMessage((ElasticsearchException) e, - ((ElasticsearchException) e).status().getStatus()); - } else if (unwrapCause(e) instanceof ElasticsearchException) { - ElasticsearchException exception = (ElasticsearchException) unwrapCause(e); - return new ElasticsearchErrorMessage(exception, exception.status().getStatus()); + if (e instanceof OpenSearchException) { + return new OpenSearchErrorMessage((OpenSearchException) e, + ((OpenSearchException) e).status().getStatus()); + } else if (unwrapCause(e) instanceof OpenSearchException) { + OpenSearchException exception = (OpenSearchException) unwrapCause(e); + return new OpenSearchErrorMessage(exception, exception.status().getStatus()); } return new ErrorMessage(e, status); } public static Throwable unwrapCause(Throwable t) { Throwable result = t; - if (result instanceof ElasticsearchException) { + if (result instanceof OpenSearchException) { return result; } if (result.getCause() == null) { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ElasticsearchErrorMessage.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/OpenSearchErrorMessage.java similarity index 77% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ElasticsearchErrorMessage.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/OpenSearchErrorMessage.java index a1f506eb374..5f1c5d72865 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ElasticsearchErrorMessage.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/OpenSearchErrorMessage.java @@ -16,19 +16,19 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor.format; import com.amazon.opendistroforelasticsearch.sql.legacy.utils.StringUtils; -import org.elasticsearch.ElasticsearchException; -import org.elasticsearch.action.search.SearchPhaseExecutionException; -import org.elasticsearch.action.search.ShardSearchFailure; +import org.opensearch.OpenSearchException; +import org.opensearch.action.search.SearchPhaseExecutionException; +import org.opensearch.action.search.ShardSearchFailure; -public class ElasticsearchErrorMessage extends ErrorMessage { +public class OpenSearchErrorMessage extends ErrorMessage { - ElasticsearchErrorMessage(ElasticsearchException exception, int status) { + OpenSearchErrorMessage(OpenSearchException exception, int status) { super(exception, status); } @Override protected String fetchReason() { - return "Error occurred in Elasticsearch engine: " + exception.getMessage(); + return "Error occurred in OpenSearch engine: " + exception.getMessage(); } /** Currently Sql-Jdbc plugin only supports string type as reason and details in the error messages */ @@ -41,18 +41,18 @@ protected String fetchDetails() { details.append(defaultDetails(exception)); } details.append("\nFor more details, please send request for Json format to see the raw response from " - + "elasticsearch engine."); + + "OpenSearch engine."); return details.toString(); } - private String defaultDetails(ElasticsearchException exception) { + private String defaultDetails(OpenSearchException exception) { return exception.getDetailedMessage(); } /** * Could not deliver the exactly same error messages due to the limit of JDBC types. - * Currently our cases occurred only SearchPhaseExecutionException instances among all types of ES exceptions - * according to the survey, see all types: ElasticsearchException.ElasticsearchExceptionHandle. + * Currently our cases occurred only SearchPhaseExecutionException instances among all types of OpenSearch exceptions + * according to the survey, see all types: OpenSearchException.OpenSearchExceptionHandle. * Either add methods of fetching details for different types, or re-make a consistent message by not giving * detailed messages/root causes but only a suggestion message. */ diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/PrettyFormatRestExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/PrettyFormatRestExecutor.java index 57a5f7c134f..0be17d7a664 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/PrettyFormatRestExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/PrettyFormatRestExecutor.java @@ -25,13 +25,13 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.BackOffRetryStrategy; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.ElasticsearchException; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.Strings; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestChannel; -import org.elasticsearch.rest.RestStatus; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.OpenSearchException; +import org.opensearch.client.Client; +import org.opensearch.common.Strings; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestChannel; +import org.opensearch.rest.RestStatus; import java.util.Map; @@ -80,9 +80,9 @@ public String execute(Client client, Map params, QueryAction que protocol = new Protocol(client, queryAction, queryResult, format, Cursor.NULL_CURSOR); } } catch (Exception e) { - if (e instanceof ElasticsearchException) { - LOG.warn("An error occurred in Elasticsearch engine: " - + ((ElasticsearchException) e).getDetailedMessage(), e); + if (e instanceof OpenSearchException) { + LOG.warn("An error occurred in OpenSearch engine: " + + ((OpenSearchException) e).getDetailedMessage(), e); } else { LOG.warn("Error happened in pretty formatter", e); } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/Protocol.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/Protocol.java index bb6fdc48be0..8b149ca23d5 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/Protocol.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/Protocol.java @@ -34,7 +34,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.core.ColumnNode; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import org.json.JSONArray; import org.json.JSONObject; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ResultSet.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ResultSet.java index 0f664d7835d..17b2796b234 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ResultSet.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ResultSet.java @@ -15,7 +15,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor.format; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/Schema.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/Schema.java index 92b4b02b437..9d62d8bf9d5 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/Schema.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/Schema.java @@ -107,7 +107,7 @@ public void remove() { }; } - // Only core ES datatypes currently supported + // Only core OpenSearch datatypes currently supported public enum Type { TEXT, KEYWORD, IP, // String types LONG, INTEGER, SHORT, BYTE, DOUBLE, FLOAT, HALF_FLOAT, SCALED_FLOAT, // Numeric types diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/SelectResultSet.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/SelectResultSet.java index a6f4dadeef2..a78788f61a6 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/SelectResultSet.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/SelectResultSet.java @@ -36,20 +36,20 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.utils.SQLFunctions; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsRequest; -import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse; -import org.elasticsearch.action.search.ClearScrollResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.Strings; -import org.elasticsearch.common.document.DocumentField; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.search.aggregations.Aggregation; -import org.elasticsearch.search.aggregations.Aggregations; -import org.elasticsearch.search.aggregations.bucket.terms.Terms; -import org.elasticsearch.search.aggregations.metrics.NumericMetricsAggregation; -import org.elasticsearch.search.aggregations.metrics.Percentile; -import org.elasticsearch.search.aggregations.metrics.Percentiles; +import org.opensearch.action.admin.indices.mapping.get.GetFieldMappingsRequest; +import org.opensearch.action.admin.indices.mapping.get.GetFieldMappingsResponse; +import org.opensearch.action.search.ClearScrollResponse; +import org.opensearch.client.Client; +import org.opensearch.common.Strings; +import org.opensearch.common.document.DocumentField; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; +import org.opensearch.search.aggregations.Aggregation; +import org.opensearch.search.aggregations.Aggregations; +import org.opensearch.search.aggregations.bucket.terms.Terms; +import org.opensearch.search.aggregations.metrics.NumericMetricsAggregation; +import org.opensearch.search.aggregations.metrics.Percentile; +import org.opensearch.search.aggregations.metrics.Percentiles; import java.util.ArrayList; import java.util.Arrays; @@ -65,7 +65,7 @@ import static java.util.Collections.unmodifiableMap; import static java.util.stream.Collectors.toSet; -import static org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetadata; +import static org.opensearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetadata; public class SelectResultSet extends ResultSet { @@ -209,7 +209,7 @@ private void loadFromEsState(Query query) { if (indexMappings.containsKey(typeName)) { typeMappings = indexMappings.get(typeName); } else { - // Assuming ES version 6.x, there can be only one type per index so this for loop should grab the only type + // Assuming OpenSearch version 6.x, there can be only one type per index so this for loop should grab the only type for (String type : indexMappings.keySet()) { typeMappings = indexMappings.get(type); } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ShowResultSet.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ShowResultSet.java index a907a8ad7b9..846d0e88206 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ShowResultSet.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ShowResultSet.java @@ -19,8 +19,8 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.DataRows.Row; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.Schema.Column; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.Schema.Type; -import org.elasticsearch.action.admin.indices.get.GetIndexResponse; -import org.elasticsearch.client.Client; +import org.opensearch.action.admin.indices.get.GetIndexResponse; +import org.opensearch.client.Client; import java.util.ArrayList; import java.util.Arrays; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/ElasticJoinExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/ElasticJoinExecutor.java index fad5ba194f2..ee2618eea61 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/ElasticJoinExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/ElasticJoinExecutor.java @@ -28,21 +28,21 @@ import org.apache.logging.log4j.Logger; import org.apache.lucene.search.TotalHits; import org.apache.lucene.search.TotalHits.Relation; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.document.DocumentField; -import org.elasticsearch.common.text.Text; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.index.mapper.MapperService; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestChannel; -import org.elasticsearch.rest.RestStatus; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.search.sort.FieldSortBuilder; -import org.elasticsearch.search.sort.SortOrder; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.Client; +import org.opensearch.common.document.DocumentField; +import org.opensearch.common.text.Text; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.common.xcontent.XContentBuilder; +import org.opensearch.index.mapper.MapperService; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestChannel; +import org.opensearch.rest.RestStatus; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; +import org.opensearch.search.sort.FieldSortBuilder; +import org.opensearch.search.sort.SortOrder; import java.io.IOException; import java.util.Collection; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/ElasticUtils.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/ElasticUtils.java index 42b0e31f1ae..d1171f00731 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/ElasticUtils.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/ElasticUtils.java @@ -19,27 +19,27 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.BackOffRetryStrategy; import com.google.common.collect.ImmutableMap; import org.apache.lucene.search.TotalHits.Relation; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.bytes.BytesReference; -import org.elasticsearch.common.io.stream.BytesStreamOutput; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.common.xcontent.ToXContent.Params; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.search.sort.FieldSortBuilder; -import org.elasticsearch.search.sort.SortOrder; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.Client; +import org.opensearch.common.bytes.BytesReference; +import org.opensearch.common.io.stream.BytesStreamOutput; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.common.xcontent.ToXContent.Params; +import org.opensearch.common.xcontent.XContentBuilder; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; +import org.opensearch.search.sort.FieldSortBuilder; +import org.opensearch.search.sort.SortOrder; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Optional; -import static org.elasticsearch.common.xcontent.ToXContent.EMPTY_PARAMS; +import static org.opensearch.common.xcontent.ToXContent.EMPTY_PARAMS; /** * Created by Eliran on 2/9/2016. diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/HashJoinComparisonStructure.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/HashJoinComparisonStructure.java index cac75a60fe4..e70fac4ca35 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/HashJoinComparisonStructure.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/HashJoinComparisonStructure.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor.join; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.Field; -import org.elasticsearch.search.SearchHit; +import org.opensearch.search.SearchHit; import java.util.ArrayList; import java.util.HashMap; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/HashJoinElasticExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/HashJoinElasticExecutor.java index c1656c58983..5c0bbde1c81 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/HashJoinElasticExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/HashJoinElasticExecutor.java @@ -23,16 +23,16 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.HashJoinElasticRequestBuilder; import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.TableInJoinRequestBuilder; import com.amazon.opendistroforelasticsearch.sql.legacy.query.maker.QueryMaker; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.document.DocumentField; -import org.elasticsearch.common.text.Text; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.index.mapper.MapperService; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.SearchHit; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.Client; +import org.opensearch.common.document.DocumentField; +import org.opensearch.common.text.Text; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.index.mapper.MapperService; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.index.query.QueryBuilders; +import org.opensearch.search.SearchHit; import java.io.IOException; import java.util.ArrayList; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/NestedLoopsElasticExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/NestedLoopsElasticExecutor.java index e87ffec9fd7..17a0b85cca8 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/NestedLoopsElasticExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/NestedLoopsElasticExecutor.java @@ -19,7 +19,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.Condition; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.Select; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.Where; -import com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.ESClient; +import com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.OpenSearchClient; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; import com.amazon.opendistroforelasticsearch.sql.legacy.query.DefaultQueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.BackOffRetryStrategy; @@ -28,17 +28,17 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.maker.Maker; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.search.MultiSearchRequest; -import org.elasticsearch.action.search.MultiSearchResponse; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.document.DocumentField; -import org.elasticsearch.common.text.Text; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.index.mapper.MapperService; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; +import org.opensearch.action.search.MultiSearchRequest; +import org.opensearch.action.search.MultiSearchResponse; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.Client; +import org.opensearch.common.document.DocumentField; +import org.opensearch.common.text.Text; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.index.mapper.MapperService; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; import java.util.ArrayList; import java.util.HashMap; @@ -124,7 +124,7 @@ protected List innerRun() throws SqlParseException { private int combineResultsFromMultiResponses(List combinedResults, int totalLimit, int currentCombinedResults, SearchHit[] hits, int currentIndex, MultiSearchRequest multiSearchRequest) { - MultiSearchResponse.Item[] responses = new ESClient(client).multiSearch(multiSearchRequest); + MultiSearchResponse.Item[] responses = new OpenSearchClient(client).multiSearch(multiSearchRequest); String t1Alias = nestedLoopsRequest.getFirstTable().getAlias(); String t2Alias = nestedLoopsRequest.getSecondTable().getAlias(); diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/QueryPlanElasticExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/QueryPlanElasticExecutor.java index 24d46c13fba..7bf806ba9db 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/QueryPlanElasticExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/QueryPlanElasticExecutor.java @@ -17,7 +17,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.HashJoinQueryPlanRequestBuilder; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.core.QueryPlanner; -import org.elasticsearch.search.SearchHit; +import org.opensearch.search.SearchHit; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/SearchHitsResult.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/SearchHitsResult.java index 78c4e52564d..a161ae02208 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/SearchHitsResult.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/join/SearchHitsResult.java @@ -15,7 +15,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor.join; -import org.elasticsearch.search.SearchHit; +import org.opensearch.search.SearchHit; import java.util.ArrayList; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/ComperableHitResult.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/ComperableHitResult.java index 9c9755c13ca..9fed3b08018 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/ComperableHitResult.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/ComperableHitResult.java @@ -17,7 +17,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.utils.Util; import com.google.common.base.Joiner; -import org.elasticsearch.search.SearchHit; +import org.opensearch.search.SearchHit; import java.util.ArrayList; import java.util.HashMap; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/MinusExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/MinusExecutor.java index 395331f3b8e..162204483f2 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/MinusExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/MinusExecutor.java @@ -29,14 +29,14 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.utils.Util; import org.apache.lucene.search.TotalHits; import org.apache.lucene.search.TotalHits.Relation; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.document.DocumentField; -import org.elasticsearch.common.text.Text; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.index.mapper.MapperService; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.Client; +import org.opensearch.common.document.DocumentField; +import org.opensearch.common.text.Text; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.index.mapper.MapperService; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; import java.util.ArrayList; import java.util.Collections; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/MinusOneFieldAndOptimizationResult.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/MinusOneFieldAndOptimizationResult.java index ce351ab1e02..6c9baa0cf83 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/MinusOneFieldAndOptimizationResult.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/MinusOneFieldAndOptimizationResult.java @@ -15,7 +15,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.executor.multi; -import org.elasticsearch.search.SearchHit; +import org.opensearch.search.SearchHit; import java.util.Set; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/MultiRequestExecutorFactory.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/MultiRequestExecutorFactory.java index a23aaba3e69..3eb2fdf9813 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/MultiRequestExecutorFactory.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/MultiRequestExecutorFactory.java @@ -19,7 +19,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.SemanticAnalysisException; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.ElasticHitsExecutor; import com.amazon.opendistroforelasticsearch.sql.legacy.query.multi.MultiQueryRequestBuilder; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; /** * Created by Eliran on 21/8/2016. diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/UnionExecutor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/UnionExecutor.java index 6a59bc0197f..5388c8735ea 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/UnionExecutor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/multi/UnionExecutor.java @@ -20,13 +20,13 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.utils.Util; import org.apache.lucene.search.TotalHits; import org.apache.lucene.search.TotalHits.Relation; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.document.DocumentField; -import org.elasticsearch.common.text.Text; -import org.elasticsearch.index.mapper.MapperService; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.Client; +import org.opensearch.common.document.DocumentField; +import org.opensearch.common.text.Text; +import org.opensearch.index.mapper.MapperService; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; import java.util.ArrayList; import java.util.Arrays; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/parser/FieldMaker.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/parser/FieldMaker.java index f56b0126c61..f39d8753e8b 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/parser/FieldMaker.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/parser/FieldMaker.java @@ -44,7 +44,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.utils.SQLFunctions; import com.amazon.opendistroforelasticsearch.sql.legacy.utils.Util; import com.google.common.base.Strings; -import org.elasticsearch.common.collect.Tuple; +import org.opensearch.common.collect.Tuple; import java.util.ArrayList; import java.util.LinkedList; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/parser/ScriptFilter.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/parser/ScriptFilter.java index ae79920f9b9..5f468a354f8 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/parser/ScriptFilter.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/parser/ScriptFilter.java @@ -20,7 +20,7 @@ import com.alibaba.druid.sql.ast.expr.SQLMethodInvokeExpr; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; import com.amazon.opendistroforelasticsearch.sql.legacy.utils.Util; -import org.elasticsearch.script.ScriptType; +import org.opensearch.script.ScriptType; import java.util.HashMap; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/parser/SqlParser.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/parser/SqlParser.java index d296f66b0ca..61a6a11bb3c 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/parser/SqlParser.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/parser/SqlParser.java @@ -62,7 +62,7 @@ /** - * es sql support + * OpenSearch sql support * * @author ansj */ diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/ElasticsearchSQLPluginConfig.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/OpenSearchSQLPluginConfig.java similarity index 51% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/ElasticsearchSQLPluginConfig.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/OpenSearchSQLPluginConfig.java index ce0f60ae789..6d129dd09f4 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/ElasticsearchSQLPluginConfig.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/OpenSearchSQLPluginConfig.java @@ -18,26 +18,26 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.plugin; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchNodeClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.ElasticsearchExecutionEngine; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector.ElasticsearchExecutionProtector; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector.ExecutionProtector; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.monitor.ElasticsearchMemoryHealthy; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.monitor.ElasticsearchResourceMonitor; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.ElasticsearchStorageEngine; import com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine; import com.amazon.opendistroforelasticsearch.sql.monitor.ResourceMonitor; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchNodeClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.OpenSearchExecutionEngine; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector.ExecutionProtector; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector.OpenSearchExecutionProtector; +import com.amazon.opendistroforelasticsearch.sql.opensearch.monitor.OpenSearchMemoryHealthy; +import com.amazon.opendistroforelasticsearch.sql.opensearch.monitor.OpenSearchResourceMonitor; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.OpenSearchStorageEngine; import com.amazon.opendistroforelasticsearch.sql.storage.StorageEngine; -import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.cluster.service.ClusterService; +import org.opensearch.client.node.NodeClient; +import org.opensearch.cluster.service.ClusterService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; /** - * Elasticsearch Plugin Config for SQL. + * OpenSearch Plugin Config for SQL. */ -public class ElasticsearchSQLPluginConfig { +public class OpenSearchSQLPluginConfig { @Autowired private ClusterService clusterService; @@ -48,27 +48,27 @@ public class ElasticsearchSQLPluginConfig { private Settings settings; @Bean - public ElasticsearchClient client() { - return new ElasticsearchNodeClient(clusterService, nodeClient); + public OpenSearchClient client() { + return new OpenSearchNodeClient(clusterService, nodeClient); } @Bean public StorageEngine storageEngine() { - return new ElasticsearchStorageEngine(client(), settings); + return new OpenSearchStorageEngine(client(), settings); } @Bean public ExecutionEngine executionEngine() { - return new ElasticsearchExecutionEngine(client(), protector()); + return new OpenSearchExecutionEngine(client(), protector()); } @Bean public ResourceMonitor resourceMonitor() { - return new ElasticsearchResourceMonitor(settings, new ElasticsearchMemoryHealthy()); + return new OpenSearchResourceMonitor(settings, new OpenSearchMemoryHealthy()); } @Bean public ExecutionProtector protector() { - return new ElasticsearchExecutionProtector(resourceMonitor()); + return new OpenSearchExecutionProtector(resourceMonitor()); } } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSQLQueryAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSQLQueryAction.java index f6fdc812bd8..9ec4e5b0a06 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSQLQueryAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSQLQueryAction.java @@ -16,13 +16,18 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.plugin; +import static com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine.QueryResponse; +import static com.amazon.opendistroforelasticsearch.sql.protocol.response.format.JsonResponseFormatter.Style.PRETTY; +import static org.opensearch.rest.RestStatus.INTERNAL_SERVER_ERROR; +import static org.opensearch.rest.RestStatus.OK; + import com.amazon.opendistroforelasticsearch.sql.common.antlr.SyntaxCheckException; import com.amazon.opendistroforelasticsearch.sql.common.response.ResponseListener; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.security.SecurityAccess; import com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine.ExplainResponse; import com.amazon.opendistroforelasticsearch.sql.legacy.metrics.MetricName; import com.amazon.opendistroforelasticsearch.sql.legacy.metrics.Metrics; +import com.amazon.opendistroforelasticsearch.sql.opensearch.security.SecurityAccess; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlan; import com.amazon.opendistroforelasticsearch.sql.protocol.response.QueryResult; import com.amazon.opendistroforelasticsearch.sql.protocol.response.format.CsvResponseFormatter; @@ -34,28 +39,22 @@ import com.amazon.opendistroforelasticsearch.sql.sql.SQLService; import com.amazon.opendistroforelasticsearch.sql.sql.config.SQLServiceConfig; import com.amazon.opendistroforelasticsearch.sql.sql.domain.SQLQueryRequest; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.cluster.service.ClusterService; -import org.elasticsearch.rest.BaseRestHandler; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestChannel; -import org.elasticsearch.rest.RestRequest; -import org.elasticsearch.rest.RestStatus; -import org.springframework.context.annotation.AnnotationConfigApplicationContext; - import java.io.IOException; import java.security.PrivilegedExceptionAction; import java.util.List; - -import static com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine.QueryResponse; -import static com.amazon.opendistroforelasticsearch.sql.protocol.response.format.JsonResponseFormatter.Style.PRETTY; -import static org.elasticsearch.rest.RestStatus.INTERNAL_SERVER_ERROR; -import static org.elasticsearch.rest.RestStatus.OK; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.opensearch.client.node.NodeClient; +import org.opensearch.cluster.service.ClusterService; +import org.opensearch.rest.BaseRestHandler; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestChannel; +import org.opensearch.rest.RestRequest; +import org.opensearch.rest.RestStatus; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; /** - * New SQL REST action handler. This will not be registered to Elasticsearch unless: + * New SQL REST action handler. This will not be registered to OpenSearch unless: * 1) we want to test new SQL engine; * 2) all old functionalities migrated to new query engine and legacy REST handler removed. */ @@ -135,7 +134,7 @@ private SQLService createSQLService(NodeClient client) { context.registerBean(ClusterService.class, () -> clusterService); context.registerBean(NodeClient.class, () -> client); context.registerBean(Settings.class, () -> pluginSettings); - context.register(ElasticsearchSQLPluginConfig.class); + context.register(OpenSearchSQLPluginConfig.class); context.register(SQLServiceConfig.class); context.refresh(); return context.getBean(SQLService.class); diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSqlAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSqlAction.java index 5eb3de5a0c2..13485d68e72 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSqlAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSqlAction.java @@ -21,9 +21,9 @@ import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings.QUERY_ANALYSIS_SEMANTIC_THRESHOLD; import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings.SQL_ENABLED; import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings.SQL_NEW_ENGINE_ENABLED; -import static org.elasticsearch.rest.RestStatus.BAD_REQUEST; -import static org.elasticsearch.rest.RestStatus.OK; -import static org.elasticsearch.rest.RestStatus.SERVICE_UNAVAILABLE; +import static org.opensearch.rest.RestStatus.BAD_REQUEST; +import static org.opensearch.rest.RestStatus.OK; +import static org.opensearch.rest.RestStatus.SERVICE_UNAVAILABLE; import com.alibaba.druid.sql.parser.ParserException; import com.amazon.opendistroforelasticsearch.sql.common.antlr.SyntaxCheckException; @@ -67,16 +67,16 @@ import java.util.regex.Pattern; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.client.Client; -import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.cluster.service.ClusterService; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.index.IndexNotFoundException; -import org.elasticsearch.rest.BaseRestHandler; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestChannel; -import org.elasticsearch.rest.RestRequest; -import org.elasticsearch.rest.RestStatus; +import org.opensearch.client.Client; +import org.opensearch.client.node.NodeClient; +import org.opensearch.cluster.service.ClusterService; +import org.opensearch.common.settings.Settings; +import org.opensearch.index.IndexNotFoundException; +import org.opensearch.rest.BaseRestHandler; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestChannel; +import org.opensearch.rest.RestRequest; +import org.opensearch.rest.RestStatus; public class RestSqlAction extends BaseRestHandler { @@ -222,7 +222,7 @@ private void executeSqlRequest(final RestRequest request, final QueryAction quer RestExecutor restExecutor = ActionRequestRestExecutorFactory.createExecutor( SqlRequestParam.getFormat(params), queryAction); - //doing this hack because elasticsearch throws exception for un-consumed props + //doing this hack because OpenSearch throws exception for un-consumed props Map additionalParams = new HashMap<>(); for (String paramName : responseParams()) { if (request.hasParam(paramName)) { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSqlSettingsAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSqlSettingsAction.java index 8b935c6cf44..68d5a3ae475 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSqlSettingsAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSqlSettingsAction.java @@ -20,21 +20,21 @@ import com.google.common.collect.ImmutableList; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.ElasticsearchGenerationException; -import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsRequest; -import org.elasticsearch.client.Requests; -import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.common.Strings; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.rest.BaseRestHandler; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestController; -import org.elasticsearch.rest.RestRequest; -import org.elasticsearch.rest.action.RestToXContentListener; +import org.opensearch.OpenSearchGenerationException; +import org.opensearch.action.admin.cluster.settings.ClusterUpdateSettingsRequest; +import org.opensearch.client.Requests; +import org.opensearch.client.node.NodeClient; +import org.opensearch.common.Strings; +import org.opensearch.common.settings.Settings; +import org.opensearch.common.xcontent.XContentBuilder; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.rest.BaseRestHandler; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestController; +import org.opensearch.rest.RestRequest; +import org.opensearch.rest.action.RestToXContentListener; import java.io.IOException; import java.util.Arrays; @@ -43,7 +43,7 @@ import java.util.Map; import java.util.Set; -import static org.elasticsearch.rest.RestStatus.INTERNAL_SERVER_ERROR; +import static org.opensearch.rest.RestStatus.INTERNAL_SERVER_ERROR; /** * Interface to manage opendistro.sql.* cluster settings @@ -79,7 +79,7 @@ public List routes() { } /** - * @see org.elasticsearch.rest.action.admin.cluster.RestClusterUpdateSettingsAction + * @see org.opensearch.rest.action.admin.cluster.RestClusterUpdateSettingsAction */ @Override protected RestChannelConsumer prepareRequest(RestRequest request, NodeClient client) throws IOException { @@ -126,7 +126,7 @@ private Settings getAndFilterSettings(Map source) { settingsBuilder.keys().removeIf(key -> !key.startsWith(SQL_SETTINGS_PREFIX)); return settingsBuilder.build(); } catch (IOException e) { - throw new ElasticsearchGenerationException("Failed to generate [" + source + "]", e); + throw new OpenSearchGenerationException("Failed to generate [" + source + "]", e); } } } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSqlStatsAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSqlStatsAction.java index d4e5b6c5009..920ea9c264e 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSqlStatsAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSqlStatsAction.java @@ -21,20 +21,20 @@ import com.google.common.collect.ImmutableList; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.rest.BaseRestHandler; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestController; -import org.elasticsearch.rest.RestRequest; -import org.elasticsearch.rest.RestStatus; +import org.opensearch.client.node.NodeClient; +import org.opensearch.common.settings.Settings; +import org.opensearch.rest.BaseRestHandler; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestController; +import org.opensearch.rest.RestRequest; +import org.opensearch.rest.RestStatus; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; -import static org.elasticsearch.rest.RestStatus.SERVICE_UNAVAILABLE; +import static org.opensearch.rest.RestStatus.SERVICE_UNAVAILABLE; /** * Currently this interface is for node level. diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/SearchDao.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/SearchDao.java index a31e1fec403..2ad72040325 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/SearchDao.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/SearchDao.java @@ -17,9 +17,9 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.QueryActionRequest; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; -import com.amazon.opendistroforelasticsearch.sql.legacy.query.ESActionFactory; +import com.amazon.opendistroforelasticsearch.sql.legacy.query.OpenSearchActionFactory; import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import java.sql.SQLFeatureNotSupportedException; import java.util.HashSet; @@ -50,14 +50,14 @@ public Client getClient() { /** * Prepare action And transform sql - * into ES ActionRequest + * into OpenSearch ActionRequest * * @param queryActionRequest SQL query action request to execute. - * @return ES request + * @return OpenSearch request * @throws SqlParseException */ public QueryAction explain(QueryActionRequest queryActionRequest) throws SqlParseException, SQLFeatureNotSupportedException { - return ESActionFactory.create(client, queryActionRequest); + return OpenSearchActionFactory.create(client, queryActionRequest); } } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/SqlSettings.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/SqlSettings.java index 346b4b84236..8e1cbcb5a82 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/SqlSettings.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/SqlSettings.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.plugin; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.Format; -import org.elasticsearch.common.settings.Setting; +import org.opensearch.common.settings.Setting; import java.util.ArrayList; import java.util.HashMap; @@ -24,9 +24,9 @@ import java.util.Map; import static java.util.Collections.unmodifiableMap; -import static org.elasticsearch.common.settings.Setting.Property.Dynamic; -import static org.elasticsearch.common.settings.Setting.Property.NodeScope; -import static org.elasticsearch.common.unit.TimeValue.timeValueMinutes; +import static org.opensearch.common.settings.Setting.Property.Dynamic; +import static org.opensearch.common.settings.Setting.Property.NodeScope; +import static org.opensearch.common.unit.TimeValue.timeValueMinutes; /** * SQL plugin settings @@ -34,9 +34,9 @@ public class SqlSettings { /** - * Get plugin settings stored in cluster setting. Why not use ES slow log settings consistently? + * Get plugin settings stored in cluster setting. Why not use OpenSearch slow log settings consistently? * 1) It's per-index setting. - * 2) It has separate setting for Query and Fetch phase which are all ES internal concepts. + * 2) It has separate setting for Query and Fetch phase which are all OpenSearch internal concepts. */ public static final String SQL_ENABLED = "opendistro.sql.enabled"; public static final String SQL_NEW_ENGINE_ENABLED = "opendistro.sql.engine.new.enabled"; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/AggregationQueryAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/AggregationQueryAction.java index db75e7dd4f6..79754ddab82 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/AggregationQueryAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/AggregationQueryAction.java @@ -30,26 +30,26 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.maker.AggMaker; import com.amazon.opendistroforelasticsearch.sql.legacy.query.maker.QueryMaker; import com.google.common.collect.Lists; -import org.elasticsearch.action.search.SearchAction; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.client.Client; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.join.aggregations.JoinAggregationBuilders; -import org.elasticsearch.search.aggregations.AggregationBuilder; -import org.elasticsearch.search.aggregations.AggregationBuilders; -import org.elasticsearch.search.aggregations.BucketOrder; -import org.elasticsearch.search.aggregations.bucket.nested.NestedAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.nested.ReverseNestedAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder; -import org.elasticsearch.search.sort.SortOrder; +import org.opensearch.action.search.SearchAction; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.action.search.SearchType; +import org.opensearch.client.Client; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.join.aggregations.JoinAggregationBuilders; +import org.opensearch.search.aggregations.AggregationBuilder; +import org.opensearch.search.aggregations.AggregationBuilders; +import org.opensearch.search.aggregations.BucketOrder; +import org.opensearch.search.aggregations.bucket.nested.NestedAggregationBuilder; +import org.opensearch.search.aggregations.bucket.nested.ReverseNestedAggregationBuilder; +import org.opensearch.search.aggregations.bucket.terms.TermsAggregationBuilder; +import org.opensearch.search.sort.SortOrder; import java.util.ArrayList; import java.util.List; import java.util.Map; /** - * Transform SQL query to Elasticsearch aggregations query + * Transform SQL query to OpenSearch aggregations query */ public class AggregationQueryAction extends QueryAction { @@ -63,7 +63,7 @@ public AggregationQueryAction(Client client, Select select) { } @Override - public SqlElasticSearchRequestBuilder explain() throws SqlParseException { + public SqlOpenSearchRequestBuilder explain() throws SqlParseException { this.request = new SearchRequestBuilder(client, SearchAction.INSTANCE); if (select.getRowCount() == null) { @@ -238,7 +238,7 @@ public SqlElasticSearchRequestBuilder explain() throws SqlParseException { updateRequestWithHighlight(select, request); updateRequestWithCollapse(select, request); updateRequestWithPostFilter(select, request); - return new SqlElasticSearchRequestBuilder(request); + return new SqlOpenSearchRequestBuilder(request); } private AggregationBuilder getGroupAgg(Field groupByField, Select select) throws SqlParseException { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/DefaultQueryAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/DefaultQueryAction.java index 0a4da06488b..666ce4ff162 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/DefaultQueryAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/DefaultQueryAction.java @@ -36,20 +36,20 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.utils.SQLFunctions; import com.google.common.annotations.VisibleForTesting; -import org.elasticsearch.action.search.SearchAction; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.script.Script; -import org.elasticsearch.script.ScriptType; -import org.elasticsearch.search.sort.FieldSortBuilder; -import org.elasticsearch.search.sort.NestedSortBuilder; -import org.elasticsearch.search.sort.ScoreSortBuilder; -import org.elasticsearch.search.sort.ScriptSortBuilder.ScriptSortType; -import org.elasticsearch.search.sort.SortBuilders; -import org.elasticsearch.search.sort.SortOrder; +import org.opensearch.action.search.SearchAction; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.action.search.SearchType; +import org.opensearch.client.Client; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.script.Script; +import org.opensearch.script.ScriptType; +import org.opensearch.search.sort.FieldSortBuilder; +import org.opensearch.search.sort.NestedSortBuilder; +import org.opensearch.search.sort.ScoreSortBuilder; +import org.opensearch.search.sort.ScriptSortBuilder.ScriptSortType; +import org.opensearch.search.sort.SortBuilders; +import org.opensearch.search.sort.SortOrder; import java.util.ArrayList; import java.util.Collections; @@ -64,7 +64,7 @@ import static com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings.CURSOR_KEEPALIVE; /** - * Transform SQL query to standard Elasticsearch search query + * Transform SQL query to standard OpenSearch search query */ public class DefaultQueryAction extends QueryAction { @@ -83,11 +83,11 @@ public void initialize(SearchRequestBuilder request) { } @Override - public SqlElasticSearchRequestBuilder explain() throws SqlParseException { - Objects.requireNonNull(this.sqlRequest, "SqlRequest is required for ES request build"); + public SqlOpenSearchRequestBuilder explain() throws SqlParseException { + Objects.requireNonNull(this.sqlRequest, "SqlRequest is required for OpenSearch request build"); buildRequest(); checkAndSetScroll(); - return new SqlElasticSearchRequestBuilder(request); + return new SqlOpenSearchRequestBuilder(request); } private void buildRequest() throws SqlParseException { @@ -230,7 +230,7 @@ private void setWhere(Where where) throws SqlParseException { } /** - * Add sorts to the elasticsearch query based on the 'ORDER BY' clause. + * Add sorts to the OpenSearch query based on the 'ORDER BY' clause. * * @param orderBys list of Order object */ @@ -306,7 +306,7 @@ private ScriptSortType getScriptSortType(Order order) { } /** - * Add from and size to the ES query based on the 'LIMIT' clause + * Add from and size to the OpenSearch query based on the 'LIMIT' clause * * @param from starts from document at position from * @param size number of documents to return. diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/DeleteQueryAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/DeleteQueryAction.java index ebf9e5f5df6..31bdf4ea3ab 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/DeleteQueryAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/DeleteQueryAction.java @@ -20,12 +20,12 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.Where; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; import com.amazon.opendistroforelasticsearch.sql.legacy.query.maker.QueryMaker; -import org.elasticsearch.client.Client; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.index.reindex.DeleteByQueryAction; -import org.elasticsearch.index.reindex.DeleteByQueryRequest; -import org.elasticsearch.index.reindex.DeleteByQueryRequestBuilder; +import org.opensearch.client.Client; +import org.opensearch.index.query.QueryBuilder; +import org.opensearch.index.query.QueryBuilders; +import org.opensearch.index.reindex.DeleteByQueryAction; +import org.opensearch.index.reindex.DeleteByQueryRequest; +import org.opensearch.index.reindex.DeleteByQueryRequestBuilder; public class DeleteQueryAction extends QueryAction { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/DescribeQueryAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/DescribeQueryAction.java index 12926a81d10..d590d4e860f 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/DescribeQueryAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/DescribeQueryAction.java @@ -18,8 +18,8 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.IndexStatement; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.QueryStatement; import com.amazon.opendistroforelasticsearch.sql.legacy.utils.Util; -import org.elasticsearch.action.admin.indices.get.GetIndexRequestBuilder; -import org.elasticsearch.client.Client; +import org.opensearch.action.admin.indices.get.GetIndexRequestBuilder; +import org.opensearch.client.Client; public class DescribeQueryAction extends QueryAction { @@ -36,9 +36,9 @@ public QueryStatement getQueryStatement() { } @Override - public SqlElasticSearchRequestBuilder explain() { + public SqlOpenSearchRequestBuilder explain() { final GetIndexRequestBuilder indexRequestBuilder = Util.prepareIndexRequestBuilder(client, statement); - return new SqlElasticSearchRequestBuilder(indexRequestBuilder); + return new SqlOpenSearchRequestBuilder(indexRequestBuilder); } } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/ESActionFactory.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/OpenSearchActionFactory.java similarity index 96% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/ESActionFactory.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/OpenSearchActionFactory.java index eeb3efe49a1..63a08d771f9 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/ESActionFactory.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/OpenSearchActionFactory.java @@ -44,7 +44,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.parser.ElasticLexer; import com.amazon.opendistroforelasticsearch.sql.legacy.parser.SqlParser; import com.amazon.opendistroforelasticsearch.sql.legacy.parser.SubQueryExpression; -import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.ESJoinQueryActionFactory; +import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.OpenSearchJoinQueryActionFactory; import com.amazon.opendistroforelasticsearch.sql.legacy.query.multi.MultiQueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.multi.MultiQuerySelect; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.core.BindingTupleQueryPlanner; @@ -59,9 +59,9 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.rewriter.parent.SQLExprParentSetterRule; import com.amazon.opendistroforelasticsearch.sql.legacy.rewriter.subquery.SubQueryRewriteRule; import com.google.common.annotations.VisibleForTesting; -import org.elasticsearch.client.Client; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; +import org.opensearch.client.Client; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; import java.sql.SQLFeatureNotSupportedException; import java.util.ArrayList; @@ -70,7 +70,7 @@ import static com.amazon.opendistroforelasticsearch.sql.legacy.domain.IndexStatement.StatementType; import static com.amazon.opendistroforelasticsearch.sql.legacy.utils.Util.toSqlExpr; -public class ESActionFactory { +public class OpenSearchActionFactory { public static QueryAction create(Client client, String sql) throws SqlParseException, SQLFeatureNotSupportedException { @@ -116,7 +116,7 @@ public static QueryAction create(Client client, QueryActionRequest request) new JoinRewriteRule(LocalClusterState.state()).rewrite(sqlExpr); sqlExpr.accept(new TermFieldRewriter(TermRewriterFilter.JOIN)); JoinSelect joinSelect = new SqlParser().parseJoinSelect(sqlExpr); - return ESJoinQueryActionFactory.createJoinAction(client, joinSelect); + return OpenSearchJoinQueryActionFactory.createJoinAction(client, joinSelect); } else { sqlExpr.accept(new TermFieldRewriter()); // migrate aggregation to query planner framework. @@ -198,7 +198,7 @@ private static boolean isJoin(SQLQueryExpr sqlExpr, String sql) { @VisibleForTesting public static boolean shouldMigrateToQueryPlan(SQLQueryExpr expr, Format format) { - // The JSON format will return the Elasticsearch aggregation result, which is not supported by the QueryPlanner. + // The JSON format will return the OpenSearch aggregation result, which is not supported by the QueryPlanner. if (format == Format.JSON) { return false; } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/QueryAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/QueryAction.java index 04bd92c84a7..fea47f7cf84 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/QueryAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/QueryAction.java @@ -25,15 +25,15 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.executor.Format; import com.amazon.opendistroforelasticsearch.sql.legacy.request.SqlRequest; import com.fasterxml.jackson.core.JsonFactory; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.support.IndicesOptions; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.json.JsonXContentParser; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.collapse.CollapseBuilder; -import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.action.support.IndicesOptions; +import org.opensearch.client.Client; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.json.JsonXContentParser; +import org.opensearch.index.query.QueryBuilders; +import org.opensearch.search.collapse.CollapseBuilder; +import org.opensearch.search.fetch.subphase.highlight.HighlightBuilder; import java.io.IOException; import java.util.ArrayList; @@ -43,7 +43,7 @@ /** * Abstract class. used to transform Select object (Represents SQL query) to - * SearchRequestBuilder (Represents ES query) + * SearchRequestBuilder (Represents OpenSearch query) */ public abstract class QueryAction { @@ -231,9 +231,9 @@ private char[] fromArrayListToCharArray(ArrayList arrayList) { } /** - * Prepare the request, and return ES request. + * Prepare the request, and return OpenSearch request. * - * @return ActionRequestBuilder (ES request) + * @return ActionRequestBuilder (OpenSearch request) * @throws SqlParseException */ public abstract SqlElasticRequestBuilder explain() throws SqlParseException; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/ShowQueryAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/ShowQueryAction.java index 986c65b9547..94dcaaf11a4 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/ShowQueryAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/ShowQueryAction.java @@ -17,8 +17,8 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.IndexStatement; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.QueryStatement; -import org.elasticsearch.action.admin.indices.get.GetIndexRequestBuilder; -import org.elasticsearch.client.Client; +import org.opensearch.action.admin.indices.get.GetIndexRequestBuilder; +import org.opensearch.client.Client; import static com.amazon.opendistroforelasticsearch.sql.legacy.utils.Util.prepareIndexRequestBuilder; @@ -37,9 +37,9 @@ public QueryStatement getQueryStatement() { } @Override - public SqlElasticSearchRequestBuilder explain() { + public SqlOpenSearchRequestBuilder explain() { final GetIndexRequestBuilder indexRequestBuilder = prepareIndexRequestBuilder(client, statement); - return new SqlElasticSearchRequestBuilder(indexRequestBuilder); + return new SqlOpenSearchRequestBuilder(indexRequestBuilder); } } \ No newline at end of file diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlElasticDeleteByQueryRequestBuilder.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlElasticDeleteByQueryRequestBuilder.java index 4e3a1e92b19..c1cde09fe58 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlElasticDeleteByQueryRequestBuilder.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlElasticDeleteByQueryRequestBuilder.java @@ -15,11 +15,11 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.query; -import org.elasticsearch.action.ActionRequest; -import org.elasticsearch.action.ActionRequestBuilder; -import org.elasticsearch.action.ActionResponse; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.index.reindex.DeleteByQueryRequestBuilder; +import org.opensearch.action.ActionRequest; +import org.opensearch.action.ActionRequestBuilder; +import org.opensearch.action.ActionResponse; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.index.reindex.DeleteByQueryRequestBuilder; /** * Created by Eliran on 19/8/2015. diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlElasticRequestBuilder.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlElasticRequestBuilder.java index 6b1391e528a..c80e8458973 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlElasticRequestBuilder.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlElasticRequestBuilder.java @@ -15,9 +15,9 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.query; -import org.elasticsearch.action.ActionRequest; -import org.elasticsearch.action.ActionRequestBuilder; -import org.elasticsearch.action.ActionResponse; +import org.opensearch.action.ActionRequest; +import org.opensearch.action.ActionRequestBuilder; +import org.opensearch.action.ActionResponse; /** * Created by Eliran on 19/8/2015. diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlElasticSearchRequestBuilder.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlOpenSearchRequestBuilder.java similarity index 80% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlElasticSearchRequestBuilder.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlOpenSearchRequestBuilder.java index 92527ab4521..9f013a561dc 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlElasticSearchRequestBuilder.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/SqlOpenSearchRequestBuilder.java @@ -15,17 +15,17 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.query; -import org.elasticsearch.action.ActionRequest; -import org.elasticsearch.action.ActionRequestBuilder; -import org.elasticsearch.action.ActionResponse; +import org.opensearch.action.ActionRequest; +import org.opensearch.action.ActionRequestBuilder; +import org.opensearch.action.ActionResponse; /** * Created by Eliran on 19/8/2015. */ -public class SqlElasticSearchRequestBuilder implements SqlElasticRequestBuilder { +public class SqlOpenSearchRequestBuilder implements SqlElasticRequestBuilder { ActionRequestBuilder requestBuilder; - public SqlElasticSearchRequestBuilder(ActionRequestBuilder requestBuilder) { + public SqlOpenSearchRequestBuilder(ActionRequestBuilder requestBuilder) { this.requestBuilder = requestBuilder; } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/BackOffRetryStrategy.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/BackOffRetryStrategy.java index 41a38526190..c13e129fbff 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/BackOffRetryStrategy.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/BackOffRetryStrategy.java @@ -19,7 +19,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.metrics.Metrics; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.common.collect.Tuple; +import org.opensearch.common.collect.Tuple; import java.util.ArrayList; import java.util.Arrays; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/JoinRequestBuilder.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/JoinRequestBuilder.java index 6d533ce2a6b..08a6646c095 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/JoinRequestBuilder.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/JoinRequestBuilder.java @@ -17,15 +17,15 @@ import com.alibaba.druid.sql.ast.statement.SQLJoinTableSource; import com.amazon.opendistroforelasticsearch.sql.legacy.query.SqlElasticRequestBuilder; -import org.elasticsearch.action.ActionRequest; -import org.elasticsearch.action.ActionRequestBuilder; -import org.elasticsearch.action.ActionResponse; -import org.elasticsearch.action.search.MultiSearchRequest; -import org.elasticsearch.common.bytes.BytesReference; -import org.elasticsearch.common.xcontent.ToXContent; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentType; +import org.opensearch.action.ActionRequest; +import org.opensearch.action.ActionRequestBuilder; +import org.opensearch.action.ActionResponse; +import org.opensearch.action.search.MultiSearchRequest; +import org.opensearch.common.bytes.BytesReference; +import org.opensearch.common.xcontent.ToXContent; +import org.opensearch.common.xcontent.XContentBuilder; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentType; import java.io.IOException; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/NestedLoopsElasticRequestBuilder.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/NestedLoopsElasticRequestBuilder.java index 14c806f3279..828650b4999 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/NestedLoopsElasticRequestBuilder.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/NestedLoopsElasticRequestBuilder.java @@ -20,11 +20,11 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.Where; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; import com.amazon.opendistroforelasticsearch.sql.legacy.query.maker.QueryMaker; -import org.elasticsearch.common.bytes.BytesReference; -import org.elasticsearch.common.xcontent.ToXContent; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentType; +import org.opensearch.common.bytes.BytesReference; +import org.opensearch.common.xcontent.ToXContent; +import org.opensearch.common.xcontent.XContentBuilder; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentType; import org.json.JSONObject; import org.json.JSONStringer; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/ESHashJoinQueryAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/OpenSearchHashJoinQueryAction.java similarity index 97% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/ESHashJoinQueryAction.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/OpenSearchHashJoinQueryAction.java index c1180d5c57c..449919d59aa 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/ESHashJoinQueryAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/OpenSearchHashJoinQueryAction.java @@ -23,7 +23,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.hints.HintType; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.HashJoinQueryPlanRequestBuilder; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import java.util.AbstractMap; import java.util.ArrayList; @@ -33,9 +33,9 @@ /** * Created by Eliran on 22/8/2015. */ -public class ESHashJoinQueryAction extends ESJoinQueryAction { +public class OpenSearchHashJoinQueryAction extends OpenSearchJoinQueryAction { - public ESHashJoinQueryAction(Client client, JoinSelect joinSelect) { + public OpenSearchHashJoinQueryAction(Client client, JoinSelect joinSelect) { super(client, joinSelect); } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/ESJoinQueryAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/OpenSearchJoinQueryAction.java similarity index 97% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/ESJoinQueryAction.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/OpenSearchJoinQueryAction.java index 4f83e49ac2c..2ae85677c7c 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/ESJoinQueryAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/OpenSearchJoinQueryAction.java @@ -26,18 +26,18 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.SqlElasticRequestBuilder; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.HashJoinQueryPlanRequestBuilder; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.core.Config; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import java.util.List; /** * Created by Eliran on 15/9/2015. */ -public abstract class ESJoinQueryAction extends QueryAction { +public abstract class OpenSearchJoinQueryAction extends QueryAction { protected JoinSelect joinSelect; - public ESJoinQueryAction(Client client, JoinSelect joinSelect) { + public OpenSearchJoinQueryAction(Client client, JoinSelect joinSelect) { super(client, joinSelect); this.joinSelect = joinSelect; } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/ESJoinQueryActionFactory.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/OpenSearchJoinQueryActionFactory.java similarity index 85% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/ESJoinQueryActionFactory.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/OpenSearchJoinQueryActionFactory.java index 3774dcbcca4..3ddb425ad2e 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/ESJoinQueryActionFactory.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/OpenSearchJoinQueryActionFactory.java @@ -20,14 +20,14 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.hints.Hint; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.hints.HintType; import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import java.util.List; /** * Created by Eliran on 15/9/2015. */ -public class ESJoinQueryActionFactory { +public class OpenSearchJoinQueryActionFactory { public static QueryAction createJoinAction(Client client, JoinSelect joinSelect) { List connectedConditions = joinSelect.getConnectedConditions(); boolean allEqual = true; @@ -39,7 +39,7 @@ public static QueryAction createJoinAction(Client client, JoinSelect joinSelect) } if (!allEqual) { - return new ESNestedLoopsQueryAction(client, joinSelect); + return new OpenSearchNestedLoopsQueryAction(client, joinSelect); } boolean useNestedLoopsHintExist = false; @@ -50,10 +50,10 @@ public static QueryAction createJoinAction(Client client, JoinSelect joinSelect) } } if (useNestedLoopsHintExist) { - return new ESNestedLoopsQueryAction(client, joinSelect); + return new OpenSearchNestedLoopsQueryAction(client, joinSelect); } - return new ESHashJoinQueryAction(client, joinSelect); + return new OpenSearchHashJoinQueryAction(client, joinSelect); } } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/ESNestedLoopsQueryAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/OpenSearchNestedLoopsQueryAction.java similarity index 92% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/ESNestedLoopsQueryAction.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/OpenSearchNestedLoopsQueryAction.java index 640c4a671d4..97e7ae6e7e5 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/ESNestedLoopsQueryAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/OpenSearchNestedLoopsQueryAction.java @@ -20,14 +20,14 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.hints.Hint; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.hints.HintType; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; /** * Created by Eliran on 15/9/2015. */ -public class ESNestedLoopsQueryAction extends ESJoinQueryAction { +public class OpenSearchNestedLoopsQueryAction extends OpenSearchJoinQueryAction { - public ESNestedLoopsQueryAction(Client client, JoinSelect joinSelect) { + public OpenSearchNestedLoopsQueryAction(Client client, JoinSelect joinSelect) { super(client, joinSelect); } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/TableInJoinRequestBuilder.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/TableInJoinRequestBuilder.java index b269963b571..8234ccef0cb 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/TableInJoinRequestBuilder.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/join/TableInJoinRequestBuilder.java @@ -17,7 +17,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.Field; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.Select; -import org.elasticsearch.action.search.SearchRequestBuilder; +import org.opensearch.action.search.SearchRequestBuilder; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/maker/AggMaker.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/maker/AggMaker.java index 5c72bb14bb2..429e794e002 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/maker/AggMaker.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/maker/AggMaker.java @@ -29,38 +29,38 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.utils.Util; import com.fasterxml.jackson.core.JsonFactory; import org.apache.commons.lang3.StringUtils; -import org.elasticsearch.common.ParsingException; -import org.elasticsearch.common.Strings; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.json.JsonXContent; -import org.elasticsearch.common.xcontent.json.JsonXContentParser; -import org.elasticsearch.join.aggregations.JoinAggregationBuilders; -import org.elasticsearch.script.Script; -import org.elasticsearch.script.ScriptType; -import org.elasticsearch.search.aggregations.AbstractAggregationBuilder; -import org.elasticsearch.search.aggregations.AggregationBuilder; -import org.elasticsearch.search.aggregations.AggregationBuilders; -import org.elasticsearch.search.aggregations.BucketOrder; -import org.elasticsearch.search.aggregations.InternalOrder; -import org.elasticsearch.search.aggregations.bucket.filter.FilterAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.geogrid.GeoGridAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramInterval; -import org.elasticsearch.search.aggregations.bucket.histogram.HistogramAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.histogram.LongBounds; -import org.elasticsearch.search.aggregations.bucket.nested.ReverseNestedAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.range.DateRangeAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.range.RangeAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.terms.IncludeExclude; -import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.GeoBoundsAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.PercentilesAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.ScriptedMetricAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.TopHitsAggregationBuilder; -import org.elasticsearch.search.aggregations.support.ValuesSourceAggregationBuilder; -import org.elasticsearch.search.sort.SortOrder; +import org.opensearch.common.ParsingException; +import org.opensearch.common.Strings; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.json.JsonXContent; +import org.opensearch.common.xcontent.json.JsonXContentParser; +import org.opensearch.join.aggregations.JoinAggregationBuilders; +import org.opensearch.script.Script; +import org.opensearch.script.ScriptType; +import org.opensearch.search.aggregations.AbstractAggregationBuilder; +import org.opensearch.search.aggregations.AggregationBuilder; +import org.opensearch.search.aggregations.AggregationBuilders; +import org.opensearch.search.aggregations.BucketOrder; +import org.opensearch.search.aggregations.InternalOrder; +import org.opensearch.search.aggregations.bucket.filter.FilterAggregationBuilder; +import org.opensearch.search.aggregations.bucket.geogrid.GeoGridAggregationBuilder; +import org.opensearch.search.aggregations.bucket.histogram.DateHistogramAggregationBuilder; +import org.opensearch.search.aggregations.bucket.histogram.DateHistogramInterval; +import org.opensearch.search.aggregations.bucket.histogram.HistogramAggregationBuilder; +import org.opensearch.search.aggregations.bucket.histogram.LongBounds; +import org.opensearch.search.aggregations.bucket.nested.ReverseNestedAggregationBuilder; +import org.opensearch.search.aggregations.bucket.range.DateRangeAggregationBuilder; +import org.opensearch.search.aggregations.bucket.range.RangeAggregationBuilder; +import org.opensearch.search.aggregations.bucket.terms.IncludeExclude; +import org.opensearch.search.aggregations.bucket.terms.TermsAggregationBuilder; +import org.opensearch.search.aggregations.metrics.GeoBoundsAggregationBuilder; +import org.opensearch.search.aggregations.metrics.PercentilesAggregationBuilder; +import org.opensearch.search.aggregations.metrics.ScriptedMetricAggregationBuilder; +import org.opensearch.search.aggregations.metrics.TopHitsAggregationBuilder; +import org.opensearch.search.aggregations.support.ValuesSourceAggregationBuilder; +import org.opensearch.search.sort.SortOrder; import java.io.IOException; import java.math.BigDecimal; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/maker/Maker.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/maker/Maker.java index 18caafa507d..242826ae4a5 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/maker/Maker.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/maker/Maker.java @@ -37,30 +37,30 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import org.apache.lucene.search.join.ScoreMode; -import org.elasticsearch.common.geo.GeoPoint; -import org.elasticsearch.common.geo.builders.ShapeBuilder; -import org.elasticsearch.common.geo.parsers.ShapeParser; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.ToXContent; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.json.JsonXContent; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.GeoPolygonQueryBuilder; -import org.elasticsearch.index.query.MatchNoneQueryBuilder; -import org.elasticsearch.index.query.MatchPhraseQueryBuilder; -import org.elasticsearch.index.query.MatchQueryBuilder; -import org.elasticsearch.index.query.MultiMatchQueryBuilder; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.index.query.QueryStringQueryBuilder; -import org.elasticsearch.index.query.RangeQueryBuilder; -import org.elasticsearch.index.query.RegexpFlag; -import org.elasticsearch.index.query.RegexpQueryBuilder; -import org.elasticsearch.index.query.TermQueryBuilder; -import org.elasticsearch.index.query.WildcardQueryBuilder; -import org.elasticsearch.join.query.JoinQueryBuilders; -import org.elasticsearch.script.Script; +import org.opensearch.common.geo.GeoPoint; +import org.opensearch.common.geo.builders.ShapeBuilder; +import org.opensearch.common.geo.parsers.ShapeParser; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.ToXContent; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.json.JsonXContent; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.index.query.GeoPolygonQueryBuilder; +import org.opensearch.index.query.MatchNoneQueryBuilder; +import org.opensearch.index.query.MatchPhraseQueryBuilder; +import org.opensearch.index.query.MatchQueryBuilder; +import org.opensearch.index.query.MultiMatchQueryBuilder; +import org.opensearch.index.query.QueryBuilder; +import org.opensearch.index.query.QueryBuilders; +import org.opensearch.index.query.QueryStringQueryBuilder; +import org.opensearch.index.query.RangeQueryBuilder; +import org.opensearch.index.query.RegexpFlag; +import org.opensearch.index.query.RegexpQueryBuilder; +import org.opensearch.index.query.TermQueryBuilder; +import org.opensearch.index.query.WildcardQueryBuilder; +import org.opensearch.join.query.JoinQueryBuilders; +import org.opensearch.script.Script; import java.io.IOException; import java.math.BigDecimal; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/maker/QueryMaker.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/maker/QueryMaker.java index 6df498180a4..040c0c147e0 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/maker/QueryMaker.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/maker/QueryMaker.java @@ -20,10 +20,10 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.Where; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; import org.apache.lucene.search.join.ScoreMode; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.join.query.JoinQueryBuilders; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.index.query.QueryBuilder; +import org.opensearch.index.query.QueryBuilders; +import org.opensearch.join.query.JoinQueryBuilders; public class QueryMaker extends Maker { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/MultiQueryAction.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/MultiQueryAction.java index e1bfe48730a..9749e313ecb 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/MultiQueryAction.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/MultiQueryAction.java @@ -21,8 +21,8 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.DefaultQueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.SqlElasticRequestBuilder; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.client.Client; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.client.Client; import java.util.HashSet; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/MultiQueryRequestBuilder.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/MultiQueryRequestBuilder.java index 8cc42fc023b..227497d8c72 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/MultiQueryRequestBuilder.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/MultiQueryRequestBuilder.java @@ -19,15 +19,15 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.Field; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.Select; import com.amazon.opendistroforelasticsearch.sql.legacy.query.SqlElasticRequestBuilder; -import org.elasticsearch.action.ActionRequest; -import org.elasticsearch.action.ActionRequestBuilder; -import org.elasticsearch.action.ActionResponse; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.common.bytes.BytesReference; -import org.elasticsearch.common.xcontent.ToXContent; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentType; +import org.opensearch.action.ActionRequest; +import org.opensearch.action.ActionRequestBuilder; +import org.opensearch.action.ActionResponse; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.common.bytes.BytesReference; +import org.opensearch.common.xcontent.ToXContent; +import org.opensearch.common.xcontent.XContentBuilder; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentType; import java.io.IOException; import java.util.HashMap; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/ESMultiQueryActionFactory.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/OpenSearchMultiQueryActionFactory.java similarity index 93% rename from legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/ESMultiQueryActionFactory.java rename to legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/OpenSearchMultiQueryActionFactory.java index a6d054433f9..9bc540a3bc6 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/ESMultiQueryActionFactory.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/multi/OpenSearchMultiQueryActionFactory.java @@ -17,12 +17,12 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; /** * Created by Eliran on 19/8/2016. */ -public class ESMultiQueryActionFactory { +public class OpenSearchMultiQueryActionFactory { public static QueryAction createMultiQueryAction(Client client, MultiQuerySelect multiSelect) throws SqlParseException { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/HashJoinQueryPlanRequestBuilder.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/HashJoinQueryPlanRequestBuilder.java index 440d35f2592..0ee863c0485 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/HashJoinQueryPlanRequestBuilder.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/HashJoinQueryPlanRequestBuilder.java @@ -20,7 +20,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.core.QueryParams; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.core.QueryPlanner; import com.amazon.opendistroforelasticsearch.sql.legacy.request.SqlRequest; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; /** * QueryPlanner builder for Hash Join query. In future, different queries could have its own builders to generate @@ -29,7 +29,7 @@ public class HashJoinQueryPlanRequestBuilder extends HashJoinElasticRequestBuilder { /** - * Client connection to ES cluster + * Client connection to OpenSearch cluster */ private final Client client; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/converter/SQLToOperatorConverter.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/converter/SQLToOperatorConverter.java index 8a922198d66..3d26ff0bc93 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/converter/SQLToOperatorConverter.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/converter/SQLToOperatorConverter.java @@ -30,7 +30,7 @@ import lombok.SneakyThrows; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/core/BindingTupleQueryPlanner.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/core/BindingTupleQueryPlanner.java index 43c3c7adf7e..d7f7daf4cc2 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/core/BindingTupleQueryPlanner.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/core/BindingTupleQueryPlanner.java @@ -22,7 +22,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.physical.PhysicalOperator; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.physical.node.scroll.PhysicalScroll; import lombok.Getter; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import java.util.ArrayList; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/core/QueryPlanner.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/core/QueryPlanner.java index 7f850a108d2..94266072f85 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/core/QueryPlanner.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/core/QueryPlanner.java @@ -22,8 +22,8 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.physical.PhysicalPlan; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.resource.ResourceManager; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.resource.Stats; -import org.elasticsearch.client.Client; -import org.elasticsearch.search.SearchHit; +import org.opensearch.client.Client; +import org.opensearch.search.SearchHit; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/PhysicalPlan.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/PhysicalPlan.java index 8d7f892dad7..7dd8c64c189 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/PhysicalPlan.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/PhysicalPlan.java @@ -23,7 +23,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.resource.ResourceManager; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.search.SearchHit; +import org.opensearch.search.SearchHit; import java.util.ArrayList; import java.util.List; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/join/BlockHashJoin.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/join/BlockHashJoin.java index 5256e0095e2..35f9af25edc 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/join/BlockHashJoin.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/join/BlockHashJoin.java @@ -20,8 +20,8 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.physical.Row; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.physical.estimation.Cost; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.resource.blocksize.BlockSize; -import org.elasticsearch.common.Strings; -import org.elasticsearch.index.query.BoolQueryBuilder; +import org.opensearch.common.Strings; +import org.opensearch.index.query.BoolQueryBuilder; import java.util.ArrayList; import java.util.Collection; @@ -31,8 +31,8 @@ import static com.alibaba.druid.sql.ast.statement.SQLJoinTableSource.JoinType; import static com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.logical.node.Join.JoinCondition; -import static org.elasticsearch.index.query.QueryBuilders.boolQuery; -import static org.elasticsearch.index.query.QueryBuilders.termsQuery; +import static org.opensearch.index.query.QueryBuilders.boolQuery; +import static org.opensearch.index.query.QueryBuilders.termsQuery; /** * Block-based Hash Join implementation diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/join/DefaultHashTable.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/join/DefaultHashTable.java index 8ee67e477e3..8211b3f77ff 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/join/DefaultHashTable.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/join/DefaultHashTable.java @@ -100,11 +100,11 @@ public Map>[] rightFieldWithLeftValues() { Object[] keys = key.keys(); for (int i = 0; i < keys.length; i++) { result.computeIfAbsent(rightJoinFields[i], (k -> new HashSet<>())). - add(lowercaseIfStr(keys[i])); // Terms stored in lower case in ES + add(lowercaseIfStr(keys[i])); // Terms stored in lower case in OpenSearch } } - // Convert value of Map from Guava's Set to JDK list which is expected by ES writer + // Convert value of Map from Guava's Set to JDK list which is expected by OpenSearch writer for (Entry> entry : result.entrySet()) { entry.setValue(new ArrayList<>(entry.getValue())); } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/PhysicalScroll.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/PhysicalScroll.java index c3d62675c31..cdd09e8428a 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/PhysicalScroll.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/PhysicalScroll.java @@ -26,8 +26,8 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.physical.estimation.Cost; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; -import org.elasticsearch.action.ActionResponse; -import org.elasticsearch.action.search.SearchResponse; +import org.opensearch.action.ActionResponse; +import org.opensearch.action.search.SearchResponse; import java.util.Iterator; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/Scroll.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/Scroll.java index 860a9d65190..ea7764784d8 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/Scroll.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/Scroll.java @@ -25,28 +25,28 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.physical.estimation.Cost; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.physical.node.BatchPhysicalOperator; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.resource.ResourceManager; -import org.elasticsearch.action.search.ClearScrollResponse; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.Strings; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.sort.FieldSortBuilder; -import org.elasticsearch.search.sort.SortOrder; +import org.opensearch.action.search.ClearScrollResponse; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.Client; +import org.opensearch.common.Strings; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.index.query.QueryBuilder; +import org.opensearch.search.SearchHit; +import org.opensearch.search.sort.FieldSortBuilder; +import org.opensearch.search.sort.SortOrder; import java.util.Arrays; import java.util.Collection; import java.util.Objects; /** - * ES Scroll API as physical implementation of TableScan + * OpenSearch Scroll API as physical implementation of TableScan */ public class Scroll extends BatchPhysicalOperator { /** - * Request to submit to ES to scroll over + * Request to submit to OpenSearch to scroll over */ private final TableInJoinRequestBuilder request; @@ -144,7 +144,7 @@ protected Collection> prefetch() { /** * Extra filter pushed down from upstream. Re-parse WHERE clause with extra filter - * because ES RequestBuilder doesn't allow QueryBuilder inside be changed after added. + * because OpenSearch RequestBuilder doesn't allow QueryBuilder inside be changed after added. */ private QueryBuilder generateNewQueryWithExtraFilter(BoolQueryBuilder filter) throws SqlParseException { Where where = request.getOriginalSelect().getWhere(); diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/SearchAggregationResponseHelper.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/SearchAggregationResponseHelper.java index 30ff2d205d6..9492d4e6d82 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/SearchAggregationResponseHelper.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/SearchAggregationResponseHelper.java @@ -17,13 +17,13 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.expression.domain.BindingTuple; import com.google.common.annotations.VisibleForTesting; -import org.elasticsearch.search.aggregations.Aggregation; -import org.elasticsearch.search.aggregations.Aggregations; -import org.elasticsearch.search.aggregations.bucket.histogram.Histogram; -import org.elasticsearch.search.aggregations.bucket.terms.Terms; -import org.elasticsearch.search.aggregations.metrics.NumericMetricsAggregation; -import org.elasticsearch.search.aggregations.metrics.Percentile; -import org.elasticsearch.search.aggregations.metrics.Percentiles; +import org.opensearch.search.aggregations.Aggregation; +import org.opensearch.search.aggregations.Aggregations; +import org.opensearch.search.aggregations.bucket.histogram.Histogram; +import org.opensearch.search.aggregations.bucket.terms.Terms; +import org.opensearch.search.aggregations.metrics.NumericMetricsAggregation; +import org.opensearch.search.aggregations.metrics.Percentile; +import org.opensearch.search.aggregations.metrics.Percentiles; import java.util.ArrayList; import java.util.HashMap; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/SearchHitRow.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/SearchHitRow.java index 7f162623dfa..ff645389aca 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/SearchHitRow.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/physical/node/scroll/SearchHitRow.java @@ -17,17 +17,17 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.physical.Row; import com.google.common.base.Strings; -import org.elasticsearch.common.document.DocumentField; -import org.elasticsearch.common.text.Text; -import org.elasticsearch.index.mapper.MapperService; -import org.elasticsearch.search.SearchHit; +import org.opensearch.common.document.DocumentField; +import org.opensearch.common.text.Text; +import org.opensearch.index.mapper.MapperService; +import org.opensearch.search.SearchHit; import java.util.HashMap; import java.util.Map; /** * Search hit row that implements basic accessor for SearchHit. - * Encapsulate all ES specific knowledge: how to parse source including nested path. + * Encapsulate all OpenSearch specific knowledge: how to parse source including nested path. *

* State transition: * for example, SELECT e.name.first AS firstName, e.age AS age FROM E e JOIN D d ON ... ORDER BY ... @@ -47,7 +47,7 @@ class SearchHitRow implements Row { /** - * Native ES data object for each row + * Native OpenSearch data object for each row */ private final SearchHit hit; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/resource/Stats.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/resource/Stats.java index 1f00e92730d..1f6f6107412 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/resource/Stats.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/resource/Stats.java @@ -15,10 +15,10 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.resource; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; /** - * Statistics collector collects from ES stats, JVM etc for other components: + * Statistics collector collects from OpenSearch stats, JVM etc for other components: *

* 1) Resource monitor * 2) Cost estimation @@ -27,7 +27,7 @@ public class Stats { /** - * Client connection to ES cluster (unused now) + * Client connection to OpenSearch cluster (unused now) */ private Client client; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/resource/monitor/TotalMemoryMonitor.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/resource/monitor/TotalMemoryMonitor.java index 12c9ec64265..67fa03b9e3b 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/resource/monitor/TotalMemoryMonitor.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/query/planner/resource/monitor/TotalMemoryMonitor.java @@ -22,7 +22,7 @@ import org.apache.logging.log4j.Logger; /** - * Circuit breaker for total memory usage in JVM on current ES node. + * Circuit breaker for total memory usage in JVM on current OpenSearch node. */ public class TotalMemoryMonitor implements Monitor { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/request/SqlRequest.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/request/SqlRequest.java index dfeddff7e88..00388de94cb 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/request/SqlRequest.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/request/SqlRequest.java @@ -16,14 +16,14 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.request; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.search.SearchModule; +import org.opensearch.common.settings.Settings; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.search.SearchModule; import org.json.JSONException; import org.json.JSONObject; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/request/SqlRequestFactory.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/request/SqlRequestFactory.java index 3f26c137b51..96ffec4c14a 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/request/SqlRequestFactory.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/request/SqlRequestFactory.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.request; import com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.LocalClusterState; -import org.elasticsearch.rest.RestRequest; +import org.opensearch.rest.RestRequest; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -43,7 +43,7 @@ public static SqlRequest getSqlRequest(RestRequest request) { case POST: return parseSqlRequestFromPayload(request); default: - throw new IllegalArgumentException("ES SQL doesn't supported HTTP " + request.method().name()); + throw new IllegalArgumentException("OpenSearch SQL doesn't supported HTTP " + request.method().name()); } } diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/matchtoterm/VerificationException.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/matchtoterm/VerificationException.java index cc139d766e9..b8b4e64444b 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/matchtoterm/VerificationException.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/matchtoterm/VerificationException.java @@ -15,10 +15,10 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.rewriter.matchtoterm; -import org.elasticsearch.ElasticsearchException; -import org.elasticsearch.rest.RestStatus; +import org.opensearch.OpenSearchException; +import org.opensearch.rest.RestStatus; -public class VerificationException extends ElasticsearchException { +public class VerificationException extends OpenSearchException { public VerificationException(String message) { super(message); diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/nestedfield/From.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/nestedfield/From.java index f3abff88b30..fb084b9c678 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/nestedfield/From.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/nestedfield/From.java @@ -24,7 +24,7 @@ import static com.alibaba.druid.sql.ast.statement.SQLJoinTableSource.JoinType.COMMA; /** - * Table (ES Index) expression in FROM statement. + * Table (OpenSearch Index) expression in FROM statement. */ class From extends SQLClause { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/nestedfield/NestedFieldProjection.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/nestedfield/NestedFieldProjection.java index 4ae0951fd0e..f26012840f9 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/nestedfield/NestedFieldProjection.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/nestedfield/NestedFieldProjection.java @@ -19,12 +19,12 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.rewriter.matchtoterm.VerificationException; import com.amazon.opendistroforelasticsearch.sql.legacy.utils.StringUtils; import org.apache.lucene.search.join.ScoreMode; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.InnerHitBuilder; -import org.elasticsearch.index.query.NestedQueryBuilder; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.search.fetch.subphase.FetchSourceContext; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.index.query.InnerHitBuilder; +import org.opensearch.index.query.NestedQueryBuilder; +import org.opensearch.index.query.QueryBuilder; +import org.opensearch.search.fetch.subphase.FetchSourceContext; import java.util.ArrayList; import java.util.Collection; @@ -37,14 +37,14 @@ import static java.util.stream.Collectors.groupingBy; import static java.util.stream.Collectors.mapping; import static java.util.stream.Collectors.toList; -import static org.elasticsearch.index.query.QueryBuilders.boolQuery; -import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery; -import static org.elasticsearch.index.query.QueryBuilders.nestedQuery; -import static org.elasticsearch.index.query.QueryBuilders.existsQuery; +import static org.opensearch.index.query.QueryBuilders.boolQuery; +import static org.opensearch.index.query.QueryBuilders.matchAllQuery; +import static org.opensearch.index.query.QueryBuilders.nestedQuery; +import static org.opensearch.index.query.QueryBuilders.existsQuery; import static com.alibaba.druid.sql.ast.statement.SQLJoinTableSource.JoinType; /** - * Nested field projection class to make ES return matched rows in nested field. + * Nested field projection class to make OpenSearch return matched rows in nested field. */ public class NestedFieldProjection { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/subquery/rewriter/SubqueryAliasRewriter.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/subquery/rewriter/SubqueryAliasRewriter.java index 35a165f0b5d..30cc5bcf650 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/subquery/rewriter/SubqueryAliasRewriter.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/rewriter/subquery/rewriter/SubqueryAliasRewriter.java @@ -103,7 +103,7 @@ private boolean inWhere(SQLIdentifierExpr expr) { } /** - * The table name in elasticsearch could be "index/type". Which represent as SQLBinaryOpExpr in AST. + * The table name in OpenSearch could be "index/type". Which represent as SQLBinaryOpExpr in AST. */ private boolean isESTable(SQLBinaryOpExpr expr) { return expr.getOperator() == SQLBinaryOperator.Divide && expr.getParent() instanceof SQLExprTableSource; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/utils/JsonPrettyFormatter.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/utils/JsonPrettyFormatter.java index ec546294f31..2127b01d74d 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/utils/JsonPrettyFormatter.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/utils/JsonPrettyFormatter.java @@ -15,13 +15,13 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.utils; -import org.elasticsearch.common.Strings; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; +import org.opensearch.common.Strings; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentBuilder; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; import java.io.IOException; diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/utils/SQLFunctions.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/utils/SQLFunctions.java index ba635522dd2..ebbf077c5da 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/utils/SQLFunctions.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/utils/SQLFunctions.java @@ -36,7 +36,7 @@ import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import org.elasticsearch.common.collect.Tuple; +import org.opensearch.common.collect.Tuple; import java.util.HashMap; import java.util.List; @@ -272,7 +272,7 @@ public Tuple function(String methodName, List paramers, break; case "cot": - // ES does not support the function name cot + // OpenSearch does not support the function name cot functionStr = mathSingleValueTemplate("1 / Math.tan", methodName, (SQLExpr) paramers.get(0).value, name); break; @@ -772,7 +772,7 @@ private Tuple strSingleValueTemplate(String methodName, SQLExpr // query: substring(Column expr, int pos, int len) // painless script: substring(int begin, int end) - // es behavior: 1-index, supports out-of-bound index + // OpenSearch behavior: 1-index, supports out-of-bound index public Tuple substring(SQLExpr field, int pos, int len) { String name = nextId("substring"); // start and end are 0-indexes @@ -804,7 +804,7 @@ private Tuple replace(SQLExpr field, String target, String repla + ".replace(" + target + "," + replacement + ")")); } - // es behavior: both 'start' and return value are 1-index; return 0 if pattern does not exist; + // OpenSearch behavior: both 'start' and return value are 1-index; return 0 if pattern does not exist; // support out-of-bound index private Tuple locate(String pattern, SQLExpr source, int start) { String name = nextId("locate"); @@ -1035,7 +1035,7 @@ public static Schema.Type getCastFunctionReturnType(String castType) { * * @param field * @return Schema.Type.TEXT or DOUBLE - * There are only two ORDER BY types (TEXT, NUMBER) in Elasticsearch, so the Type that is returned here essentially + * There are only two ORDER BY types (TEXT, NUMBER) in OpenSearch, so the Type that is returned here essentially * indicates the category of the function as opposed to the actual return type. */ public static Schema.Type getOrderByFieldType(Field field) { diff --git a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/utils/Util.java b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/utils/Util.java index 7c8bbbdf476..e8b94428301 100644 --- a/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/utils/Util.java +++ b/legacy/src/main/java/com/amazon/opendistroforelasticsearch/sql/legacy/utils/Util.java @@ -38,9 +38,9 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.domain.KVValue; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; import com.amazon.opendistroforelasticsearch.sql.legacy.parser.ElasticSqlExprParser; -import org.elasticsearch.action.admin.indices.get.GetIndexRequest; -import org.elasticsearch.action.admin.indices.get.GetIndexRequestBuilder; -import org.elasticsearch.client.Client; +import org.opensearch.action.admin.indices.get.GetIndexRequest; +import org.opensearch.action.admin.indices.get.GetIndexRequestBuilder; +import org.opensearch.client.Client; import java.util.HashSet; import java.util.List; diff --git a/legacy/src/main/resources/es-plugin.properties b/legacy/src/main/resources/es-plugin.properties deleted file mode 100644 index e1975c6be07..00000000000 --- a/legacy/src/main/resources/es-plugin.properties +++ /dev/null @@ -1,17 +0,0 @@ -# -# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). -# You may not use this file except in compliance with the License. -# A copy of the License is located at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# or in the "license" file accompanying this file. This file is distributed -# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either -# express or implied. See the License for the specific language governing -# permissions and limitations under the License. -# - -plugin=com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlPlug -version=${project.version} \ No newline at end of file diff --git a/legacy/src/main/resources/plugin-descriptor.properties b/legacy/src/main/resources/plugin-descriptor.properties deleted file mode 100644 index 69a2e583149..00000000000 --- a/legacy/src/main/resources/plugin-descriptor.properties +++ /dev/null @@ -1,27 +0,0 @@ -# -# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). -# You may not use this file except in compliance with the License. -# A copy of the License is located at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# or in the "license" file accompanying this file. This file is distributed -# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either -# express or implied. See the License for the specific language governing -# permissions and limitations under the License. -# - - -description=${project.description} - -version=${project.version} - -name=${elasticsearch.plugin.name} - -classname=${elasticsearch.plugin.classname} - -java.version=1.8 - -elasticsearch.version=${elasticsearch.version} \ No newline at end of file diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/SyntaxAnalysisTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/SyntaxAnalysisTest.java index b15c5090cfb..7fc8b5cec35 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/SyntaxAnalysisTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/SyntaxAnalysisTest.java @@ -92,8 +92,8 @@ public void someKeywordsShouldBeAbleToUseAsIdentifier() { public void specialIndexNameShouldPass() { validate("SELECT * FROM accounts/temp"); validate("SELECT * FROM account*"); - validate("SELECT * FROM es-accounts"); - validate("SELECT * FROM es-account*"); + validate("SELECT * FROM opensearch-accounts"); + validate("SELECT * FROM opensearch-account*"); } @Test @@ -106,7 +106,7 @@ public void typeNamePatternShouldThrowException() { @Test public void systemIndexNameShouldPass() { - validate("SELECT * FROM .kibana"); + validate("SELECT * FROM .opensearch_dashboards"); } @Test diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/SemanticAnalyzerBasicTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/SemanticAnalyzerBasicTest.java index 51762c05d5c..047cd8d494d 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/SemanticAnalyzerBasicTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/SemanticAnalyzerBasicTest.java @@ -19,8 +19,8 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.scope.SemanticContext; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.scope.Symbol; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.Type; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.visitor.ESMappingLoader; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.visitor.OpenSearchMappingLoader; import com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.LocalClusterState; import org.junit.Assert; import org.junit.Before; @@ -29,18 +29,18 @@ import java.util.Map; import java.util.Optional; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.BOOLEAN; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DATE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DOUBLE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.GEO_POINT; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.INTEGER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.KEYWORD; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.LONG; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.OBJECT; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.TEXT; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.UNKNOWN; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex.IndexType.INDEX; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex.IndexType.NESTED_FIELD; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.BOOLEAN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DATE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DOUBLE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.GEO_POINT; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.INTEGER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.LONG; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.OBJECT; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.TEXT; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.UNKNOWN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex.IndexType.INDEX; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex.IndexType.NESTED_FIELD; import static org.hamcrest.Matchers.aMapWithSize; import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.hasEntry; @@ -54,12 +54,12 @@ public class SemanticAnalyzerBasicTest extends SemanticAnalyzerTestBase { private SemanticContext context; - private ESMappingLoader analyzer; + private OpenSearchMappingLoader analyzer; @Before public void setUp() { context = new SemanticContext(); - analyzer = new ESMappingLoader(context, LocalClusterState.state(), 1000); + analyzer = new OpenSearchMappingLoader(context, LocalClusterState.state(), 1000); } @Test @@ -71,7 +71,7 @@ public void contextShouldIncludeAllFieldsAfterVisitingIndexNameInFromClause() { typeByName, allOf( aMapWithSize(21), - hasEntry("semantics", (Type) new ESIndex("semantics", INDEX)), + hasEntry("semantics", (Type) new OpenSearchIndex("semantics", INDEX)), hasEntry("address", TEXT), hasEntry("age", INTEGER), hasEntry("balance", DOUBLE), @@ -82,10 +82,10 @@ public void contextShouldIncludeAllFieldsAfterVisitingIndexNameInFromClause() { hasEntry("field with spaces", TEXT), hasEntry("employer", TEXT), hasEntry("employer.keyword", KEYWORD), - hasEntry("projects", (Type) new ESIndex("projects", NESTED_FIELD)), + hasEntry("projects", (Type) new OpenSearchIndex("projects", NESTED_FIELD)), hasEntry("projects.active", BOOLEAN), hasEntry("projects.release", DATE), - hasEntry("projects.members", (Type) new ESIndex("projects.members", NESTED_FIELD)), + hasEntry("projects.members", (Type) new OpenSearchIndex("projects.members", NESTED_FIELD)), hasEntry("projects.members.name", TEXT), hasEntry("manager", OBJECT), hasEntry("manager.name", TEXT), @@ -95,13 +95,13 @@ public void contextShouldIncludeAllFieldsAfterVisitingIndexNameInFromClause() { ) ); - analyzer.visitAs("", new ESIndex("semantics", INDEX)); + analyzer.visitAs("", new OpenSearchIndex("semantics", INDEX)); typeByName = context.peek().resolveAll(Namespace.FIELD_NAME); assertThat( typeByName, allOf( aMapWithSize(41), - hasEntry("semantics", (Type) new ESIndex("semantics", INDEX)), + hasEntry("semantics", (Type) new OpenSearchIndex("semantics", INDEX)), hasEntry("address", TEXT), hasEntry("age", INTEGER), hasEntry("balance", DOUBLE), @@ -112,10 +112,10 @@ public void contextShouldIncludeAllFieldsAfterVisitingIndexNameInFromClause() { hasEntry("field with spaces", TEXT), hasEntry("employer", TEXT), hasEntry("employer.keyword", KEYWORD), - hasEntry("projects", (Type) new ESIndex("projects", NESTED_FIELD)), + hasEntry("projects", (Type) new OpenSearchIndex("projects", NESTED_FIELD)), hasEntry("projects.active", BOOLEAN), hasEntry("projects.release", DATE), - hasEntry("projects.members", (Type) new ESIndex("projects.members", NESTED_FIELD)), + hasEntry("projects.members", (Type) new OpenSearchIndex("projects.members", NESTED_FIELD)), hasEntry("projects.members.name", TEXT), hasEntry("manager", OBJECT), hasEntry("manager.name", TEXT), @@ -133,10 +133,10 @@ public void contextShouldIncludeAllFieldsAfterVisitingIndexNameInFromClause() { hasEntry("semantics.field with spaces", TEXT), hasEntry("semantics.employer", TEXT), hasEntry("semantics.employer.keyword", KEYWORD), - hasEntry("semantics.projects", (Type) new ESIndex("semantics.projects", NESTED_FIELD)), + hasEntry("semantics.projects", (Type) new OpenSearchIndex("semantics.projects", NESTED_FIELD)), hasEntry("semantics.projects.active", BOOLEAN), hasEntry("semantics.projects.release", DATE), - hasEntry("semantics.projects.members", (Type) new ESIndex("semantics.projects.members", NESTED_FIELD)), + hasEntry("semantics.projects.members", (Type) new OpenSearchIndex("semantics.projects.members", NESTED_FIELD)), hasEntry("semantics.projects.members.name", TEXT), hasEntry("semantics.manager", OBJECT), hasEntry("semantics.manager.name", TEXT), @@ -149,7 +149,7 @@ public void contextShouldIncludeAllFieldsAfterVisitingIndexNameInFromClause() { @Test public void contextShouldIncludeAllFieldsPrefixedByIndexAliasAfterVisitingIndexNameWithAliasInFromClause() { - ESIndex indexType = new ESIndex("semantics", INDEX); + OpenSearchIndex indexType = new OpenSearchIndex("semantics", INDEX); analyzer.visitIndexName("semantics"); analyzer.visitAs("s", indexType); @@ -170,10 +170,10 @@ public void contextShouldIncludeAllFieldsPrefixedByIndexAliasAfterVisitingIndexN hasEntry("field with spaces", TEXT), hasEntry("employer", TEXT), hasEntry("employer.keyword", KEYWORD), - hasEntry("projects", (Type) new ESIndex("projects", NESTED_FIELD)), + hasEntry("projects", (Type) new OpenSearchIndex("projects", NESTED_FIELD)), hasEntry("projects.active", BOOLEAN), hasEntry("projects.release", DATE), - hasEntry("projects.members", (Type) new ESIndex("projects.members", NESTED_FIELD)), + hasEntry("projects.members", (Type) new OpenSearchIndex("projects.members", NESTED_FIELD)), hasEntry("projects.members.name", TEXT), hasEntry("manager", OBJECT), hasEntry("manager.name", TEXT), @@ -191,10 +191,10 @@ public void contextShouldIncludeAllFieldsPrefixedByIndexAliasAfterVisitingIndexN hasEntry("s.field with spaces", TEXT), hasEntry("s.employer", TEXT), hasEntry("s.employer.keyword", KEYWORD), - hasEntry("s.projects", (Type) new ESIndex("s.projects", NESTED_FIELD)), + hasEntry("s.projects", (Type) new OpenSearchIndex("s.projects", NESTED_FIELD)), hasEntry("s.projects.active", BOOLEAN), hasEntry("s.projects.release", DATE), - hasEntry("s.projects.members", (Type) new ESIndex("s.projects.members", NESTED_FIELD)), + hasEntry("s.projects.members", (Type) new OpenSearchIndex("s.projects.members", NESTED_FIELD)), hasEntry("s.projects.members.name", TEXT), hasEntry("s.manager", OBJECT), hasEntry("s.manager.name", TEXT), @@ -207,11 +207,11 @@ public void contextShouldIncludeAllFieldsPrefixedByIndexAliasAfterVisitingIndexN @Test public void contextShouldIncludeSameFieldsAfterVisitingNestedFieldWithoutAliasInFromClause() { - ESIndex indexType = new ESIndex("semantics", INDEX); + OpenSearchIndex indexType = new OpenSearchIndex("semantics", INDEX); analyzer.visitIndexName("semantics"); analyzer.visitAs("s", indexType); analyzer.visitIndexName("s.projects"); - analyzer.visitAs("", new ESIndex("s.projects", NESTED_FIELD)); + analyzer.visitAs("", new OpenSearchIndex("s.projects", NESTED_FIELD)); Map typeByName = context.peek().resolveAll(Namespace.FIELD_NAME); assertThat( @@ -230,10 +230,10 @@ public void contextShouldIncludeSameFieldsAfterVisitingNestedFieldWithoutAliasIn hasEntry("field with spaces", TEXT), hasEntry("employer", TEXT), hasEntry("employer.keyword", KEYWORD), - hasEntry("projects", (Type) new ESIndex("projects", NESTED_FIELD)), + hasEntry("projects", (Type) new OpenSearchIndex("projects", NESTED_FIELD)), hasEntry("projects.active", BOOLEAN), hasEntry("projects.release", DATE), - hasEntry("projects.members", (Type) new ESIndex("projects.members", NESTED_FIELD)), + hasEntry("projects.members", (Type) new OpenSearchIndex("projects.members", NESTED_FIELD)), hasEntry("projects.members.name", TEXT), hasEntry("manager", OBJECT), hasEntry("manager.name", TEXT), @@ -251,10 +251,10 @@ public void contextShouldIncludeSameFieldsAfterVisitingNestedFieldWithoutAliasIn hasEntry("s.field with spaces", TEXT), hasEntry("s.employer", TEXT), hasEntry("s.employer.keyword", KEYWORD), - hasEntry("s.projects", (Type) new ESIndex("s.projects", NESTED_FIELD)), + hasEntry("s.projects", (Type) new OpenSearchIndex("s.projects", NESTED_FIELD)), hasEntry("s.projects.active", BOOLEAN), hasEntry("s.projects.release", DATE), - hasEntry("s.projects.members", (Type) new ESIndex("s.projects.members", NESTED_FIELD)), + hasEntry("s.projects.members", (Type) new OpenSearchIndex("s.projects.members", NESTED_FIELD)), hasEntry("s.projects.members.name", TEXT), hasEntry("s.manager", OBJECT), hasEntry("s.manager.name", TEXT), @@ -267,11 +267,11 @@ public void contextShouldIncludeSameFieldsAfterVisitingNestedFieldWithoutAliasIn @Test public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitingNestedFieldWithAliasInFromClause() { - ESIndex indexType = new ESIndex("semantics", INDEX); + OpenSearchIndex indexType = new OpenSearchIndex("semantics", INDEX); analyzer.visitIndexName("semantics"); analyzer.visitAs("s", indexType); analyzer.visitIndexName("s.projects"); - analyzer.visitAs("p", new ESIndex("s.projects", NESTED_FIELD)); + analyzer.visitAs("p", new OpenSearchIndex("s.projects", NESTED_FIELD)); Map typeByName = context.peek().resolveAll(Namespace.FIELD_NAME); assertThat( @@ -291,10 +291,10 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("field with spaces", TEXT), hasEntry("employer", TEXT), hasEntry("employer.keyword", KEYWORD), - hasEntry("projects", (Type) new ESIndex("projects", NESTED_FIELD)), + hasEntry("projects", (Type) new OpenSearchIndex("projects", NESTED_FIELD)), hasEntry("projects.active", BOOLEAN), hasEntry("projects.release", DATE), - hasEntry("projects.members", (Type) new ESIndex("projects.members", NESTED_FIELD)), + hasEntry("projects.members", (Type) new OpenSearchIndex("projects.members", NESTED_FIELD)), hasEntry("projects.members.name", TEXT), hasEntry("manager", OBJECT), hasEntry("manager.name", TEXT), @@ -312,10 +312,10 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("s.field with spaces", TEXT), hasEntry("s.employer", TEXT), hasEntry("s.employer.keyword", KEYWORD), - hasEntry("s.projects", (Type) new ESIndex("s.projects", NESTED_FIELD)), + hasEntry("s.projects", (Type) new OpenSearchIndex("s.projects", NESTED_FIELD)), hasEntry("s.projects.active", BOOLEAN), hasEntry("s.projects.release", DATE), - hasEntry("s.projects.members", (Type) new ESIndex("s.projects.members", NESTED_FIELD)), + hasEntry("s.projects.members", (Type) new OpenSearchIndex("s.projects.members", NESTED_FIELD)), hasEntry("s.projects.members.name", TEXT), hasEntry("s.manager", OBJECT), hasEntry("s.manager.name", TEXT), @@ -323,10 +323,10 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("s.manager.address", KEYWORD), hasEntry("s.manager.salary", LONG), // Valid because of nested field alias specified - hasEntry("p", (Type) new ESIndex("s.projects", NESTED_FIELD)), + hasEntry("p", (Type) new OpenSearchIndex("s.projects", NESTED_FIELD)), hasEntry("p.active", BOOLEAN), hasEntry("p.release", DATE), - hasEntry("p.members", (Type) new ESIndex("s.projects.members", NESTED_FIELD)), + hasEntry("p.members", (Type) new OpenSearchIndex("s.projects.members", NESTED_FIELD)), hasEntry("p.members.name", TEXT) ) ); @@ -334,11 +334,11 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin @Test public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitingDeepNestedFieldWithAliasInFromClause() { - ESIndex indexType = new ESIndex("semantics", INDEX); + OpenSearchIndex indexType = new OpenSearchIndex("semantics", INDEX); analyzer.visitIndexName("semantics"); analyzer.visitAs("s", indexType); analyzer.visitIndexName("s.projects.members"); - analyzer.visitAs("m", new ESIndex("s.projects.members", NESTED_FIELD)); + analyzer.visitAs("m", new OpenSearchIndex("s.projects.members", NESTED_FIELD)); Map typeByName = context.peek().resolveAll(Namespace.FIELD_NAME); @@ -358,10 +358,10 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("field with spaces", TEXT), hasEntry("employer", TEXT), hasEntry("employer.keyword", KEYWORD), - hasEntry("projects", (Type) new ESIndex("projects", NESTED_FIELD)), + hasEntry("projects", (Type) new OpenSearchIndex("projects", NESTED_FIELD)), hasEntry("projects.active", BOOLEAN), hasEntry("projects.release", DATE), - hasEntry("projects.members", (Type) new ESIndex("projects.members", NESTED_FIELD)), + hasEntry("projects.members", (Type) new OpenSearchIndex("projects.members", NESTED_FIELD)), hasEntry("projects.members.name", TEXT), hasEntry("manager", OBJECT), hasEntry("manager.name", TEXT), @@ -379,10 +379,10 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("s.field with spaces", TEXT), hasEntry("s.employer", TEXT), hasEntry("s.employer.keyword", KEYWORD), - hasEntry("s.projects", (Type) new ESIndex("s.projects", NESTED_FIELD)), + hasEntry("s.projects", (Type) new OpenSearchIndex("s.projects", NESTED_FIELD)), hasEntry("s.projects.active", BOOLEAN), hasEntry("s.projects.release", DATE), - hasEntry("s.projects.members", (Type) new ESIndex("s.projects.members", NESTED_FIELD)), + hasEntry("s.projects.members", (Type) new OpenSearchIndex("s.projects.members", NESTED_FIELD)), hasEntry("s.projects.members.name", TEXT), hasEntry("s.manager", OBJECT), hasEntry("s.manager.name", TEXT), @@ -390,7 +390,7 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("s.manager.address", KEYWORD), hasEntry("s.manager.salary", LONG), // Valid because of deep nested field alias specified - hasEntry("m", (Type) new ESIndex("s.projects.members", NESTED_FIELD)), + hasEntry("m", (Type) new OpenSearchIndex("s.projects.members", NESTED_FIELD)), hasEntry("m.name", TEXT) ) ); @@ -398,13 +398,13 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin @Test public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitingAllNestedFieldsWithAliasInFromClause() { - ESIndex indexType = new ESIndex("semantics", INDEX); + OpenSearchIndex indexType = new OpenSearchIndex("semantics", INDEX); analyzer.visitIndexName("semantics"); analyzer.visitAs("s", indexType); analyzer.visitIndexName("s.projects"); - analyzer.visitAs("p", new ESIndex("s.projects", NESTED_FIELD)); + analyzer.visitAs("p", new OpenSearchIndex("s.projects", NESTED_FIELD)); analyzer.visitIndexName("s.projects.members"); - analyzer.visitAs("m", new ESIndex("s.projects.members", NESTED_FIELD)); + analyzer.visitAs("m", new OpenSearchIndex("s.projects.members", NESTED_FIELD)); Map typeByName = context.peek().resolveAll(Namespace.FIELD_NAME); assertThat( @@ -423,10 +423,10 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("field with spaces", TEXT), hasEntry("employer", TEXT), hasEntry("employer.keyword", KEYWORD), - hasEntry("projects", (Type) new ESIndex("projects", NESTED_FIELD)), + hasEntry("projects", (Type) new OpenSearchIndex("projects", NESTED_FIELD)), hasEntry("projects.active", BOOLEAN), hasEntry("projects.release", DATE), - hasEntry("projects.members", (Type) new ESIndex("projects.members", NESTED_FIELD)), + hasEntry("projects.members", (Type) new OpenSearchIndex("projects.members", NESTED_FIELD)), hasEntry("projects.members.name", TEXT), hasEntry("manager", OBJECT), hasEntry("manager.name", TEXT), @@ -444,10 +444,10 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("s.field with spaces", TEXT), hasEntry("s.employer", TEXT), hasEntry("s.employer.keyword", KEYWORD), - hasEntry("s.projects", (Type) new ESIndex("s.projects", NESTED_FIELD)), + hasEntry("s.projects", (Type) new OpenSearchIndex("s.projects", NESTED_FIELD)), hasEntry("s.projects.active", BOOLEAN), hasEntry("s.projects.release", DATE), - hasEntry("s.projects.members", (Type) new ESIndex("s.projects.members", NESTED_FIELD)), + hasEntry("s.projects.members", (Type) new OpenSearchIndex("s.projects.members", NESTED_FIELD)), hasEntry("s.projects.members.name", TEXT), hasEntry("s.manager", OBJECT), hasEntry("s.manager.name", TEXT), @@ -455,13 +455,13 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("s.manager.address", KEYWORD), hasEntry("s.manager.salary", LONG), // Valid because of nested field alias specified - hasEntry("p", (Type) new ESIndex("s.projects", NESTED_FIELD)), + hasEntry("p", (Type) new OpenSearchIndex("s.projects", NESTED_FIELD)), hasEntry("p.active", BOOLEAN), hasEntry("p.release", DATE), - hasEntry("p.members", (Type) new ESIndex("s.projects.members", NESTED_FIELD)), + hasEntry("p.members", (Type) new OpenSearchIndex("s.projects.members", NESTED_FIELD)), hasEntry("p.members.name", TEXT), // Valid because of deep nested field alias specified - hasEntry("m", (Type) new ESIndex("s.projects.members", NESTED_FIELD)), + hasEntry("m", (Type) new OpenSearchIndex("s.projects.members", NESTED_FIELD)), hasEntry("m.name", TEXT) ) ); @@ -469,13 +469,13 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin @Test public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitingNestedFieldWithAliasInSubqueryFromClause() { - ESIndex indexType = new ESIndex("semantics", INDEX); + OpenSearchIndex indexType = new OpenSearchIndex("semantics", INDEX); analyzer.visitIndexName("semantics"); analyzer.visitAs("s", indexType); context.push(); analyzer.visitIndexName("s.projects"); - analyzer.visitAs("p", new ESIndex("s.projects", NESTED_FIELD)); + analyzer.visitAs("p", new OpenSearchIndex("s.projects", NESTED_FIELD)); Map typeByName = context.peek().resolveAll(Namespace.FIELD_NAME); assertThat( @@ -495,10 +495,10 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("field with spaces", TEXT), hasEntry("employer", TEXT), hasEntry("employer.keyword", KEYWORD), - hasEntry("projects", (Type) new ESIndex("projects", NESTED_FIELD)), + hasEntry("projects", (Type) new OpenSearchIndex("projects", NESTED_FIELD)), hasEntry("projects.active", BOOLEAN), hasEntry("projects.release", DATE), - hasEntry("projects.members", (Type) new ESIndex("projects.members", NESTED_FIELD)), + hasEntry("projects.members", (Type) new OpenSearchIndex("projects.members", NESTED_FIELD)), hasEntry("projects.members.name", TEXT), hasEntry("manager", OBJECT), hasEntry("manager.name", TEXT), @@ -516,10 +516,10 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("s.field with spaces", TEXT), hasEntry("s.employer", TEXT), hasEntry("s.employer.keyword", KEYWORD), - hasEntry("s.projects", (Type) new ESIndex("s.projects", NESTED_FIELD)), + hasEntry("s.projects", (Type) new OpenSearchIndex("s.projects", NESTED_FIELD)), hasEntry("s.projects.active", BOOLEAN), hasEntry("s.projects.release", DATE), - hasEntry("s.projects.members", (Type) new ESIndex("s.projects.members", NESTED_FIELD)), + hasEntry("s.projects.members", (Type) new OpenSearchIndex("s.projects.members", NESTED_FIELD)), hasEntry("s.projects.members.name", TEXT), hasEntry("s.manager", OBJECT), hasEntry("s.manager.name", TEXT), @@ -527,10 +527,10 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("s.manager.address", KEYWORD), hasEntry("s.manager.salary", LONG), // Valid because of nested field alias specified - hasEntry("p", (Type) new ESIndex("s.projects", NESTED_FIELD)), + hasEntry("p", (Type) new OpenSearchIndex("s.projects", NESTED_FIELD)), hasEntry("p.active", BOOLEAN), hasEntry("p.release", DATE), - hasEntry("p.members", (Type) new ESIndex("s.projects.members", NESTED_FIELD)), + hasEntry("p.members", (Type) new OpenSearchIndex("s.projects.members", NESTED_FIELD)), hasEntry("p.members.name", TEXT) ) ); @@ -553,10 +553,10 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("field with spaces", TEXT), hasEntry("employer", TEXT), hasEntry("employer.keyword", KEYWORD), - hasEntry("projects", (Type) new ESIndex("projects", NESTED_FIELD)), + hasEntry("projects", (Type) new OpenSearchIndex("projects", NESTED_FIELD)), hasEntry("projects.active", BOOLEAN), hasEntry("projects.release", DATE), - hasEntry("projects.members", (Type) new ESIndex("projects.members", NESTED_FIELD)), + hasEntry("projects.members", (Type) new OpenSearchIndex("projects.members", NESTED_FIELD)), hasEntry("projects.members.name", TEXT), hasEntry("manager", OBJECT), hasEntry("manager.name", TEXT), @@ -574,10 +574,10 @@ public void contextShouldIncludeMoreFieldsPrefixedByNestedFieldAliasAfterVisitin hasEntry("s.field with spaces", TEXT), hasEntry("s.employer", TEXT), hasEntry("s.employer.keyword", KEYWORD), - hasEntry("s.projects", (Type) new ESIndex("s.projects", NESTED_FIELD)), + hasEntry("s.projects", (Type) new OpenSearchIndex("s.projects", NESTED_FIELD)), hasEntry("s.projects.active", BOOLEAN), hasEntry("s.projects.release", DATE), - hasEntry("s.projects.members", (Type) new ESIndex("s.projects.members", NESTED_FIELD)), + hasEntry("s.projects.members", (Type) new OpenSearchIndex("s.projects.members", NESTED_FIELD)), hasEntry("s.projects.members.name", TEXT), hasEntry("s.manager", OBJECT), hasEntry("s.manager.name", TEXT), diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/SemanticAnalyzerFromClauseTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/SemanticAnalyzerFromClauseTest.java index 63a77445192..c7396fc599e 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/SemanticAnalyzerFromClauseTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/SemanticAnalyzerFromClauseTest.java @@ -26,7 +26,7 @@ */ public class SemanticAnalyzerFromClauseTest extends SemanticAnalyzerTestBase { - @Ignore("IndexNotFoundException should be thrown from ES API directly") + @Ignore("IndexNotFoundException should be thrown from OpenSearch API directly") @Test public void nonExistingIndexNameShouldFail() { expectValidationFailWithErrorMessages( diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/SemanticAnalyzerScalarFunctionTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/SemanticAnalyzerScalarFunctionTest.java index d3d1b74c688..7baafa19a2f 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/SemanticAnalyzerScalarFunctionTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/SemanticAnalyzerScalarFunctionTest.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic; import org.junit.Ignore; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType; import org.junit.Test; /** @@ -276,6 +276,6 @@ public void concatRequiresVarargSupportShouldPassAnyway() { @Test public void castFunctionShouldPass() { - validateWithType("SELECT CAST(age AS DOUBLE) FROM semantics", ESDataType.DOUBLE); + validateWithType("SELECT CAST(age AS DOUBLE) FROM semantics", OpenSearchDataType.DOUBLE); } } diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/scope/EnvironmentTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/scope/EnvironmentTest.java index 1cc20aa7635..0499e8de311 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/scope/EnvironmentTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/scope/EnvironmentTest.java @@ -16,18 +16,18 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.scope; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.Type; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex; import org.junit.Assert; import org.junit.Test; import java.util.Map; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.BOOLEAN; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DATE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.KEYWORD; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.OBJECT; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.TEXT; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex.IndexType.NESTED_FIELD; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.BOOLEAN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DATE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.OBJECT; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.TEXT; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex.IndexType.NESTED_FIELD; import static org.hamcrest.Matchers.aMapWithSize; import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.hasEntry; @@ -116,7 +116,7 @@ public void defineFieldSymbolInDifferentEnvironmentsShouldBeAbleToResolveByPrefi @Test public void defineFieldSymbolShouldBeAbleToResolveAll() { - environment().define(new Symbol(Namespace.FIELD_NAME, "s.projects"), new ESIndex("s.projects", NESTED_FIELD)); + environment().define(new Symbol(Namespace.FIELD_NAME, "s.projects"), new OpenSearchIndex("s.projects", NESTED_FIELD)); environment().define(new Symbol(Namespace.FIELD_NAME, "s.projects.release"), DATE); environment().define(new Symbol(Namespace.FIELD_NAME, "s.projects.active"), BOOLEAN); environment().define(new Symbol(Namespace.FIELD_NAME, "s.address"), TEXT); @@ -128,7 +128,7 @@ public void defineFieldSymbolShouldBeAbleToResolveAll() { typeByName, allOf( aMapWithSize(6), - hasEntry("s.projects", (Type) new ESIndex("s.projects", NESTED_FIELD)), + hasEntry("s.projects", (Type) new OpenSearchIndex("s.projects", NESTED_FIELD)), hasEntry("s.projects.release", DATE), hasEntry("s.projects.active", BOOLEAN), hasEntry("s.address", TEXT), diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/scope/SymbolTableTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/scope/SymbolTableTest.java index 9688cdf9180..1864645711e 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/scope/SymbolTableTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/scope/SymbolTableTest.java @@ -17,19 +17,19 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.Type; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.TypeExpression; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex; import org.junit.Assert; import org.junit.Test; import java.util.Map; import java.util.Optional; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.BOOLEAN; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DATE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.KEYWORD; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.NUMBER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.TEXT; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex.IndexType.NESTED_FIELD; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.BOOLEAN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DATE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.NUMBER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.TEXT; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex.IndexType.NESTED_FIELD; import static org.hamcrest.Matchers.aMapWithSize; import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.hasEntry; @@ -69,7 +69,7 @@ public TypeExpressionSpec[] specifications() { @Test public void defineFieldSymbolShouldBeAbleToResolveByPrefix() { - symbolTable.store(new Symbol(Namespace.FIELD_NAME, "s.projects"), new ESIndex("s.projects", NESTED_FIELD)); + symbolTable.store(new Symbol(Namespace.FIELD_NAME, "s.projects"), new OpenSearchIndex("s.projects", NESTED_FIELD)); symbolTable.store(new Symbol(Namespace.FIELD_NAME, "s.projects.release"), DATE); symbolTable.store(new Symbol(Namespace.FIELD_NAME, "s.projects.active"), BOOLEAN); symbolTable.store(new Symbol(Namespace.FIELD_NAME, "s.address"), TEXT); @@ -81,7 +81,7 @@ public void defineFieldSymbolShouldBeAbleToResolveByPrefix() { typeByName, allOf( aMapWithSize(3), - hasEntry("s.projects", (Type) new ESIndex("s.projects", NESTED_FIELD)), + hasEntry("s.projects", (Type) new OpenSearchIndex("s.projects", NESTED_FIELD)), hasEntry("s.projects.release", DATE), hasEntry("s.projects.active", BOOLEAN) ) diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/scope/TypeSupplierTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/scope/TypeSupplierTest.java index fd81f86ba6c..ccdb0bbc641 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/scope/TypeSupplierTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/scope/TypeSupplierTest.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.scope; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.SemanticAnalysisException; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; @@ -29,23 +29,23 @@ public class TypeSupplierTest { @Test public void haveOneTypeShouldPass() { - TypeSupplier age = new TypeSupplier("age", ESDataType.INTEGER); + TypeSupplier age = new TypeSupplier("age", OpenSearchDataType.INTEGER); - assertEquals(ESDataType.INTEGER, age.get()); + assertEquals(OpenSearchDataType.INTEGER, age.get()); } @Test public void addSameTypeShouldPass() { - TypeSupplier age = new TypeSupplier("age", ESDataType.INTEGER); - age.add(ESDataType.INTEGER); + TypeSupplier age = new TypeSupplier("age", OpenSearchDataType.INTEGER); + age.add(OpenSearchDataType.INTEGER); - assertEquals(ESDataType.INTEGER, age.get()); + assertEquals(OpenSearchDataType.INTEGER, age.get()); } @Test public void haveTwoTypesShouldThrowException() { - TypeSupplier age = new TypeSupplier("age", ESDataType.INTEGER); - age.add(ESDataType.TEXT); + TypeSupplier age = new TypeSupplier("age", OpenSearchDataType.INTEGER); + age.add(OpenSearchDataType.TEXT); exception.expect(SemanticAnalysisException.class); exception.expectMessage("Field [age] have conflict type"); diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/BaseTypeTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/BaseTypeTest.java index c1a3343348e..fee797c7a10 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/BaseTypeTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/BaseTypeTest.java @@ -15,26 +15,26 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex; import org.junit.Ignore; import org.junit.Test; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.BOOLEAN; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DATE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DOUBLE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.ES_TYPE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.FLOAT; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.INTEGER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.KEYWORD; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.LONG; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.NESTED; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.NUMBER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.SHORT; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.STRING; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.TEXT; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.UNKNOWN; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESIndex.IndexType.NESTED_FIELD; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.BOOLEAN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DATE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DOUBLE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.OPENSEARCH_TYPE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.FLOAT; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.INTEGER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.LONG; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.NESTED; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.NUMBER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.SHORT; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.STRING; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.TEXT; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.UNKNOWN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchIndex.IndexType.NESTED_FIELD; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -46,12 +46,12 @@ public class BaseTypeTest { @Test public void unknownTypeNameShouldReturnUnknown() { - assertEquals(UNKNOWN, ESDataType.typeOf("this_is_a_new_es_type_we_arent_aware")); + assertEquals(UNKNOWN, OpenSearchDataType.typeOf("this_is_a_new_es_type_we_arent_aware")); } @Test public void typeOfShouldIgnoreCase() { - assertEquals(INTEGER, ESDataType.typeOf("Integer")); + assertEquals(INTEGER, OpenSearchDataType.typeOf("Integer")); } @Test @@ -109,8 +109,8 @@ public void anyBaseTypeShouldBeCompatibleWithUnknownBaseType() { @Test public void nestedIndexTypeShouldBeCompatibleWithNestedDataType() { - assertTrue(NESTED.isCompatible(new ESIndex("test", NESTED_FIELD))); - assertTrue(ES_TYPE.isCompatible(new ESIndex("test", NESTED_FIELD))); + assertTrue(NESTED.isCompatible(new OpenSearchIndex("test", NESTED_FIELD))); + assertTrue(OPENSEARCH_TYPE.isCompatible(new OpenSearchIndex("test", NESTED_FIELD))); } } diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/GenericTypeTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/GenericTypeTest.java index 91a1cfc7bef..58e6defa274 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/GenericTypeTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/GenericTypeTest.java @@ -17,13 +17,13 @@ import org.junit.Test; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DOUBLE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.INTEGER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.KEYWORD; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.LONG; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.NUMBER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.TEXT; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.TYPE_ERROR; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DOUBLE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.INTEGER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.LONG; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.NUMBER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.TEXT; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.TYPE_ERROR; import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.function.ScalarFunction.LOG; import static java.util.Collections.singletonList; import static org.junit.Assert.assertEquals; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/ProductTypeTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/ProductTypeTest.java index 9fd371dddbc..bf4c0f83658 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/ProductTypeTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/ProductTypeTest.java @@ -21,11 +21,11 @@ import java.util.Arrays; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.BOOLEAN; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.INTEGER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.KEYWORD; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.NUMBER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.STRING; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.BOOLEAN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.INTEGER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.NUMBER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.STRING; import static java.util.Collections.singletonList; /** diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/TypeExpressionTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/TypeExpressionTest.java index a51b75872ec..2ea23adcdec 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/TypeExpressionTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/semantic/types/TypeExpressionTest.java @@ -19,15 +19,15 @@ import java.util.Arrays; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.BOOLEAN; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DATE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DOUBLE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.GEO_POINT; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.INTEGER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.NUMBER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.STRING; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.TYPE_ERROR; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.UNKNOWN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.BOOLEAN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DATE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DOUBLE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.GEO_POINT; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.INTEGER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.NUMBER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.STRING; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.TYPE_ERROR; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.UNKNOWN; import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.special.Generic.T; import static org.junit.Assert.assertEquals; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/visitor/AntlrSqlParseTreeVisitorTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/visitor/AntlrSqlParseTreeVisitorTest.java index c6e8141ae8d..9e08118443c 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/visitor/AntlrSqlParseTreeVisitorTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/antlr/visitor/AntlrSqlParseTreeVisitorTest.java @@ -30,9 +30,9 @@ import java.util.Arrays; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.DATE; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.INTEGER; -import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType.UNKNOWN; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.DATE; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.INTEGER; +import static com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType.UNKNOWN; import static java.util.Collections.emptyList; /** diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/FieldMappingTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/FieldMappingTest.java index fdca3ed9a58..3e5ac4da181 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/FieldMappingTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/esdomain/mapping/FieldMappingTest.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.mapping; import static java.util.Collections.emptyMap; -import static org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetadata; +import static org.opensearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetadata; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; @@ -26,7 +26,7 @@ import java.util.Arrays; import java.util.Map; import java.util.stream.Collectors; -import org.elasticsearch.common.bytes.BytesArray; +import org.opensearch.common.bytes.BytesArray; import org.hamcrest.Matcher; import org.junit.Test; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/AsyncRestExecutorTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/AsyncRestExecutorTest.java index 54c62e93566..58f646c9c57 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/AsyncRestExecutorTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/AsyncRestExecutorTest.java @@ -19,9 +19,9 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings; import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.request.SqlRequest; -import org.elasticsearch.client.Client; -import org.elasticsearch.rest.RestChannel; -import org.elasticsearch.threadpool.ThreadPool; +import org.opensearch.client.Client; +import org.opensearch.rest.RestChannel; +import org.opensearch.threadpool.ThreadPool; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -33,7 +33,7 @@ import static java.util.Collections.emptyList; import static java.util.Collections.emptyMap; -import static org.elasticsearch.transport.TcpTransport.TRANSPORT_WORKER_THREAD_NAME_PREFIX; +import static org.opensearch.transport.TcpTransport.TRANSPORT_WORKER_THREAD_NAME_PREFIX; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DateFieldFormatterTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DateFieldFormatterTest.java index 52d555be2d0..39a23ef3e03 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DateFieldFormatterTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/DateFieldFormatterTest.java @@ -29,7 +29,7 @@ public class DateFieldFormatterTest { @Test - public void testKibanaSampleDataEcommerceOrderDateField() + public void testOpenSearchDashboardsSampleDataEcommerceOrderDateField() { String columnName = "order_date"; String dateFormat = "date_optional_time"; @@ -40,7 +40,7 @@ public void testKibanaSampleDataEcommerceOrderDateField() } @Test - public void testKibanaSampleDataFlightsTimestampField() + public void testOpenSearchDashboardsSampleDataFlightsTimestampField() { String columnName = "timestamp"; String dateFormat = "date_optional_time"; @@ -51,7 +51,7 @@ public void testKibanaSampleDataFlightsTimestampField() } @Test - public void testKibanaSampleDataFlightsTimestampFieldNoTime() + public void testOpenSearchDashboardsSampleDataFlightsTimestampFieldNoTime() { String columnName = "timestamp"; String dateFormat = "date_optional_time"; @@ -62,7 +62,7 @@ public void testKibanaSampleDataFlightsTimestampFieldNoTime() } @Test - public void testKibanaSampleDataLogsUtcDateField() + public void testOpenSearchDashboardsSampleDataLogsUtcDateField() { String columnName = "utc_date"; String dateFormat = "date_optional_time"; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ResultSetTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ResultSetTest.java index f1d51ca2f2c..62be1fa014a 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ResultSetTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ResultSetTest.java @@ -34,8 +34,8 @@ public Schema getSchema() { * Case #1: * LIKE 'test%' is converted to: * 1. Regex pattern: test.* - * 2. ES search pattern: test* - * In this case, what ES returns is the final result. + * 2. OpenSearch search pattern: test* + * In this case, what OpenSearch returns is the final result. */ @Test public void testWildcardForZeroOrMoreCharacters() { @@ -46,24 +46,24 @@ public void testWildcardForZeroOrMoreCharacters() { * Case #2: * LIKE 'test_123' is converted to: * 1. Regex pattern: test.123 - * 2. ES search pattern: (all) - * Because ES doesn't support single wildcard character, in this case, none is passed - * as ES search pattern. So all index names are returned and need to be filtered by + * 2. OpenSearch search pattern: (all) + * Because OpenSearch doesn't support single wildcard character, in this case, none is passed + * as OpenSearch search pattern. So all index names are returned and need to be filtered by * regex pattern again. */ @Test public void testWildcardForSingleCharacter() { assertFalse(resultSet.matchesPatternIfRegex("accounts", "test.23")); - assertFalse(resultSet.matchesPatternIfRegex(".kibana", "test.23")); + assertFalse(resultSet.matchesPatternIfRegex(".opensearch_dashboards", "test.23")); assertTrue(resultSet.matchesPatternIfRegex("test123", "test.23")); } /** * Case #3: - * LIKE 'acc' has same regex and ES pattern. + * LIKE 'acc' has same regex and OpenSearch pattern. * In this case, only index name(s) aliased by 'acc' is returned. * So regex match is skipped to avoid wrong empty result. - * The assumption here is ES won't return unrelated index names if + * The assumption here is OpenSearch won't return unrelated index names if * LIKE pattern doesn't include any wildcard. */ @Test @@ -74,14 +74,14 @@ public void testIndexAlias() { /** * Case #4: * LIKE 'test.2020.10' has same regex pattern. Because it includes dot (wildcard), - * ES search pattern is all. + * OpenSearch search pattern is all. * In this case, all index names are returned. Because the pattern includes dot, * it's treated as regex and regex match won't be skipped. */ @Test public void testIndexNameWithDot() { assertFalse(resultSet.matchesPatternIfRegex("accounts", "test.2020.10")); - assertFalse(resultSet.matchesPatternIfRegex(".kibana", "test.2020.10")); + assertFalse(resultSet.matchesPatternIfRegex(".opensearch_dashboards", "test.2020.10")); assertTrue(resultSet.matchesPatternIfRegex("test.2020.10", "test.2020.10")); } diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSQLQueryActionTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSQLQueryActionTest.java index 3661e66db53..c7984289a0a 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSQLQueryActionTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/plugin/RestSQLQueryActionTest.java @@ -25,10 +25,10 @@ import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; import com.amazon.opendistroforelasticsearch.sql.sql.domain.SQLQueryRequest; -import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.cluster.service.ClusterService; -import org.elasticsearch.common.util.concurrent.ThreadContext; -import org.elasticsearch.threadpool.ThreadPool; +import org.opensearch.client.node.NodeClient; +import org.opensearch.cluster.service.ClusterService; +import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.threadpool.ThreadPool; import org.json.JSONObject; import org.junit.Before; import org.junit.Test; @@ -52,9 +52,9 @@ public class RestSQLQueryActionTest { @Before public void setup() { - nodeClient = new NodeClient(org.elasticsearch.common.settings.Settings.EMPTY, threadPool); + nodeClient = new NodeClient(org.opensearch.common.settings.Settings.EMPTY, threadPool); when(threadPool.getThreadContext()) - .thenReturn(new ThreadContext(org.elasticsearch.common.settings.Settings.EMPTY)); + .thenReturn(new ThreadContext(org.opensearch.common.settings.Settings.EMPTY)); } @Test diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/DateFormatTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/DateFormatTest.java index 67fcdd5693a..282ed4819c2 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/DateFormatTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/DateFormatTest.java @@ -27,11 +27,11 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.AggregationQueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.maker.QueryMaker; import com.amazon.opendistroforelasticsearch.sql.legacy.util.MatcherUtils; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.lucene.BytesRefs; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.index.query.RangeQueryBuilder; +import org.opensearch.client.Client; +import org.opensearch.common.lucene.BytesRefs; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.index.query.QueryBuilder; +import org.opensearch.index.query.RangeQueryBuilder; import org.hamcrest.Matcher; import org.json.JSONObject; import org.junit.Ignore; @@ -74,7 +74,7 @@ public void equalCondition() { @Test public void orderByTest() { String query = "SELECT agent, ip, date_format(utc_time, 'dd-MM-YYYY') date " + - "FROM kibana_sample_data_logs " + + "FROM opensearch_dashboards_sample_data_logs " + "ORDER BY date_format(utc_time, 'dd-MM-YYYY') desc, ip"; Select select = getSelect(query); @@ -98,7 +98,7 @@ public void orderByTest() { @Test public void groupByWithDescOrder() throws SqlParseException { String query = "SELECT date_format(utc_time, 'dd-MM-YYYY'), count(*) " + - "FROM kibana_sample_data_logs " + + "FROM opensearch_dashboards_sample_data_logs " + "GROUP BY date_format(utc_time, 'dd-MM-YYYY') " + "ORDER BY date_format(utc_time, 'dd-MM-YYYY') DESC"; @@ -110,7 +110,7 @@ public void groupByWithDescOrder() throws SqlParseException { @Test public void groupByWithAscOrder() throws SqlParseException { String query = "SELECT date_format(utc_time, 'dd-MM-YYYY'), count(*) " + - "FROM kibana_sample_data_logs " + + "FROM opensearch_dashboards_sample_data_logs " + "GROUP BY date_format(utc_time, 'dd-MM-YYYY') " + "ORDER BY date_format(utc_time, 'dd-MM-YYYY')"; @@ -123,7 +123,7 @@ public void groupByWithAscOrder() throws SqlParseException { @Ignore("https://github.com/opendistro-for-elasticsearch/sql/issues/158") public void groupByWithAndAlias() throws SqlParseException { String query = "SELECT date_format(utc_time, 'dd-MM-YYYY') x, count(*) " + - "FROM kibana_sample_data_logs " + + "FROM opensearch_dashboards_sample_data_logs " + "GROUP BY x " + "ORDER BY x"; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/DateFunctionsTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/DateFunctionsTest.java index bc6d912c9fb..478353c28a8 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/DateFunctionsTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/DateFunctionsTest.java @@ -20,7 +20,7 @@ import org.junit.BeforeClass; import org.junit.Test; -import static org.elasticsearch.search.builder.SearchSourceBuilder.ScriptField; +import static org.opensearch.search.builder.SearchSourceBuilder.ScriptField; import static org.junit.Assert.assertTrue; import static com.amazon.opendistroforelasticsearch.sql.legacy.util.CheckScriptContents.getScriptFieldFromQuery; import static com.amazon.opendistroforelasticsearch.sql.legacy.util.CheckScriptContents.getScriptFilterFromQuery; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/ErrorMessageFactoryTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/ErrorMessageFactoryTest.java index c10ceaeae8d..e9ab4918f5f 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/ErrorMessageFactoryTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/ErrorMessageFactoryTest.java @@ -15,45 +15,45 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.unittest; -import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.ElasticsearchErrorMessage; +import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.OpenSearchErrorMessage; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.ErrorMessage; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.ErrorMessageFactory; -import org.elasticsearch.ElasticsearchException; -import org.elasticsearch.rest.RestStatus; +import org.opensearch.OpenSearchException; +import org.opensearch.rest.RestStatus; import org.junit.Assert; import org.junit.Test; public class ErrorMessageFactoryTest { - private Throwable nonEsThrowable = new Throwable(); - private Throwable esThrowable = new ElasticsearchException(nonEsThrowable); + private Throwable nonOpenSearchThrowable = new Throwable(); + private Throwable openSearchThrowable = new OpenSearchException(nonOpenSearchThrowable); @Test - public void esExceptionShouldCreateEsErrorMessage() { - Exception exception = new ElasticsearchException(nonEsThrowable); + public void openSearchExceptionShouldCreateEsErrorMessage() { + Exception exception = new OpenSearchException(nonOpenSearchThrowable); ErrorMessage msg = ErrorMessageFactory.createErrorMessage(exception, RestStatus.BAD_REQUEST.getStatus()); - Assert.assertTrue(msg instanceof ElasticsearchErrorMessage); + Assert.assertTrue(msg instanceof OpenSearchErrorMessage); } @Test - public void nonEsExceptionShouldCreateGenericErrorMessage() { - Exception exception = new Exception(nonEsThrowable); + public void nonOpenSearchExceptionShouldCreateGenericErrorMessage() { + Exception exception = new Exception(nonOpenSearchThrowable); ErrorMessage msg = ErrorMessageFactory.createErrorMessage(exception, RestStatus.BAD_REQUEST.getStatus()); - Assert.assertFalse(msg instanceof ElasticsearchErrorMessage); + Assert.assertFalse(msg instanceof OpenSearchErrorMessage); } @Test - public void nonEsExceptionWithWrappedEsExceptionCauseShouldCreateEsErrorMessage() { - Exception exception = (Exception) esThrowable; + public void nonOpenSearchExceptionWithWrappedEsExceptionCauseShouldCreateEsErrorMessage() { + Exception exception = (Exception) openSearchThrowable; ErrorMessage msg = ErrorMessageFactory.createErrorMessage(exception, RestStatus.BAD_REQUEST.getStatus()); - Assert.assertTrue(msg instanceof ElasticsearchErrorMessage); + Assert.assertTrue(msg instanceof OpenSearchErrorMessage); } @Test - public void nonEsExceptionWithMultiLayerWrappedEsExceptionCauseShouldCreateEsErrorMessage() { - Exception exception = new Exception(new Throwable(new Throwable(esThrowable))); + public void nonOpenSearchExceptionWithMultiLayerWrappedEsExceptionCauseShouldCreateEsErrorMessage() { + Exception exception = new Exception(new Throwable(new Throwable(openSearchThrowable))); ErrorMessage msg = ErrorMessageFactory.createErrorMessage(exception, RestStatus.BAD_REQUEST.getStatus()); - Assert.assertTrue(msg instanceof ElasticsearchErrorMessage); + Assert.assertTrue(msg instanceof OpenSearchErrorMessage); } } diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/HavingTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/HavingTest.java index 5b5d6307a99..ac7d0e2d5cf 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/HavingTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/HavingTest.java @@ -23,11 +23,11 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.parser.SqlParser; import com.amazon.opendistroforelasticsearch.sql.legacy.query.maker.AggMaker; import com.amazon.opendistroforelasticsearch.sql.legacy.util.SqlParserUtils; -import org.elasticsearch.script.Script; -import org.elasticsearch.search.aggregations.AggregationBuilder; -import org.elasticsearch.search.aggregations.AggregationBuilders; -import org.elasticsearch.search.aggregations.PipelineAggregationBuilder; -import org.elasticsearch.search.aggregations.pipeline.BucketSelectorPipelineAggregationBuilder; +import org.opensearch.script.Script; +import org.opensearch.search.aggregations.AggregationBuilder; +import org.opensearch.search.aggregations.AggregationBuilders; +import org.opensearch.search.aggregations.PipelineAggregationBuilder; +import org.opensearch.search.aggregations.pipeline.BucketSelectorPipelineAggregationBuilder; import org.hamcrest.Matcher; import org.hamcrest.Matchers; import org.junit.Ignore; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/JSONRequestTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/JSONRequestTest.java index 95c506e0bcb..5986f3234e8 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/JSONRequestTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/JSONRequestTest.java @@ -22,13 +22,13 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.Format; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.Schema; -import com.amazon.opendistroforelasticsearch.sql.legacy.query.ESActionFactory; +import com.amazon.opendistroforelasticsearch.sql.legacy.query.OpenSearchActionFactory; import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.SqlElasticRequestBuilder; import com.amazon.opendistroforelasticsearch.sql.legacy.request.SqlRequest; import com.amazon.opendistroforelasticsearch.sql.legacy.util.CheckScriptContents; import com.google.common.io.Files; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import org.json.JSONObject; import org.junit.Before; import org.junit.Ignore; @@ -365,7 +365,8 @@ private String translate(String sql, JSONObject jsonRequest) throws SQLFeatureNo Client mockClient = Mockito.mock(Client.class); CheckScriptContents.stubMockClient(mockClient); QueryAction queryAction = - ESActionFactory.create(mockClient, new QueryActionRequest(sql, columnTypeProvider, Format.JDBC)); + OpenSearchActionFactory + .create(mockClient, new QueryActionRequest(sql, columnTypeProvider, Format.JDBC)); SqlRequest sqlRequest = new SqlRequest(sql, jsonRequest); queryAction.setSqlRequest(sqlRequest); diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/LocalClusterStateTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/LocalClusterStateTest.java index 60d5ce920c3..e1f5f4844da 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/LocalClusterStateTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/LocalClusterStateTest.java @@ -21,9 +21,9 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.mapping.TypeMappings; import com.amazon.opendistroforelasticsearch.sql.legacy.util.TestsConstants; import com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings; -import org.elasticsearch.cluster.ClusterChangedEvent; -import org.elasticsearch.cluster.ClusterStateListener; -import org.elasticsearch.cluster.service.ClusterService; +import org.opensearch.cluster.ClusterChangedEvent; +import org.opensearch.cluster.ClusterStateListener; +import org.opensearch.cluster.service.ClusterService; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -45,7 +45,7 @@ import static org.mockito.Mockito.when; /** - * Local cluster state testing without covering ES logic, ex. resolve index pattern. + * Local cluster state testing without covering OpenSearch logic, ex. resolve index pattern. */ public class LocalClusterStateTest { @@ -53,7 +53,7 @@ public class LocalClusterStateTest { private static final String TYPE_NAME = "account"; private static final String MAPPING = "{\n" + - " \"elasticsearch-sql_test_index_bank\": {\n" + + " \"opensearch-sql_test_index_bank\": {\n" + " \"mappings\": {\n" + " \"account\": {\n" + " \"properties\": {\n" + diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/MathFunctionsTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/MathFunctionsTest.java index ed08283ea3a..af3b8199ffd 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/MathFunctionsTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/MathFunctionsTest.java @@ -21,7 +21,7 @@ import org.junit.BeforeClass; import org.junit.Test; -import static org.elasticsearch.search.builder.SearchSourceBuilder.ScriptField; +import static org.opensearch.search.builder.SearchSourceBuilder.ScriptField; import static org.junit.Assert.assertTrue; public class MathFunctionsTest { diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/NestedFieldProjectionTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/NestedFieldProjectionTest.java index f76b3c2f5b9..520aa8a3b29 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/NestedFieldProjectionTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/NestedFieldProjectionTest.java @@ -28,15 +28,15 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.maker.QueryMaker; import com.amazon.opendistroforelasticsearch.sql.legacy.rewriter.nestedfield.NestedFieldRewriter; import com.amazon.opendistroforelasticsearch.sql.legacy.util.HasFieldWithValue; -import org.elasticsearch.action.search.SearchAction; -import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.client.Client; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.NestedQueryBuilder; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.search.builder.SearchSourceBuilder; -import org.elasticsearch.search.fetch.subphase.FetchSourceContext; +import org.opensearch.action.search.SearchAction; +import org.opensearch.action.search.SearchRequest; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.client.Client; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.index.query.NestedQueryBuilder; +import org.opensearch.index.query.QueryBuilder; +import org.opensearch.search.builder.SearchSourceBuilder; +import org.opensearch.search.fetch.subphase.FetchSourceContext; import org.hamcrest.FeatureMatcher; import org.hamcrest.Matcher; import org.hamcrest.Matchers; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/ESClientTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/OpenSearchClientTest.java similarity index 80% rename from legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/ESClientTest.java rename to legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/OpenSearchClientTest.java index c54d0daf235..2b60379f253 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/ESClientTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/OpenSearchClientTest.java @@ -15,13 +15,13 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.unittest; -import com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.ESClient; -import org.elasticsearch.action.ActionFuture; -import org.elasticsearch.action.search.MultiSearchRequest; -import org.elasticsearch.action.search.MultiSearchResponse; -import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.Client; +import com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.OpenSearchClient; +import org.opensearch.action.ActionFuture; +import org.opensearch.action.search.MultiSearchRequest; +import org.opensearch.action.search.MultiSearchResponse; +import org.opensearch.action.search.SearchRequest; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.Client; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -34,7 +34,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -public class ESClientTest { +public class OpenSearchClientTest { @Mock protected Client client; @@ -64,8 +64,8 @@ public MultiSearchResponse.Item[] answer(InvocationOnMock invocation) { @Test public void multiSearchRetryOneTime() { - ESClient esClient = new ESClient(client); - MultiSearchResponse.Item[] res = esClient.multiSearch(new MultiSearchRequest().add(new SearchRequest()).add(new SearchRequest())); + OpenSearchClient openSearchClient = new OpenSearchClient(client); + MultiSearchResponse.Item[] res = openSearchClient.multiSearch(new MultiSearchRequest().add(new SearchRequest()).add(new SearchRequest())); Assert.assertEquals(res.length, 2); Assert.assertFalse(res[0].isFailure()); Assert.assertFalse(res[1].isFailure()); diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/QueryFunctionsTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/QueryFunctionsTest.java index b939c8696e4..b607c40baff 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/QueryFunctionsTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/QueryFunctionsTest.java @@ -17,14 +17,14 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.util.TestsConstants; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; -import com.amazon.opendistroforelasticsearch.sql.legacy.query.ESActionFactory; +import com.amazon.opendistroforelasticsearch.sql.legacy.query.OpenSearchActionFactory; import com.amazon.opendistroforelasticsearch.sql.legacy.util.CheckScriptContents; import org.apache.lucene.search.join.ScoreMode; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.Strings; -import org.elasticsearch.index.query.AbstractQueryBuilder; -import org.elasticsearch.index.query.MultiMatchQueryBuilder; -import org.elasticsearch.search.builder.SearchSourceBuilder.ScriptField; +import org.opensearch.client.Client; +import org.opensearch.common.Strings; +import org.opensearch.index.query.AbstractQueryBuilder; +import org.opensearch.index.query.MultiMatchQueryBuilder; +import org.opensearch.search.builder.SearchSourceBuilder.ScriptField; import org.hamcrest.Matcher; import org.junit.Test; import org.mockito.Mockito; @@ -32,13 +32,13 @@ import java.sql.SQLFeatureNotSupportedException; import static com.amazon.opendistroforelasticsearch.sql.legacy.util.SqlExplainUtils.explain; -import static org.elasticsearch.index.query.QueryBuilders.constantScoreQuery; -import static org.elasticsearch.index.query.QueryBuilders.matchPhraseQuery; -import static org.elasticsearch.index.query.QueryBuilders.matchQuery; -import static org.elasticsearch.index.query.QueryBuilders.multiMatchQuery; -import static org.elasticsearch.index.query.QueryBuilders.nestedQuery; -import static org.elasticsearch.index.query.QueryBuilders.queryStringQuery; -import static org.elasticsearch.index.query.QueryBuilders.wildcardQuery; +import static org.opensearch.index.query.QueryBuilders.constantScoreQuery; +import static org.opensearch.index.query.QueryBuilders.matchPhraseQuery; +import static org.opensearch.index.query.QueryBuilders.matchQuery; +import static org.opensearch.index.query.QueryBuilders.multiMatchQuery; +import static org.opensearch.index.query.QueryBuilders.nestedQuery; +import static org.opensearch.index.query.QueryBuilders.queryStringQuery; +import static org.opensearch.index.query.QueryBuilders.wildcardQuery; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsString; import static org.junit.Assert.assertTrue; @@ -274,27 +274,27 @@ public void isNullWithMathExpr() { @Test(expected = SQLFeatureNotSupportedException.class) public void emptyQueryShouldThrowSQLFeatureNotSupportedException() throws SQLFeatureNotSupportedException, SqlParseException { - ESActionFactory.create(Mockito.mock(Client.class), ""); + OpenSearchActionFactory.create(Mockito.mock(Client.class), ""); } @Test(expected = SQLFeatureNotSupportedException.class) public void emptyNewLineQueryShouldThrowSQLFeatureNotSupportedException() throws SQLFeatureNotSupportedException, SqlParseException { - ESActionFactory.create(Mockito.mock(Client.class), "\n"); + OpenSearchActionFactory.create(Mockito.mock(Client.class), "\n"); } @Test(expected = SQLFeatureNotSupportedException.class) public void emptyNewLineQueryShouldThrowSQLFeatureNotSupportedException2() throws SQLFeatureNotSupportedException, SqlParseException { - ESActionFactory.create(Mockito.mock(Client.class), "\r\n"); + OpenSearchActionFactory.create(Mockito.mock(Client.class), "\r\n"); } @Test(expected = SQLFeatureNotSupportedException.class) public void queryWithoutSpaceShouldSQLFeatureNotSupportedException() throws SQLFeatureNotSupportedException, SqlParseException { - ESActionFactory.create(Mockito.mock(Client.class), "SELE"); + OpenSearchActionFactory.create(Mockito.mock(Client.class), "SELE"); } @Test(expected = SQLFeatureNotSupportedException.class) public void spacesOnlyQueryShouldThrowSQLFeatureNotSupportedException() throws SQLFeatureNotSupportedException, SqlParseException { - ESActionFactory.create(Mockito.mock(Client.class), " "); + OpenSearchActionFactory.create(Mockito.mock(Client.class), " "); } private String query(String from, String... statements) { diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/SqlRequestFactoryTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/SqlRequestFactoryTest.java index 39620eb5678..b8efaf0fe14 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/SqlRequestFactoryTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/SqlRequestFactoryTest.java @@ -24,8 +24,8 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.request.PreparedStatementRequest; import com.amazon.opendistroforelasticsearch.sql.legacy.request.SqlRequest; import com.amazon.opendistroforelasticsearch.sql.legacy.request.SqlRequestFactory; -import org.elasticsearch.common.bytes.BytesArray; -import org.elasticsearch.rest.RestRequest; +import org.opensearch.common.bytes.BytesArray; +import org.opensearch.rest.RestRequest; import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/StringOperatorsTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/StringOperatorsTest.java index 0cad9e71e43..8014b546c63 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/StringOperatorsTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/StringOperatorsTest.java @@ -18,7 +18,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.parser.ScriptFilter; import com.amazon.opendistroforelasticsearch.sql.legacy.parser.SqlParser; import com.amazon.opendistroforelasticsearch.sql.legacy.util.CheckScriptContents; -import org.elasticsearch.search.builder.SearchSourceBuilder.ScriptField; +import org.opensearch.search.builder.SearchSourceBuilder.ScriptField; import org.junit.BeforeClass; import org.junit.Test; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/WhereWithBoolConditionTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/WhereWithBoolConditionTest.java index 6d73ee60750..4c9950c145d 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/WhereWithBoolConditionTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/WhereWithBoolConditionTest.java @@ -17,12 +17,12 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.util.TestsConstants; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; -import com.amazon.opendistroforelasticsearch.sql.legacy.query.ESActionFactory; +import com.amazon.opendistroforelasticsearch.sql.legacy.query.OpenSearchActionFactory; import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.util.CheckScriptContents; import com.amazon.opendistroforelasticsearch.sql.legacy.utils.StringUtils; import com.google.common.io.Files; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import org.junit.Test; import org.mockito.Mockito; @@ -67,7 +67,7 @@ private String query(String query) throws SQLFeatureNotSupportedException, SqlPa private String explain(String sql) throws SQLFeatureNotSupportedException, SqlParseException { Client mockClient = Mockito.mock(Client.class); CheckScriptContents.stubMockClient(mockClient); - QueryAction queryAction = ESActionFactory.create(mockClient, sql); + QueryAction queryAction = OpenSearchActionFactory.create(mockClient, sql); return queryAction.explain().explain(); } diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/domain/ColumnTypeProviderTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/domain/ColumnTypeProviderTest.java index ec74faa368a..9cb98e659ba 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/domain/ColumnTypeProviderTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/domain/ColumnTypeProviderTest.java @@ -15,7 +15,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.unittest.domain; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.operator.SetOperator; import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.special.Product; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.ColumnTypeProvider; @@ -29,13 +29,13 @@ public class ColumnTypeProviderTest { @Test public void singleESDataTypeShouldReturnCorrectSchemaType() { - assertEquals(Schema.Type.LONG, new ColumnTypeProvider(ESDataType.LONG).get(0)); + assertEquals(Schema.Type.LONG, new ColumnTypeProvider(OpenSearchDataType.LONG).get(0)); } @Test public void productTypeShouldReturnCorrectSchemaType() { ColumnTypeProvider columnTypeProvider = - new ColumnTypeProvider(new Product(ImmutableList.of(ESDataType.LONG, ESDataType.SHORT))); + new ColumnTypeProvider(new Product(ImmutableList.of(OpenSearchDataType.LONG, OpenSearchDataType.SHORT))); assertEquals(Schema.Type.LONG, columnTypeProvider.get(0)); assertEquals(Schema.Type.SHORT, columnTypeProvider.get(1)); } diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/executor/DeleteResultSetTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/executor/DeleteResultSetTest.java index 1ed630713b1..b8d4b12ced5 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/executor/DeleteResultSetTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/executor/DeleteResultSetTest.java @@ -19,14 +19,14 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.DataRows; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.DeleteResultSet; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.Schema; -import org.elasticsearch.client.node.NodeClient; +import org.opensearch.client.node.NodeClient; -import org.elasticsearch.common.xcontent.DeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.DeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.index.reindex.BulkByScrollResponse; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.index.reindex.BulkByScrollResponse; import org.junit.Test; import org.mockito.Mock; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/executor/join/ElasticUtilsTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/executor/join/ElasticUtilsTest.java index 71d0ab462c4..780dcd68094 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/executor/join/ElasticUtilsTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/executor/join/ElasticUtilsTest.java @@ -19,8 +19,8 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.executor.join.MetaSearchResult; import org.apache.lucene.search.TotalHits; import org.apache.lucene.search.TotalHits.Relation; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; import org.json.JSONObject; import org.junit.Assert; import org.junit.Test; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/parser/SqlParserTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/parser/SqlParserTest.java index 65077883fb9..4b049b95b11 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/parser/SqlParserTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/parser/SqlParserTest.java @@ -39,9 +39,9 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.maker.QueryMaker; import com.amazon.opendistroforelasticsearch.sql.legacy.query.multi.MultiQuerySelect; import com.amazon.opendistroforelasticsearch.sql.legacy.util.CheckScriptContents; -import org.elasticsearch.client.Client; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.search.builder.SearchSourceBuilder.ScriptField; +import org.opensearch.client.Client; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.search.builder.SearchSourceBuilder.ScriptField; import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; @@ -107,7 +107,7 @@ public void failingQueryTest() throws SqlParseException { Select select = parser.parseSelect((SQLQueryExpr) queryToExpr( "SELECT DestCountry, dayOfWeek, max(FlightDelayMin) - min(FlightDelayMin)" + - " FROM kibana_sample_data_flights\n" + + " FROM opensearch_dashboards_sample_data_flights\n" + " GROUP BY DestCountry, dayOfWeek\n")); AggregationQueryAction queryAction = new AggregationQueryAction(mock(Client.class), select); @@ -123,7 +123,7 @@ public void failingQueryTest2() throws SqlParseException { Select select = parser.parseSelect((SQLQueryExpr) queryToExpr( "SELECT DestCountry, dayOfWeek, log(max(FlightDelayMin))" + - " FROM kibana_sample_data_flights\n" + + " FROM opensearch_dashboards_sample_data_flights\n" + " GROUP BY DestCountry, dayOfWeek\n")); AggregationQueryAction queryAction = new AggregationQueryAction(mock(Client.class), select); @@ -139,7 +139,7 @@ public void failingQueryWithHavingTest() throws SqlParseException { Select select = parser.parseSelect((SQLQueryExpr) queryToExpr( "SELECT DestCountry, dayOfWeek, max(FlightDelayMin) - min(FlightDelayMin) " + - " FROM kibana_sample_data_flights\n" + + " FROM opensearch_dashboards_sample_data_flights\n" + " GROUP BY DestCountry, dayOfWeek\n" + " HAVING max(FlightDelayMin) - min(FlightDelayMin)) * count(FlightDelayMin) + 14 > 100")); @@ -154,7 +154,7 @@ public void failingQueryWithHavingTest2() throws SqlParseException { Select select = parser.parseSelect((SQLQueryExpr) queryToExpr( "SELECT DestCountry, dayOfWeek, max(FlightDelayMin) " + - " FROM kibana_sample_data_flights\n" + + " FROM opensearch_dashboards_sample_data_flights\n" + " GROUP BY DestCountry, dayOfWeek\n" + " HAVING max(FlightDelayMin) - min(FlightDelayMin) > 100")); @@ -626,10 +626,10 @@ public void indexWithDotsAndHyphen() throws SqlParseException { @Test public void indexNameWithDotAtTheStart() throws SqlParseException { - String query = "SELECT * FROM .kibana"; + String query = "SELECT * FROM .opensearch_dashboards"; SQLExpr sqlExpr = queryToExpr(query); Select select = parser.parseSelect((SQLQueryExpr) sqlExpr); - Assert.assertEquals(".kibana", select.getFrom().get(0).getIndex()); + Assert.assertEquals(".opensearch_dashboards", select.getFrom().get(0).getIndex()); } @Test diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/BindingTupleQueryPlannerExecuteTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/BindingTupleQueryPlannerExecuteTest.java index 4ade3565e42..c8ddbfe4d6b 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/BindingTupleQueryPlannerExecuteTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/BindingTupleQueryPlannerExecuteTest.java @@ -21,10 +21,10 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.util.AggregationUtils; import com.amazon.opendistroforelasticsearch.sql.legacy.util.SqlParserUtils; import com.google.common.collect.ImmutableMap; -import org.elasticsearch.action.ActionFuture; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.Client; -import org.elasticsearch.search.aggregations.Aggregations; +import org.opensearch.action.ActionFuture; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.Client; +import org.opensearch.search.aggregations.Aggregations; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/ESActionFactoryTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/OpenSearchActionFactoryTest.java similarity index 74% rename from legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/ESActionFactoryTest.java rename to legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/OpenSearchActionFactoryTest.java index fb8e1b7fc03..ee008f92d8d 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/ESActionFactoryTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/OpenSearchActionFactoryTest.java @@ -16,21 +16,22 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.unittest.planner; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.Format; -import com.amazon.opendistroforelasticsearch.sql.legacy.query.ESActionFactory; +import com.amazon.opendistroforelasticsearch.sql.legacy.query.OpenSearchActionFactory; import com.amazon.opendistroforelasticsearch.sql.legacy.util.SqlParserUtils; import org.junit.Test; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -public class ESActionFactoryTest { +public class OpenSearchActionFactoryTest { @Test public void josnOutputRequestShouldNotMigrateToQueryPlan() { String sql = "SELECT age, MAX(balance) " + "FROM account " + "GROUP BY age"; - assertFalse(ESActionFactory.shouldMigrateToQueryPlan(SqlParserUtils.parse(sql), Format.JSON)); + assertFalse( + OpenSearchActionFactory.shouldMigrateToQueryPlan(SqlParserUtils.parse(sql), Format.JSON)); } @Test @@ -39,7 +40,8 @@ public void nestQueryShouldNotMigrateToQueryPlan() { "FROM account " + "GROUP BY age"; - assertFalse(ESActionFactory.shouldMigrateToQueryPlan(SqlParserUtils.parse(sql), Format.JDBC)); + assertFalse( + OpenSearchActionFactory.shouldMigrateToQueryPlan(SqlParserUtils.parse(sql), Format.JDBC)); } @Test @@ -47,7 +49,8 @@ public void nonAggregationQueryShouldNotMigrateToQueryPlan() { String sql = "SELECT age " + "FROM account "; - assertFalse(ESActionFactory.shouldMigrateToQueryPlan(SqlParserUtils.parse(sql), Format.JDBC)); + assertFalse( + OpenSearchActionFactory.shouldMigrateToQueryPlan(SqlParserUtils.parse(sql), Format.JDBC)); } @Test @@ -55,7 +58,8 @@ public void aggregationQueryWithoutGroupByShouldMigrateToQueryPlan() { String sql = "SELECT age, COUNT(balance) " + "FROM account "; - assertTrue(ESActionFactory.shouldMigrateToQueryPlan(SqlParserUtils.parse(sql), Format.JDBC)); + assertTrue( + OpenSearchActionFactory.shouldMigrateToQueryPlan(SqlParserUtils.parse(sql), Format.JDBC)); } @Test @@ -63,7 +67,8 @@ public void aggregationQueryWithExpressionByShouldMigrateToQueryPlan() { String sql = "SELECT age, MAX(balance) - MIN(balance) " + "FROM account "; - assertTrue(ESActionFactory.shouldMigrateToQueryPlan(SqlParserUtils.parse(sql), Format.JDBC)); + assertTrue( + OpenSearchActionFactory.shouldMigrateToQueryPlan(SqlParserUtils.parse(sql), Format.JDBC)); } @Test @@ -72,6 +77,7 @@ public void queryOnlyHasGroupByShouldMigrateToQueryPlan() { "FROM account " + "GROUP BY alias"; - assertTrue(ESActionFactory.shouldMigrateToQueryPlan(SqlParserUtils.parse(sql), Format.JDBC)); + assertTrue( + OpenSearchActionFactory.shouldMigrateToQueryPlan(SqlParserUtils.parse(sql), Format.JDBC)); } } diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerBatchTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerBatchTest.java index 04b21c0f665..cec0978ae6e 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerBatchTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerBatchTest.java @@ -15,8 +15,8 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.unittest.planner; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; import org.hamcrest.Matcher; import org.junit.Test; import org.junit.runner.RunWith; @@ -244,7 +244,7 @@ private static Matcher[] concat(Matcher[] one, Matcher[] other) { return concat(one, other, Matcher.class); } - /** Copy from ES ArrayUtils */ + /** Copy from OpenSearch ArrayUtils */ private static T[] concat(T[] one, T[] other, Class clazz) { T[] target = (T[]) Array.newInstance(clazz, one.length + other.length); System.arraycopy(one, 0, target, 0, one.length); diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerExecuteTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerExecuteTest.java index b25a87c43f9..ed7f16ef42c 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerExecuteTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerExecuteTest.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.unittest.planner; import com.amazon.opendistroforelasticsearch.sql.legacy.util.MatcherUtils; -import org.elasticsearch.search.SearchHit; +import org.opensearch.search.SearchHit; import org.hamcrest.MatcherAssert; import org.junit.Test; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerMonitorTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerMonitorTest.java index ab51fabf98b..38d7cb5621f 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerMonitorTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerMonitorTest.java @@ -16,7 +16,7 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.unittest.planner; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.core.QueryPlanner; -import org.elasticsearch.search.SearchHits; +import org.opensearch.search.SearchHits; import org.junit.Ignore; import org.junit.Test; import org.mockito.Spy; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerTest.java index 33c818b4b2d..d1579319986 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/QueryPlannerTest.java @@ -29,22 +29,22 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings; import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.SqlElasticRequestBuilder; -import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.ESJoinQueryActionFactory; +import com.amazon.opendistroforelasticsearch.sql.legacy.query.join.OpenSearchJoinQueryActionFactory; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.HashJoinQueryPlanRequestBuilder; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.core.QueryPlanner; import com.amazon.opendistroforelasticsearch.sql.legacy.request.SqlRequest; import org.apache.lucene.search.TotalHits; import org.apache.lucene.search.TotalHits.Relation; -import org.elasticsearch.action.ActionFuture; -import org.elasticsearch.action.search.ClearScrollRequestBuilder; -import org.elasticsearch.action.search.ClearScrollResponse; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchScrollRequestBuilder; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.bytes.BytesArray; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; +import org.opensearch.action.ActionFuture; +import org.opensearch.action.search.ClearScrollRequestBuilder; +import org.opensearch.action.search.ClearScrollResponse; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.action.search.SearchScrollRequestBuilder; +import org.opensearch.client.Client; +import org.opensearch.common.bytes.BytesArray; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; import org.junit.Before; import org.junit.Ignore; import org.mockito.Mock; @@ -183,7 +183,8 @@ protected SqlElasticRequestBuilder createRequestBuilder(String sql) { try { SQLQueryExpr sqlExpr = (SQLQueryExpr) toSqlExpr(sql); JoinSelect joinSelect = new SqlParser().parseJoinSelect(sqlExpr); // Ignore handleSubquery() - QueryAction queryAction = ESJoinQueryActionFactory.createJoinAction(client, joinSelect); + QueryAction queryAction = OpenSearchJoinQueryActionFactory + .createJoinAction(client, joinSelect); queryAction.setSqlRequest(new SqlRequest(sql, null)); return queryAction.explain(); } diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/converter/SQLAggregationParserTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/converter/SQLAggregationParserTest.java index 814f24132da..1f7bad03dbc 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/converter/SQLAggregationParserTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/converter/SQLAggregationParserTest.java @@ -52,7 +52,7 @@ public class SQLAggregationParserTest { @Test public void parseAggWithoutExpressionShouldPass() { String sql = "SELECT dayOfWeek, max(FlightDelayMin), MIN(FlightDelayMin) as min " + - "FROM kibana_sample_data_flights " + + "FROM opensearch_dashboards_sample_data_flights " + "GROUP BY dayOfWeek"; SQLAggregationParser parser = new SQLAggregationParser(new ColumnTypeProvider()); parser.parse(mYSqlSelectQueryBlock(sql)); @@ -72,7 +72,7 @@ public void parseAggWithoutExpressionShouldPass() { @Test public void parseAggWithFunctioniWithoutExpressionShouldPass() { String sql = "SELECT dayOfWeek, max(FlightDelayMin), MIN(FlightDelayMin) as min " + - "FROM kibana_sample_data_flights " + + "FROM opensearch_dashboards_sample_data_flights " + "GROUP BY dayOfWeek"; SQLAggregationParser parser = new SQLAggregationParser(new ColumnTypeProvider()); parser.parse(mYSqlSelectQueryBlock(sql)); @@ -92,7 +92,7 @@ public void parseAggWithFunctioniWithoutExpressionShouldPass() { @Test public void parseAggWithExpressionShouldPass() { String sql = "SELECT dayOfWeek, max(FlightDelayMin) + MIN(FlightDelayMin) as sub " + - "FROM kibana_sample_data_flights " + + "FROM opensearch_dashboards_sample_data_flights " + "GROUP BY dayOfWeek"; SQLAggregationParser parser = new SQLAggregationParser(new ColumnTypeProvider()); parser.parse(mYSqlSelectQueryBlock(sql)); @@ -111,7 +111,7 @@ public void parseAggWithExpressionShouldPass() { @Test public void parseWithRawSelectFuncnameShouldPass() { String sql = "SELECT LOG(FlightDelayMin) " + - "FROM kibana_sample_data_flights " + + "FROM opensearch_dashboards_sample_data_flights " + "GROUP BY log(FlightDelayMin)"; SQLAggregationParser parser = new SQLAggregationParser(new ColumnTypeProvider()); parser.parse(mYSqlSelectQueryBlock(sql)); @@ -135,7 +135,7 @@ public void parseWithRawSelectFuncnameShouldPass() { @Test public void functionOverFiledShouldPass() { String sql = "SELECT dayOfWeek, max(FlightDelayMin) + MIN(FlightDelayMin) as sub " + - "FROM kibana_sample_data_flights " + + "FROM opensearch_dashboards_sample_data_flights " + "GROUP BY dayOfWeek"; SQLAggregationParser parser = new SQLAggregationParser(new ColumnTypeProvider()); parser.parse(mYSqlSelectQueryBlock(sql)); @@ -154,7 +154,7 @@ public void functionOverFiledShouldPass() { @Test public void parseCompoundAggWithExpressionShouldPass() { String sql = "SELECT ASCII(dayOfWeek), log(max(FlightDelayMin) + MIN(FlightDelayMin)) as log " + - "FROM kibana_sample_data_flights " + + "FROM opensearch_dashboards_sample_data_flights " + "GROUP BY ASCII(dayOfWeek)"; SQLAggregationParser parser = new SQLAggregationParser(new ColumnTypeProvider()); parser.parse(mYSqlSelectQueryBlock(sql)); diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/converter/SQLToOperatorConverterTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/converter/SQLToOperatorConverterTest.java index 7ab98e9fca9..b38e401df1c 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/converter/SQLToOperatorConverterTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/converter/SQLToOperatorConverterTest.java @@ -23,7 +23,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.converter.SQLToOperatorConverter; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.physical.PhysicalOperator; import com.amazon.opendistroforelasticsearch.sql.legacy.query.planner.physical.node.project.PhysicalProject; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -47,7 +47,7 @@ public void setup() { @Test public void convertAggShouldPass() { String sql = "SELECT dayOfWeek, max(FlightDelayMin), MIN(FlightDelayMin) as min " + - "FROM kibana_sample_data_flights " + + "FROM opensearch_dashboards_sample_data_flights " + "GROUP BY dayOfWeek"; toExpr(sql).accept(converter); PhysicalOperator physicalOperator = converter.getPhysicalOperator(); @@ -58,7 +58,7 @@ public void convertAggShouldPass() { @Test public void convertMaxMinusMinShouldPass() { String sql = "SELECT dayOfWeek, max(FlightDelayMin) - MIN(FlightDelayMin) as diff " + - "FROM kibana_sample_data_flights " + + "FROM opensearch_dashboards_sample_data_flights " + "GROUP BY dayOfWeek"; toExpr(sql).accept(converter); PhysicalOperator physicalOperator = converter.getPhysicalOperator(); @@ -69,7 +69,7 @@ public void convertMaxMinusMinShouldPass() { @Test public void convertDistinctPass() { String sql = "SELECT dayOfWeek, max(FlightDelayMin) - MIN(FlightDelayMin) as diff " + - "FROM kibana_sample_data_flights " + + "FROM opensearch_dashboards_sample_data_flights " + "GROUP BY dayOfWeek"; toExpr(sql).accept(converter); PhysicalOperator physicalOperator = converter.getPhysicalOperator(); diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/query/DefaultQueryActionTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/query/DefaultQueryActionTest.java index d92448e12ed..afa600e21fa 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/query/DefaultQueryActionTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/query/DefaultQueryActionTest.java @@ -25,10 +25,10 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.metrics.Metrics; import com.amazon.opendistroforelasticsearch.sql.legacy.query.DefaultQueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.request.SqlRequest; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.script.Script; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.client.Client; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.script.Script; import org.junit.After; import org.junit.Assert; import org.junit.Before; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/rewriter/inline/AliasInliningTests.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/rewriter/inline/AliasInliningTests.java index 4fea081adcf..f3821388bfc 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/rewriter/inline/AliasInliningTests.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/rewriter/inline/AliasInliningTests.java @@ -22,7 +22,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.request.SqlRequest; import com.google.common.base.Charsets; import com.google.common.io.Resources; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import org.json.JSONObject; import org.junit.Before; import org.junit.Test; @@ -50,13 +50,13 @@ public void setUp() throws IOException { @Test public void orderByAliasedFieldTest() throws SqlParseException { String originalQuery = "SELECT utc_time date " + - "FROM kibana_sample_data_logs " + + "FROM opensearch_dashboards_sample_data_logs " + "ORDER BY date DESC"; String originalDsl = parseAsSimpleQuery(originalQuery); String rewrittenQuery = "SELECT utc_time date " + - "FROM kibana_sample_data_logs " + + "FROM opensearch_dashboards_sample_data_logs " + "ORDER BY utc_time DESC"; String rewrittenDsl = parseAsSimpleQuery(rewrittenQuery); @@ -80,13 +80,13 @@ public void orderByAliasedScriptedField() throws SqlParseException { @Test public void groupByAliasedFieldTest() throws SqlParseException { String originalQuery = "SELECT utc_time date " + - "FROM kibana_sample_data_logs " + + "FROM opensearch_dashboards_sample_data_logs " + "GROUP BY date"; String originalDsl = parseAsAggregationQuery(originalQuery); String rewrittenQuery = "SELECT utc_time date " + - "FROM kibana_sample_data_logs " + + "FROM opensearch_dashboards_sample_data_logs " + "GROUP BY utc_time DESC"; String rewrittenDsl = parseAsAggregationQuery(rewrittenQuery); @@ -96,8 +96,8 @@ public void groupByAliasedFieldTest() throws SqlParseException { @Test public void groupAndSortBySameExprAlias() throws SqlParseException { - String query = "SELECT date_format(timestamp, 'yyyy-MM') es-table.timestamp_tg, COUNT(*) count, COUNT(DistanceKilometers) es-table.DistanceKilometers_count\n" + - "FROM kibana_sample_data_flights\n" + + String query = "SELECT date_format(timestamp, 'yyyy-MM') opensearch-table.timestamp_tg, COUNT(*) count, COUNT(DistanceKilometers) opensearch-table.DistanceKilometers_count\n" + + "FROM opensearch_dashboards_sample_data_flights\n" + "GROUP BY date_format(timestamp, 'yyyy-MM')\n" + "ORDER BY date_format(timestamp, 'yyyy-MM') DESC\n" + "LIMIT 2500"; @@ -105,7 +105,7 @@ public void groupAndSortBySameExprAlias() throws SqlParseException { JSONObject parseQuery = new JSONObject(dsl); - assertThat(parseQuery.query("/aggregations/es-table.timestamp_tg/terms/script"), notNullValue()); + assertThat(parseQuery.query("/aggregations/opensearch-table.timestamp_tg/terms/script"), notNullValue()); } @@ -113,7 +113,7 @@ public void groupAndSortBySameExprAlias() throws SqlParseException { public void groupByAndSortAliased() throws SqlParseException { String dsl = parseAsAggregationQuery( "SELECT date_format(utc_time, 'dd-MM-YYYY') date " + - "FROM kibana_sample_data_logs " + + "FROM opensearch_dashboards_sample_data_logs " + "GROUP BY date " + "ORDER BY date DESC"); diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/utils/SQLFunctionsTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/utils/SQLFunctionsTest.java index f8a664928b1..8a107964728 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/utils/SQLFunctionsTest.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/utils/SQLFunctionsTest.java @@ -21,7 +21,7 @@ import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr; import com.alibaba.druid.sql.ast.expr.SQLIntegerExpr; import com.alibaba.druid.sql.ast.expr.SQLMethodInvokeExpr; -import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.ESDataType; +import com.amazon.opendistroforelasticsearch.sql.legacy.antlr.semantic.types.base.OpenSearchDataType; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.ColumnTypeProvider; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.KVValue; import com.amazon.opendistroforelasticsearch.sql.legacy.domain.MethodField; @@ -31,7 +31,7 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.utils.SQLFunctions; import com.google.common.collect.ImmutableList; import java.util.Arrays; -import org.elasticsearch.common.collect.Tuple; +import org.opensearch.common.collect.Tuple; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; @@ -74,7 +74,7 @@ public void testAbsWithIntReturnType() { final MethodField field = new ScriptMethodField("ABS", params, null, null); field.setExpression(invokeExpr); - ColumnTypeProvider columnTypeProvider = new ColumnTypeProvider(ESDataType.INTEGER); + ColumnTypeProvider columnTypeProvider = new ColumnTypeProvider(OpenSearchDataType.INTEGER); Schema.Type resolvedType = columnTypeProvider.get(0); final Schema.Type returnType = sqlFunctions.getScriptFunctionReturnType(field, resolvedType); @@ -92,7 +92,7 @@ public void testCastReturnType() { List params = new ArrayList<>(); final MethodField field = new ScriptMethodField("CAST", params, null, null); field.setExpression(castExpr); - ColumnTypeProvider columnTypeProvider = new ColumnTypeProvider(ESDataType.INTEGER); + ColumnTypeProvider columnTypeProvider = new ColumnTypeProvider(OpenSearchDataType.INTEGER); Schema.Type resolvedType = columnTypeProvider.get(0); final Schema.Type returnType = sqlFunctions.getScriptFunctionReturnType(field, resolvedType); diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/AggregationUtils.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/AggregationUtils.java index 9f949a0ede3..5f043d9baef 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/AggregationUtils.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/AggregationUtils.java @@ -19,36 +19,36 @@ import java.io.IOException; import java.util.List; import java.util.stream.Collectors; -import org.elasticsearch.common.ParseField; -import org.elasticsearch.common.xcontent.ContextParser; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContent; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.search.aggregations.Aggregation; -import org.elasticsearch.search.aggregations.Aggregations; -import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.histogram.ParsedDateHistogram; -import org.elasticsearch.search.aggregations.bucket.terms.DoubleTerms; -import org.elasticsearch.search.aggregations.bucket.terms.LongTerms; -import org.elasticsearch.search.aggregations.bucket.terms.ParsedDoubleTerms; -import org.elasticsearch.search.aggregations.bucket.terms.ParsedLongTerms; -import org.elasticsearch.search.aggregations.bucket.terms.ParsedStringTerms; -import org.elasticsearch.search.aggregations.bucket.terms.StringTerms; -import org.elasticsearch.search.aggregations.metrics.AvgAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.MaxAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.MinAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.ParsedAvg; -import org.elasticsearch.search.aggregations.metrics.ParsedMax; -import org.elasticsearch.search.aggregations.metrics.ParsedMin; -import org.elasticsearch.search.aggregations.metrics.ParsedSum; -import org.elasticsearch.search.aggregations.metrics.ParsedValueCount; -import org.elasticsearch.search.aggregations.metrics.SumAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.ValueCountAggregationBuilder; -import org.elasticsearch.search.aggregations.pipeline.ParsedPercentilesBucket; -import org.elasticsearch.search.aggregations.pipeline.PercentilesBucketPipelineAggregationBuilder; +import org.opensearch.common.ParseField; +import org.opensearch.common.xcontent.ContextParser; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContent; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.search.aggregations.Aggregation; +import org.opensearch.search.aggregations.Aggregations; +import org.opensearch.search.aggregations.bucket.histogram.DateHistogramAggregationBuilder; +import org.opensearch.search.aggregations.bucket.histogram.ParsedDateHistogram; +import org.opensearch.search.aggregations.bucket.terms.DoubleTerms; +import org.opensearch.search.aggregations.bucket.terms.LongTerms; +import org.opensearch.search.aggregations.bucket.terms.ParsedDoubleTerms; +import org.opensearch.search.aggregations.bucket.terms.ParsedLongTerms; +import org.opensearch.search.aggregations.bucket.terms.ParsedStringTerms; +import org.opensearch.search.aggregations.bucket.terms.StringTerms; +import org.opensearch.search.aggregations.metrics.AvgAggregationBuilder; +import org.opensearch.search.aggregations.metrics.MaxAggregationBuilder; +import org.opensearch.search.aggregations.metrics.MinAggregationBuilder; +import org.opensearch.search.aggregations.metrics.ParsedAvg; +import org.opensearch.search.aggregations.metrics.ParsedMax; +import org.opensearch.search.aggregations.metrics.ParsedMin; +import org.opensearch.search.aggregations.metrics.ParsedSum; +import org.opensearch.search.aggregations.metrics.ParsedValueCount; +import org.opensearch.search.aggregations.metrics.SumAggregationBuilder; +import org.opensearch.search.aggregations.metrics.ValueCountAggregationBuilder; +import org.opensearch.search.aggregations.pipeline.ParsedPercentilesBucket; +import org.opensearch.search.aggregations.pipeline.PercentilesBucketPipelineAggregationBuilder; public class AggregationUtils { private final static List entryList = diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/CheckScriptContents.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/CheckScriptContents.java index d71b4fd18c9..ca0d5d57a2a 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/CheckScriptContents.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/CheckScriptContents.java @@ -27,27 +27,27 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.parser.ScriptFilter; import com.amazon.opendistroforelasticsearch.sql.legacy.parser.SqlParser; import com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings; -import com.amazon.opendistroforelasticsearch.sql.legacy.query.ESActionFactory; +import com.amazon.opendistroforelasticsearch.sql.legacy.query.OpenSearchActionFactory; import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; import com.amazon.opendistroforelasticsearch.sql.legacy.query.SqlElasticRequestBuilder; -import org.elasticsearch.action.ActionFuture; -import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsRequest; -import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.client.AdminClient; -import org.elasticsearch.client.Client; -import org.elasticsearch.client.IndicesAdminClient; -import org.elasticsearch.cluster.ClusterState; -import org.elasticsearch.cluster.metadata.IndexMetadata; -import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver; -import org.elasticsearch.cluster.metadata.MappingMetadata; -import org.elasticsearch.cluster.metadata.Metadata; -import org.elasticsearch.cluster.service.ClusterService; -import org.elasticsearch.common.collect.ImmutableOpenMap; -import org.elasticsearch.common.xcontent.DeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; +import org.opensearch.action.ActionFuture; +import org.opensearch.action.admin.indices.mapping.get.GetFieldMappingsRequest; +import org.opensearch.action.admin.indices.mapping.get.GetFieldMappingsResponse; +import org.opensearch.action.search.SearchRequestBuilder; +import org.opensearch.client.AdminClient; +import org.opensearch.client.Client; +import org.opensearch.client.IndicesAdminClient; +import org.opensearch.cluster.ClusterState; +import org.opensearch.cluster.metadata.IndexMetadata; +import org.opensearch.cluster.metadata.IndexNameExpressionResolver; +import org.opensearch.cluster.metadata.MappingMetadata; +import org.opensearch.cluster.metadata.Metadata; +import org.opensearch.cluster.service.ClusterService; +import org.opensearch.common.collect.ImmutableOpenMap; +import org.opensearch.common.xcontent.DeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; import org.mockito.stubbing.Answer; import java.io.IOException; @@ -57,7 +57,7 @@ import java.util.regex.Pattern; import static java.util.Collections.emptyList; -import static org.elasticsearch.search.builder.SearchSourceBuilder.ScriptField; +import static org.opensearch.search.builder.SearchSourceBuilder.ScriptField; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.any; @@ -76,7 +76,7 @@ public static ScriptField getScriptFieldFromQuery(String query) { try { Client mockClient = mock(Client.class); stubMockClient(mockClient); - QueryAction queryAction = ESActionFactory.create(mockClient, query); + QueryAction queryAction = OpenSearchActionFactory.create(mockClient, query); SqlElasticRequestBuilder requestBuilder = queryAction.explain(); SearchRequestBuilder request = (SearchRequestBuilder) requestBuilder.getBuilder(); @@ -129,7 +129,7 @@ public static boolean scriptHasPattern(ScriptFilter scriptFilter, String regex) public static void stubMockClient(Client mockClient) { try { String mappings = "{\n" + - " \"elasticsearch-sql_test_index_bank\": {\n" + + " \"opensearch-sql_test_index_bank\": {\n" + " \"mappings\": {\n" + " \"account\": {\n" + " \"properties\": {\n" + diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/MatcherUtils.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/MatcherUtils.java index 66175e9e3c9..e846a2899e8 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/MatcherUtils.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/MatcherUtils.java @@ -16,8 +16,8 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.util; import com.google.common.base.Strings; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; import org.hamcrest.Description; import org.hamcrest.FeatureMatcher; import org.hamcrest.Matcher; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/MultipleIndexClusterUtils.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/MultipleIndexClusterUtils.java index cbaa0da45cd..0deada19678 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/MultipleIndexClusterUtils.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/MultipleIndexClusterUtils.java @@ -17,12 +17,12 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.LocalClusterState; import com.google.common.collect.ImmutableMap; -import org.elasticsearch.cluster.ClusterState; -import org.elasticsearch.cluster.metadata.IndexMetadata; -import org.elasticsearch.cluster.metadata.MappingMetadata; -import org.elasticsearch.cluster.metadata.Metadata; -import org.elasticsearch.cluster.service.ClusterService; -import org.elasticsearch.common.collect.ImmutableOpenMap; +import org.opensearch.cluster.ClusterState; +import org.opensearch.cluster.metadata.IndexMetadata; +import org.opensearch.cluster.metadata.MappingMetadata; +import org.opensearch.cluster.metadata.Metadata; +import org.opensearch.cluster.service.ClusterService; +import org.opensearch.common.collect.ImmutableOpenMap; import java.io.IOException; import java.util.Map; diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/SqlExplainUtils.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/SqlExplainUtils.java index ac90b2dbda8..b8a7b378f3a 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/SqlExplainUtils.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/SqlExplainUtils.java @@ -17,9 +17,9 @@ import com.alibaba.druid.sql.parser.ParserException; import com.amazon.opendistroforelasticsearch.sql.legacy.exception.SqlParseException; -import com.amazon.opendistroforelasticsearch.sql.legacy.query.ESActionFactory; +import com.amazon.opendistroforelasticsearch.sql.legacy.query.OpenSearchActionFactory; import com.amazon.opendistroforelasticsearch.sql.legacy.query.QueryAction; -import org.elasticsearch.client.Client; +import org.opensearch.client.Client; import org.mockito.Mockito; import java.sql.SQLFeatureNotSupportedException; @@ -33,7 +33,7 @@ public static String explain(String query) { try { Client mockClient = Mockito.mock(Client.class); CheckScriptContents.stubMockClient(mockClient); - QueryAction queryAction = ESActionFactory.create(mockClient, query); + QueryAction queryAction = OpenSearchActionFactory.create(mockClient, query); return queryAction.explain().explain(); } catch (SqlParseException | SQLFeatureNotSupportedException e) { diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/TestUtils.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/TestUtils.java index 890170cfd35..05025fd7ce4 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/TestUtils.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/TestUtils.java @@ -15,14 +15,14 @@ package com.amazon.opendistroforelasticsearch.sql.legacy.util; -import org.elasticsearch.action.bulk.BulkRequest; -import org.elasticsearch.action.bulk.BulkResponse; -import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.client.Client; -import org.elasticsearch.client.Request; -import org.elasticsearch.client.Response; -import org.elasticsearch.client.RestClient; -import org.elasticsearch.common.xcontent.XContentType; +import org.opensearch.action.bulk.BulkRequest; +import org.opensearch.action.bulk.BulkResponse; +import org.opensearch.action.index.IndexRequest; +import org.opensearch.client.Client; +import org.opensearch.client.Request; +import org.opensearch.client.Response; +import org.opensearch.client.RestClient; +import org.opensearch.common.xcontent.XContentType; import org.json.JSONObject; import java.io.BufferedReader; @@ -78,7 +78,7 @@ public static void createHiddenIndexByRestClient(RestClient client, String index } /** - * Check if index already exists by ES index exists API which returns: + * Check if index already exists by OpenSearch index exists API which returns: * 200 - specified indices or aliases exist * 404 - one or more indices specified or aliases do not exist * @param client client connection @@ -304,7 +304,7 @@ public static String getLocationIndexMapping() { "\t\t\"properties\":{\n" + "\t\t\t\"place\":{\n" + "\t\t\t\t\"type\":\"geo_shape\"\n" + - //"\t\t\t\t\"tree\": \"quadtree\",\n" + // Field tree and precision are deprecated in ES + //"\t\t\t\t\"tree\": \"quadtree\",\n" + // Field tree and precision are deprecated in OpenSearch //"\t\t\t\t\"precision\": \"10km\"\n" + "\t\t\t},\n" + "\t\t\t\"center\":{\n" + @@ -689,7 +689,7 @@ public static String getNestedSimpleIndexMapping() { "}"; } public static void loadBulk(Client client, String jsonPath, String defaultIndex) throws Exception { - System.out.println(String.format("Loading file %s into elasticsearch cluster", jsonPath)); + System.out.println(String.format("Loading file %s into OpenSearch cluster", jsonPath)); String absJsonPath = getResourceFilePath(jsonPath); BulkRequest bulkRequest = new BulkRequest(); diff --git a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/TestsConstants.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/TestsConstants.java index 74075500cec..0035120be01 100644 --- a/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/TestsConstants.java +++ b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/util/TestsConstants.java @@ -23,7 +23,7 @@ public class TestsConstants { public final static String PERSISTENT = "persistent"; public final static String TRANSIENT = "transient"; - public final static String TEST_INDEX = "elasticsearch-sql_test_index"; + public final static String TEST_INDEX = "opensearch-sql_test_index"; public final static String TEST_INDEX_ONLINE = TEST_INDEX + "_online"; public final static String TEST_INDEX_ACCOUNT = TEST_INDEX + "_account"; diff --git a/elasticsearch/build.gradle b/opensearch/build.gradle similarity index 80% rename from elasticsearch/build.gradle rename to opensearch/build.gradle index 9b99c1789fb..1c457a0227c 100644 --- a/elasticsearch/build.gradle +++ b/opensearch/build.gradle @@ -4,25 +4,21 @@ plugins { id 'jacoco' } -repositories { - mavenCentral() -} - dependencies { compile project(':core') - compile group: 'org.elasticsearch', name: 'elasticsearch', version: "${es_version}" + compile group: 'org.opensearch', name: 'opensearch', version: "${es_version}" compile "io.github.resilience4j:resilience4j-retry:1.5.0" compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.10.5' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.11.4' compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-cbor', version: '2.11.4' compile group: 'org.json', name: 'json', version:'20180813' - compileOnly group: 'org.elasticsearch.client', name: 'elasticsearch-rest-high-level-client', version: "${es_version}" + compileOnly group: 'org.opensearch.client', name: 'opensearch-rest-high-level-client', version: "${es_version}" testImplementation('org.junit.jupiter:junit-jupiter:5.6.2') testCompile group: 'org.hamcrest', name: 'hamcrest-library', version: '2.1' testCompile group: 'org.mockito', name: 'mockito-core', version: '3.5.0' testCompile group: 'org.mockito', name: 'mockito-junit-jupiter', version: '3.5.0' - testCompile group: 'org.elasticsearch.client', name: 'elasticsearch-rest-high-level-client', version: "${es_version}" + testCompile group: 'org.opensearch.client', name: 'opensearch-rest-high-level-client', version: "${es_version}" } test { @@ -54,7 +50,7 @@ jacocoTestCoverageVerification { rule { element = 'CLASS' excludes = [ - 'com.amazon.opendistroforelasticsearch.sql.elasticsearch.security.SecurityAccess' + 'com.amazon.opendistroforelasticsearch.sql.opensearch.security.SecurityAccess' ] limit { counter = 'LINE' diff --git a/elasticsearch/lombok.config b/opensearch/lombok.config similarity index 100% rename from elasticsearch/lombok.config rename to opensearch/lombok.config diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchClient.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchClient.java similarity index 70% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchClient.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchClient.java index eb1badb238b..6683a8c6a93 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchClient.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchClient.java @@ -14,19 +14,20 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.client; +package com.amazon.opendistroforelasticsearch.sql.opensearch.client; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.mapping.IndexMapping; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.ElasticsearchRequest; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.ElasticsearchResponse; +import com.amazon.opendistroforelasticsearch.sql.opensearch.mapping.IndexMapping; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.OpenSearchRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.OpenSearchResponse; import java.util.List; import java.util.Map; /** - * Elasticsearch client abstraction to wrap different Elasticsearch client implementation. For - * example, implementation by node client for ES plugin or by REST client for standalone mode. + * OpenSearch client abstraction to wrap different OpenSearch client implementation. For + * example, implementation by node client for OpenSearch plugin or by REST client for + * standalone mode. */ -public interface ElasticsearchClient { +public interface OpenSearchClient { String META_CLUSTER_NAME = "CLUSTER_NAME"; @@ -44,7 +45,7 @@ public interface ElasticsearchClient { * @param request search request * @return search response */ - ElasticsearchResponse search(ElasticsearchRequest request); + OpenSearchResponse search(OpenSearchRequest request); /** * Get the combination of the indices and the alias. @@ -65,7 +66,7 @@ public interface ElasticsearchClient { * * @param request search request */ - void cleanup(ElasticsearchRequest request); + void cleanup(OpenSearchRequest request); /** * Schedule a task to run. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchNodeClient.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchNodeClient.java similarity index 78% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchNodeClient.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchNodeClient.java index 955a3dd2b8d..91337397fe8 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchNodeClient.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchNodeClient.java @@ -14,11 +14,11 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.client; +package com.amazon.opendistroforelasticsearch.sql.opensearch.client; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.mapping.IndexMapping; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.ElasticsearchRequest; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.ElasticsearchResponse; +import com.amazon.opendistroforelasticsearch.sql.opensearch.mapping.IndexMapping; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.OpenSearchRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.OpenSearchResponse; import com.carrotsearch.hppc.cursors.ObjectObjectCursor; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -33,20 +33,20 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.logging.log4j.ThreadContext; -import org.elasticsearch.action.admin.indices.get.GetIndexResponse; -import org.elasticsearch.action.support.IndicesOptions; -import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.cluster.ClusterState; -import org.elasticsearch.cluster.metadata.AliasMetadata; -import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver; -import org.elasticsearch.cluster.metadata.MappingMetadata; -import org.elasticsearch.cluster.service.ClusterService; -import org.elasticsearch.common.collect.ImmutableOpenMap; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.threadpool.ThreadPool; - -/** Elasticsearch connection by node client. */ -public class ElasticsearchNodeClient implements ElasticsearchClient { +import org.opensearch.action.admin.indices.get.GetIndexResponse; +import org.opensearch.action.support.IndicesOptions; +import org.opensearch.client.node.NodeClient; +import org.opensearch.cluster.ClusterState; +import org.opensearch.cluster.metadata.AliasMetadata; +import org.opensearch.cluster.metadata.IndexNameExpressionResolver; +import org.opensearch.cluster.metadata.MappingMetadata; +import org.opensearch.cluster.service.ClusterService; +import org.opensearch.common.collect.ImmutableOpenMap; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.threadpool.ThreadPool; + +/** OpenSearch connection by node client. */ +public class OpenSearchNodeClient implements OpenSearchClient { /** Default types and field filter to match all. */ public static final String[] ALL_TYPES = new String[0]; @@ -57,7 +57,7 @@ public class ElasticsearchNodeClient implements ElasticsearchClient { /** Current cluster state on local node. */ private final ClusterService clusterService; - /** Node client provided by Elasticsearch container. */ + /** Node client provided by OpenSearch container. */ private final NodeClient client; /** Index name expression resolver to get concrete index name. */ @@ -68,8 +68,8 @@ public class ElasticsearchNodeClient implements ElasticsearchClient { /** * Constructor of ElasticsearchNodeClient. */ - public ElasticsearchNodeClient(ClusterService clusterService, - NodeClient client) { + public OpenSearchNodeClient(ClusterService clusterService, + NodeClient client) { this.clusterService = clusterService; this.client = client; this.resolver = new IndexNameExpressionResolver(client.threadPool().getThreadContext()); @@ -83,7 +83,7 @@ public ElasticsearchNodeClient(ClusterService clusterService, * mapping cache, cluster state listener (mainly for performance and debugging). * * @param indexExpression index name expression - * @return index mapping(s) in our class to isolate Elasticsearch API. IndexNotFoundException is + * @return index mapping(s) in our class to isolate OpenSearch API. IndexNotFoundException is * thrown if no index matched. */ @Override @@ -104,7 +104,7 @@ public Map getIndexMappings(String indexExpression) { * TODO: Scroll doesn't work for aggregation. Support aggregation later. */ @Override - public ElasticsearchResponse search(ElasticsearchRequest request) { + public OpenSearchResponse search(OpenSearchRequest request) { return request.search( req -> client.search(req).actionGet(), req -> client.searchScroll(req).actionGet() @@ -143,7 +143,7 @@ public Map meta() { } @Override - public void cleanup(ElasticsearchRequest request) { + public void cleanup(OpenSearchRequest request) { request.clean(scrollId -> client.prepareClearScroll().addScrollId(scrollId).get()); } diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchRestClient.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchRestClient.java similarity index 76% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchRestClient.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchRestClient.java index 53295293cd6..ce9d2debe88 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchRestClient.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchRestClient.java @@ -14,11 +14,11 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.client; +package com.amazon.opendistroforelasticsearch.sql.opensearch.client; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.mapping.IndexMapping; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.ElasticsearchRequest; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.ElasticsearchResponse; +import com.amazon.opendistroforelasticsearch.sql.opensearch.mapping.IndexMapping; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.OpenSearchRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.OpenSearchResponse; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import java.io.IOException; @@ -29,26 +29,26 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import lombok.RequiredArgsConstructor; -import org.elasticsearch.action.admin.cluster.settings.ClusterGetSettingsRequest; -import org.elasticsearch.action.search.ClearScrollRequest; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.RestHighLevelClient; -import org.elasticsearch.client.indices.GetIndexRequest; -import org.elasticsearch.client.indices.GetIndexResponse; -import org.elasticsearch.client.indices.GetMappingsRequest; -import org.elasticsearch.client.indices.GetMappingsResponse; -import org.elasticsearch.cluster.metadata.AliasMetadata; -import org.elasticsearch.common.settings.Settings; +import org.opensearch.action.admin.cluster.settings.ClusterGetSettingsRequest; +import org.opensearch.action.search.ClearScrollRequest; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.RestHighLevelClient; +import org.opensearch.client.indices.GetIndexRequest; +import org.opensearch.client.indices.GetIndexResponse; +import org.opensearch.client.indices.GetMappingsRequest; +import org.opensearch.client.indices.GetMappingsResponse; +import org.opensearch.cluster.metadata.AliasMetadata; +import org.opensearch.common.settings.Settings; /** - * Elasticsearch REST client to support standalone mode that runs entire engine from remote. + * OpenSearch REST client to support standalone mode that runs entire engine from remote. * *

TODO: Support for authN and authZ with AWS Sigv4 or security plugin. */ @RequiredArgsConstructor -public class ElasticsearchRestClient implements ElasticsearchClient { +public class OpenSearchRestClient implements OpenSearchClient { - /** Elasticsearch high level REST client. */ + /** OpenSearch high level REST client. */ private final RestHighLevelClient client; @Override @@ -64,7 +64,7 @@ public Map getIndexMappings(String indexExpression) { } @Override - public ElasticsearchResponse search(ElasticsearchRequest request) { + public OpenSearchResponse search(OpenSearchRequest request) { return request.search( req -> { try { @@ -119,7 +119,7 @@ public Map meta() { request.local(true); final Settings defaultSettings = client.cluster().getSettings(request, RequestOptions.DEFAULT).getDefaultSettings(); - builder.put(META_CLUSTER_NAME, defaultSettings.get("cluster.name", "elasticsearch")); + builder.put(META_CLUSTER_NAME, defaultSettings.get("cluster.name", "opensearch")); return builder.build(); } catch (IOException e) { throw new IllegalStateException("Failed to get cluster meta info", e); @@ -127,7 +127,7 @@ public Map meta() { } @Override - public void cleanup(ElasticsearchRequest request) { + public void cleanup(OpenSearchRequest request) { request.clean(scrollId -> { try { ClearScrollRequest clearRequest = new ClearScrollRequest(); diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/type/ElasticsearchDataType.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/type/OpenSearchDataType.java similarity index 76% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/type/ElasticsearchDataType.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/type/OpenSearchDataType.java index a99bb6cf3ca..0166deed426 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/type/ElasticsearchDataType.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/type/OpenSearchDataType.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.type; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.UNKNOWN; @@ -32,33 +32,33 @@ * The extension of ExprType in Elasticsearch. */ @RequiredArgsConstructor -public enum ElasticsearchDataType implements ExprType { +public enum OpenSearchDataType implements ExprType { /** - * Elasticsearch Text. + * OpenSearch Text. * Ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/text.html */ - ES_TEXT(Collections.singletonList(STRING), "string"), + OPENSEARCH_TEXT(Collections.singletonList(STRING), "string"), /** - * Elasticsearch multi-fields which has text and keyword. + * OpenSearch multi-fields which has text and keyword. * Ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/multi-fields.html */ - ES_TEXT_KEYWORD(Arrays.asList(STRING, ES_TEXT), "string"), + OPENSEARCH_TEXT_KEYWORD(Arrays.asList(STRING, OPENSEARCH_TEXT), "string"), - ES_IP(Arrays.asList(UNKNOWN), "ip"), + OPENSEARCH_IP(Arrays.asList(UNKNOWN), "ip"), - ES_GEO_POINT(Arrays.asList(UNKNOWN), "geo_point"), + OPENSEARCH_GEO_POINT(Arrays.asList(UNKNOWN), "geo_point"), - ES_BINARY(Arrays.asList(UNKNOWN), "binary"); + OPENSEARCH_BINARY(Arrays.asList(UNKNOWN), "binary"); /** * The mapping between Type and legacy JDBC type name. */ private static final Map LEGACY_TYPE_NAME_MAPPING = new ImmutableMap.Builder() - .put(ES_TEXT, "text") - .put(ES_TEXT_KEYWORD, "text") + .put(OPENSEARCH_TEXT, "text") + .put(OPENSEARCH_TEXT_KEYWORD, "text") .build(); /** diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/utils/Content.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/utils/Content.java similarity index 89% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/utils/Content.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/utils/Content.java index 0d469833009..96bc5f3f91e 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/utils/Content.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/utils/Content.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.utils; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.utils; import java.util.Iterator; import java.util.Map; @@ -24,8 +24,8 @@ * Regardless the underling data format, the {@link Content} define the data in abstract manner. * which could be parsed by ElasticsearchExprValueFactory. * There are two major use cases: - * 1. Represent the JSON data retrieve from Elasticsearch search response. - * 2. Represent the Object data extract from the Elasticsearch aggregation response. + * 1. Represent the JSON data retrieve from OpenSearch search response. + * 2. Represent the Object data extract from the OpenSearch aggregation response. */ public interface Content { diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/utils/ObjectContent.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/utils/ObjectContent.java similarity index 97% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/utils/ObjectContent.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/utils/ObjectContent.java index af5063b2074..d7ae6785d53 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/utils/ObjectContent.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/utils/ObjectContent.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.utils; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.utils; import java.util.AbstractMap; import java.util.Iterator; diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/utils/ElasticsearchJsonContent.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/utils/OpenSearchJsonContent.java similarity index 91% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/utils/ElasticsearchJsonContent.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/utils/OpenSearchJsonContent.java index 1e0f5d467d0..1522cc98cae 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/utils/ElasticsearchJsonContent.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/utils/OpenSearchJsonContent.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.utils; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.utils; import com.fasterxml.jackson.databind.JsonNode; import com.google.common.collect.Iterators; @@ -28,7 +28,7 @@ * The Implementation of Content to represent {@link JsonNode}. */ @RequiredArgsConstructor -public class ElasticsearchJsonContent implements Content { +public class OpenSearchJsonContent implements Content { private final JsonNode value; @@ -79,13 +79,13 @@ public Iterator> map() { mapValue .fieldNames() .forEachRemaining( - field -> map.put(field, new ElasticsearchJsonContent(mapValue.get(field)))); + field -> map.put(field, new OpenSearchJsonContent(mapValue.get(field)))); return map.entrySet().iterator(); } @Override public Iterator array() { - return Iterators.transform(value.elements(), ElasticsearchJsonContent::new); + return Iterators.transform(value.elements(), OpenSearchJsonContent::new); } @Override @@ -136,7 +136,7 @@ public Pair geoValue() { } /** - * Return the first element if is Elasticsearch Array. + * Return the first element if is OpenSearch Array. * https://www.elastic.co/guide/en/elasticsearch/reference/current/array.html. */ private JsonNode value() { diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchDateFormatters.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchDateFormatters.java similarity index 95% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchDateFormatters.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchDateFormatters.java index c653c063ac7..c5afa8f9601 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchDateFormatters.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchDateFormatters.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; import static java.time.temporal.ChronoField.DAY_OF_MONTH; import static java.time.temporal.ChronoField.HOUR_OF_DAY; @@ -34,10 +34,10 @@ /** * DateTimeFormatter. - * Reference org.elasticsearch.common.time.DateFormatters. + * Reference org.opensearch.common.time.DateFormatters. */ @UtilityClass -public class ElasticsearchDateFormatters { +public class OpenSearchDateFormatters { public static final DateTimeFormatter TIME_ZONE_FORMATTER_NO_COLON = new DateTimeFormatterBuilder() diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprBinaryValue.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprBinaryValue.java similarity index 79% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprBinaryValue.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprBinaryValue.java index 35800bb6498..5ba0f9d7057 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprBinaryValue.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprBinaryValue.java @@ -13,23 +13,23 @@ * permissions and limitations under the License. */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; import com.amazon.opendistroforelasticsearch.sql.data.model.AbstractExprValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType; import lombok.EqualsAndHashCode; /** - * Elasticsearch BinaryValue. + * OpenSearch BinaryValue. * Todo, add this to avoid the unknown value type exception, the implementation will be changed. */ @EqualsAndHashCode(callSuper = false) -public class ElasticsearchExprBinaryValue extends AbstractExprValue { +public class OpenSearchExprBinaryValue extends AbstractExprValue { private final String encodedString; - public ElasticsearchExprBinaryValue(String encodedString) { + public OpenSearchExprBinaryValue(String encodedString) { this.encodedString = encodedString; } @@ -50,6 +50,6 @@ public Object value() { @Override public ExprType type() { - return ElasticsearchDataType.ES_BINARY; + return OpenSearchDataType.OPENSEARCH_BINARY; } } diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprGeoPointValue.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprGeoPointValue.java similarity index 73% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprGeoPointValue.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprGeoPointValue.java index 2dcd1b72a89..4c640f90fce 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprGeoPointValue.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprGeoPointValue.java @@ -15,9 +15,9 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_GEO_POINT; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_GEO_POINT; import com.amazon.opendistroforelasticsearch.sql.data.model.AbstractExprValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; @@ -26,14 +26,14 @@ import lombok.Data; /** - * Elasticsearch GeoPointValue. + * OpenSearch GeoPointValue. * Todo, add this to avoid the unknown value type exception, the implementation will be changed. */ -public class ElasticsearchExprGeoPointValue extends AbstractExprValue { +public class OpenSearchExprGeoPointValue extends AbstractExprValue { private final GeoPoint geoPoint; - public ElasticsearchExprGeoPointValue(Double lat, Double lon) { + public OpenSearchExprGeoPointValue(Double lat, Double lon) { this.geoPoint = new GeoPoint(lat, lon); } @@ -44,18 +44,18 @@ public Object value() { @Override public ExprType type() { - return ES_GEO_POINT; + return OPENSEARCH_GEO_POINT; } @Override public int compare(ExprValue other) { return geoPoint.toString() - .compareTo((((ElasticsearchExprGeoPointValue) other).geoPoint).toString()); + .compareTo((((OpenSearchExprGeoPointValue) other).geoPoint).toString()); } @Override public boolean equal(ExprValue other) { - return geoPoint.equals(((ElasticsearchExprGeoPointValue) other).geoPoint); + return geoPoint.equals(((OpenSearchExprGeoPointValue) other).geoPoint); } @Override diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprIpValue.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprIpValue.java similarity index 76% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprIpValue.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprIpValue.java index e1d026f5e0a..d0ece4b86fd 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprIpValue.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprIpValue.java @@ -15,9 +15,9 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_IP; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_IP; import com.amazon.opendistroforelasticsearch.sql.data.model.AbstractExprValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; @@ -26,11 +26,11 @@ import lombok.RequiredArgsConstructor; /** - * Elasticsearch IP ExprValue. + * OpenSearch IP ExprValue. * Todo, add this to avoid the unknown value type exception, the implementation will be changed. */ @RequiredArgsConstructor -public class ElasticsearchExprIpValue extends AbstractExprValue { +public class OpenSearchExprIpValue extends AbstractExprValue { private final String ip; @@ -41,17 +41,17 @@ public Object value() { @Override public ExprType type() { - return ES_IP; + return OPENSEARCH_IP; } @Override public int compare(ExprValue other) { - return ip.compareTo(((ElasticsearchExprIpValue) other).ip); + return ip.compareTo(((OpenSearchExprIpValue) other).ip); } @Override public boolean equal(ExprValue other) { - return ip.equals(((ElasticsearchExprIpValue) other).ip); + return ip.equals(((OpenSearchExprIpValue) other).ip); } @Override diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprTextKeywordValue.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprTextKeywordValue.java similarity index 69% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprTextKeywordValue.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprTextKeywordValue.java index d1c66e75c91..10aab930404 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprTextKeywordValue.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprTextKeywordValue.java @@ -14,27 +14,27 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT_KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprStringValue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; /** * Expression Text Keyword Value, it is an extension of the ExprValue by Elasticsearch. - * This mostly represents a multi-field in Elasticsearch which has a text field and a + * This mostly represents a multi-field in OpenSearch which has a text field and a * keyword field inside to preserve the original text. */ -public class ElasticsearchExprTextKeywordValue extends ExprStringValue { +public class OpenSearchExprTextKeywordValue extends ExprStringValue { - public ElasticsearchExprTextKeywordValue(String value) { + public OpenSearchExprTextKeywordValue(String value) { super(value); } @Override public ExprType type() { - return ES_TEXT_KEYWORD; + return OPENSEARCH_TEXT_KEYWORD; } } diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprTextValue.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprTextValue.java similarity index 74% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprTextValue.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprTextValue.java index 927b62bbd21..e684247b40e 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprTextValue.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprTextValue.java @@ -15,9 +15,9 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprStringValue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; @@ -25,13 +25,13 @@ /** * Expression Text Value, it is a extension of the ExprValue by Elasticsearch. */ -public class ElasticsearchExprTextValue extends ExprStringValue { - public ElasticsearchExprTextValue(String value) { +public class OpenSearchExprTextValue extends ExprStringValue { + public OpenSearchExprTextValue(String value) { super(value); } @Override public ExprType type() { - return ES_TEXT; + return OPENSEARCH_TEXT; } } diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprValueFactory.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprValueFactory.java similarity index 81% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprValueFactory.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprValueFactory.java index 2fbae486d6e..3db8b308fed 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprValueFactory.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprValueFactory.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.ARRAY; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.BOOLEAN; @@ -31,14 +31,14 @@ import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRUCT; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.TIME; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.TIMESTAMP; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_BINARY; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_GEO_POINT; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_IP; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT_KEYWORD; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchDateFormatters.SQL_LITERAL_DATE_TIME_FORMAT; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchDateFormatters.STRICT_DATE_OPTIONAL_TIME_FORMATTER; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchDateFormatters.STRICT_HOUR_MINUTE_SECOND_FORMATTER; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_BINARY; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_GEO_POINT; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_IP; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchDateFormatters.SQL_LITERAL_DATE_TIME_FORMAT; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchDateFormatters.STRICT_DATE_OPTIONAL_TIME_FORMATTER; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchDateFormatters.STRICT_HOUR_MINUTE_SECOND_FORMATTER; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprBooleanValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprByteValue; @@ -57,9 +57,9 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprTupleValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.utils.Content; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.utils.ElasticsearchJsonContent; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.utils.ObjectContent; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.utils.Content; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.utils.ObjectContent; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.utils.OpenSearchJsonContent; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.ImmutableMap; @@ -74,13 +74,13 @@ import java.util.function.Function; import lombok.AllArgsConstructor; import lombok.Setter; -import org.elasticsearch.common.time.DateFormatters; +import org.opensearch.common.time.DateFormatters; /** - * Construct ExprValue from Elasticsearch response. + * Construct ExprValue from OpenSearch response. */ @AllArgsConstructor -public class ElasticsearchExprValueFactory { +public class OpenSearchExprValueFactory { /** * The Mapping of Field and ExprType. */ @@ -112,23 +112,23 @@ public class ElasticsearchExprValueFactory { .put(DATE, c -> new ExprDateValue(parseTimestamp(c).dateValue().toString())) .put(TIME, c -> new ExprTimeValue(parseTimestamp(c).timeValue().toString())) .put(DATETIME, c -> new ExprDatetimeValue(parseTimestamp(c).datetimeValue())) - .put(ES_TEXT, c -> new ElasticsearchExprTextValue(c.stringValue())) - .put(ES_TEXT_KEYWORD, c -> new ElasticsearchExprTextKeywordValue(c.stringValue())) - .put(ES_IP, c -> new ElasticsearchExprIpValue(c.stringValue())) - .put(ES_GEO_POINT, c -> new ElasticsearchExprGeoPointValue(c.geoValue().getLeft(), + .put(OPENSEARCH_TEXT, c -> new OpenSearchExprTextValue(c.stringValue())) + .put(OPENSEARCH_TEXT_KEYWORD, c -> new OpenSearchExprTextKeywordValue(c.stringValue())) + .put(OPENSEARCH_IP, c -> new OpenSearchExprIpValue(c.stringValue())) + .put(OPENSEARCH_GEO_POINT, c -> new OpenSearchExprGeoPointValue(c.geoValue().getLeft(), c.geoValue().getRight())) - .put(ES_BINARY, c -> new ElasticsearchExprBinaryValue(c.stringValue())) + .put(OPENSEARCH_BINARY, c -> new OpenSearchExprBinaryValue(c.stringValue())) .build(); /** - * The struct construction has the following assumption. 1. The field has Elasticsearch Object + * The struct construction has the following assumption. 1. The field has OpenSearch Object * data type. https://www.elastic.co/guide/en/elasticsearch/reference/current/object.html 2. The * deeper field is flattened in the typeMapping. e.g. {"employ", "STRUCT"} {"employ.id", * "INTEGER"} {"employ.state", "STRING"} */ public ExprValue construct(String jsonString) { try { - return parse(new ElasticsearchJsonContent(OBJECT_MAPPER.readTree(jsonString)), TOP_PATH, + return parse(new OpenSearchJsonContent(OBJECT_MAPPER.readTree(jsonString)), TOP_PATH, STRUCT); } catch (JsonProcessingException e) { throw new IllegalStateException(String.format("invalid json: %s.", jsonString), e); @@ -184,7 +184,7 @@ private ExprType type(String field) { private ExprValue constructTimestamp(String value) { try { return new ExprTimestampValue( - // Using Elasticsearch DateFormatters for now. + // Using OpenSearch DateFormatters for now. DateFormatters.from(DATE_TIME_FORMATTER.parse(value)).toInstant()); } catch (DateTimeParseException e) { throw new IllegalStateException( diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/ElasticsearchExecutionEngine.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/OpenSearchExecutionEngine.java similarity index 79% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/ElasticsearchExecutionEngine.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/OpenSearchExecutionEngine.java index c93b8ee65fe..8ecb8c10e23 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/ElasticsearchExecutionEngine.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/OpenSearchExecutionEngine.java @@ -14,15 +14,14 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor; +package com.amazon.opendistroforelasticsearch.sql.opensearch.executor; import com.amazon.opendistroforelasticsearch.sql.common.response.ResponseListener; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector.ExecutionProtector; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.ElasticsearchIndexScan; import com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine; import com.amazon.opendistroforelasticsearch.sql.executor.Explain; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector.ExecutionProtector; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlan; import com.amazon.opendistroforelasticsearch.sql.storage.TableScanOperator; import com.google.common.collect.ImmutableMap; @@ -30,11 +29,11 @@ import java.util.List; import lombok.RequiredArgsConstructor; -/** Elasticsearch execution engine implementation. */ +/** OpenSearch execution engine implementation. */ @RequiredArgsConstructor -public class ElasticsearchExecutionEngine implements ExecutionEngine { +public class OpenSearchExecutionEngine implements ExecutionEngine { - private final ElasticsearchClient client; + private final OpenSearchClient client; private final ExecutionProtector executionProtector; @@ -65,7 +64,7 @@ public void execute(PhysicalPlan physicalPlan, ResponseListener l public void explain(PhysicalPlan plan, ResponseListener listener) { client.schedule(() -> { try { - Explain esExplain = new Explain() { + Explain openSearchExplain = new Explain() { @Override public ExplainResponseNode visitTableScan(TableScanOperator node, Object context) { return explain(node, context, explainNode -> { @@ -74,7 +73,7 @@ public ExplainResponseNode visitTableScan(TableScanOperator node, Object context } }; - listener.onResponse(esExplain.apply(plan)); + listener.onResponse(openSearchExplain.apply(plan)); } catch (Exception e) { listener.onFailure(e); } diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/ExecutionProtector.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/ExecutionProtector.java similarity index 92% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/ExecutionProtector.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/ExecutionProtector.java index 81b5d1cb234..454fe07a456 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/ExecutionProtector.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/ExecutionProtector.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector; +package com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlanNodeVisitor; diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/NoopExecutionProtector.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/NoopExecutionProtector.java similarity index 91% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/NoopExecutionProtector.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/NoopExecutionProtector.java index 6aa656db673..d030d41e409 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/NoopExecutionProtector.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/NoopExecutionProtector.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector; +package com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlan; diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/ElasticsearchExecutionProtector.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/OpenSearchExecutionProtector.java similarity index 95% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/ElasticsearchExecutionProtector.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/OpenSearchExecutionProtector.java index 6f992b02e8e..4a0198ec17b 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/ElasticsearchExecutionProtector.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/OpenSearchExecutionProtector.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector; +package com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector; import com.amazon.opendistroforelasticsearch.sql.monitor.ResourceMonitor; import com.amazon.opendistroforelasticsearch.sql.planner.physical.AggregationOperator; @@ -35,13 +35,13 @@ import lombok.RequiredArgsConstructor; /** - * Elasticsearch Execution Protector. + * OpenSearch Execution Protector. */ @RequiredArgsConstructor -public class ElasticsearchExecutionProtector extends ExecutionProtector { +public class OpenSearchExecutionProtector extends ExecutionProtector { /** - * Elasticsearch resource monitor. + * OpenSearch resource monitor. */ private final ResourceMonitor resourceMonitor; diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/ResourceMonitorPlan.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/ResourceMonitorPlan.java similarity index 96% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/ResourceMonitorPlan.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/ResourceMonitorPlan.java index 112e8dd2c31..8c4015f7159 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/ResourceMonitorPlan.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/ResourceMonitorPlan.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector; +package com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.monitor.ResourceMonitor; diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/mapping/IndexMapping.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/mapping/IndexMapping.java similarity index 91% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/mapping/IndexMapping.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/mapping/IndexMapping.java index bf922759647..1a4eb1f0341 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/mapping/IndexMapping.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/mapping/IndexMapping.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.mapping; +package com.amazon.opendistroforelasticsearch.sql.opensearch.mapping; import static java.util.Collections.emptyMap; @@ -24,16 +24,16 @@ import java.util.function.Function; import java.util.stream.Collectors; import lombok.ToString; -import org.elasticsearch.cluster.metadata.MappingMetadata; +import org.opensearch.cluster.metadata.MappingMetadata; /** - * Elasticsearch index mapping. Because there is no specific behavior for different field types, + * OpenSearch index mapping. Because there is no specific behavior for different field types, * string is used to represent field types. */ @ToString public class IndexMapping { - /** Field mappings from field name to field type in Elasticsearch date type system. */ + /** Field mappings from field name to field type in OpenSearch date type system. */ private final Map fieldMappings; public IndexMapping(Map fieldMappings) { diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/monitor/ElasticsearchMemoryHealthy.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/monitor/OpenSearchMemoryHealthy.java similarity index 91% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/monitor/ElasticsearchMemoryHealthy.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/monitor/OpenSearchMemoryHealthy.java index 8a3e287c299..bfc499a31d6 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/monitor/ElasticsearchMemoryHealthy.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/monitor/OpenSearchMemoryHealthy.java @@ -13,7 +13,7 @@ * permissions and limitations under the License. */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.monitor; +package com.amazon.opendistroforelasticsearch.sql.opensearch.monitor; import com.google.common.annotations.VisibleForTesting; import java.util.concurrent.ThreadLocalRandom; @@ -21,20 +21,20 @@ import lombok.extern.log4j.Log4j2; /** - * Elasticsearch Memory Monitor. + * OpenSearch Memory Monitor. */ @Log4j2 -public class ElasticsearchMemoryHealthy { +public class OpenSearchMemoryHealthy { private final RandomFail randomFail; private final MemoryUsage memoryUsage; - public ElasticsearchMemoryHealthy() { + public OpenSearchMemoryHealthy() { randomFail = new RandomFail(); memoryUsage = new MemoryUsage(); } @VisibleForTesting - public ElasticsearchMemoryHealthy( + public OpenSearchMemoryHealthy( RandomFail randomFail, MemoryUsage memoryUsage) { this.randomFail = randomFail; diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/monitor/ElasticsearchResourceMonitor.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/monitor/OpenSearchResourceMonitor.java similarity index 80% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/monitor/ElasticsearchResourceMonitor.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/monitor/OpenSearchResourceMonitor.java index 980c8336484..fdc8da2e073 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/monitor/ElasticsearchResourceMonitor.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/monitor/OpenSearchResourceMonitor.java @@ -13,7 +13,7 @@ * permissions and limitations under the License. */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.monitor; +package com.amazon.opendistroforelasticsearch.sql.opensearch.monitor; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; import com.amazon.opendistroforelasticsearch.sql.monitor.ResourceMonitor; @@ -22,7 +22,7 @@ import io.github.resilience4j.retry.RetryConfig; import java.util.function.Supplier; import lombok.extern.log4j.Log4j2; -import org.elasticsearch.common.unit.ByteSizeValue; +import org.opensearch.common.unit.ByteSizeValue; /** * {@link ResourceMonitor} implementation on Elasticsearch. When the heap memory usage exceeds @@ -30,25 +30,25 @@ * Todo, add metrics. */ @Log4j2 -public class ElasticsearchResourceMonitor extends ResourceMonitor { +public class OpenSearchResourceMonitor extends ResourceMonitor { private final Settings settings; private final Retry retry; - private final ElasticsearchMemoryHealthy memoryMonitor; + private final OpenSearchMemoryHealthy memoryMonitor; /** * Constructor of ElasticsearchCircuitBreaker. */ - public ElasticsearchResourceMonitor( + public OpenSearchResourceMonitor( Settings settings, - ElasticsearchMemoryHealthy memoryMonitor) { + OpenSearchMemoryHealthy memoryMonitor) { this.settings = settings; RetryConfig config = RetryConfig.custom() .maxAttempts(3) .intervalFunction(IntervalFunction.ofExponentialRandomBackoff(1000)) - .retryExceptions(ElasticsearchMemoryHealthy.MemoryUsageExceedException.class) + .retryExceptions(OpenSearchMemoryHealthy.MemoryUsageExceedException.class) .ignoreExceptions( - ElasticsearchMemoryHealthy.MemoryUsageExceedFastFailureException.class) + OpenSearchMemoryHealthy.MemoryUsageExceedFastFailureException.class) .build(); retry = Retry.of("mem", config); this.memoryMonitor = memoryMonitor; diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicalIndexAgg.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicalIndexAgg.java similarity index 93% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicalIndexAgg.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicalIndexAgg.java index c3cbda65064..360ecacb2f0 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicalIndexAgg.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicalIndexAgg.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical; import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; @@ -38,7 +38,7 @@ @Getter @ToString @EqualsAndHashCode(callSuper = false) -public class ElasticsearchLogicalIndexAgg extends LogicalPlan { +public class OpenSearchLogicalIndexAgg extends LogicalPlan { private final String relationName; @@ -70,7 +70,7 @@ public class ElasticsearchLogicalIndexAgg extends LogicalPlan { * ElasticsearchLogicalIndexAgg Constructor. */ @Builder - public ElasticsearchLogicalIndexAgg( + public OpenSearchLogicalIndexAgg( String relationName, Expression filter, List aggregatorList, diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicalIndexScan.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicalIndexScan.java similarity index 89% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicalIndexScan.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicalIndexScan.java index ade0e695a41..ba8ae0b3974 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicalIndexScan.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicalIndexScan.java @@ -15,11 +15,10 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical; import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; -import com.amazon.opendistroforelasticsearch.sql.expression.NamedExpression; import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlanNodeVisitor; @@ -34,12 +33,12 @@ import org.apache.commons.lang3.tuple.Pair; /** - * Elasticsearch Logical Index Scan Operation. + * OpenSearch Logical Index Scan Operation. */ @Getter @ToString @EqualsAndHashCode(callSuper = false) -public class ElasticsearchLogicalIndexScan extends LogicalPlan { +public class OpenSearchLogicalIndexScan extends LogicalPlan { /** * Relation Name. @@ -74,7 +73,7 @@ public class ElasticsearchLogicalIndexScan extends LogicalPlan { * ElasticsearchLogicalIndexScan Constructor. */ @Builder - public ElasticsearchLogicalIndexScan( + public OpenSearchLogicalIndexScan( String relationName, Expression filter, Set projectList, diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicalPlanOptimizerFactory.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicalPlanOptimizerFactory.java similarity index 50% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicalPlanOptimizerFactory.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicalPlanOptimizerFactory.java index b5ec7614cb5..56282cb0abb 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicalPlanOptimizerFactory.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicalPlanOptimizerFactory.java @@ -15,30 +15,30 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule.MergeAggAndIndexScan; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule.MergeAggAndRelation; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule.MergeFilterAndRelation; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule.MergeLimitAndIndexScan; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule.MergeLimitAndRelation; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule.MergeSortAndIndexAgg; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule.MergeSortAndIndexScan; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule.MergeSortAndRelation; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule.PushProjectAndIndexScan; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule.PushProjectAndRelation; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule.MergeAggAndIndexScan; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule.MergeAggAndRelation; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule.MergeFilterAndRelation; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule.MergeLimitAndIndexScan; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule.MergeLimitAndRelation; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule.MergeSortAndIndexAgg; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule.MergeSortAndIndexScan; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule.MergeSortAndRelation; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule.PushProjectAndIndexScan; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule.PushProjectAndRelation; import com.amazon.opendistroforelasticsearch.sql.planner.optimizer.LogicalPlanOptimizer; import java.util.Arrays; import lombok.experimental.UtilityClass; /** - * Elasticsearch storage specified logical plan optimizer. + * OpenSearch storage specified logical plan optimizer. */ @UtilityClass -public class ElasticsearchLogicalPlanOptimizerFactory { +public class OpenSearchLogicalPlanOptimizerFactory { /** - * Create Elasticsearch storage specified logical plan optimizer. + * Create OpenSearch storage specified logical plan optimizer. */ public static LogicalPlanOptimizer create() { return new LogicalPlanOptimizer(Arrays.asList( diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeAggAndIndexScan.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeAggAndIndexScan.java similarity index 79% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeAggAndIndexScan.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeAggAndIndexScan.java index 7d9c4e39241..eb678e8446d 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeAggAndIndexScan.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeAggAndIndexScan.java @@ -15,13 +15,13 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule; import static com.amazon.opendistroforelasticsearch.sql.planner.optimizer.pattern.Patterns.source; import static com.facebook.presto.matching.Pattern.typeOf; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexAgg; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexScan; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexAgg; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalAggregation; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.optimizer.Rule; @@ -36,7 +36,7 @@ */ public class MergeAggAndIndexScan implements Rule { - private final Capture capture; + private final Capture capture; @Accessors(fluent = true) @Getter @@ -48,7 +48,7 @@ public class MergeAggAndIndexScan implements Rule { public MergeAggAndIndexScan() { this.capture = Capture.newCapture(); this.pattern = typeOf(LogicalAggregation.class) - .with(source().matching(typeOf(ElasticsearchLogicalIndexScan.class) + .with(source().matching(typeOf(OpenSearchLogicalIndexScan.class) .matching(indexScan -> !indexScan.hasLimit()) .capturedAs(capture))); } @@ -56,8 +56,8 @@ public MergeAggAndIndexScan() { @Override public LogicalPlan apply(LogicalAggregation aggregation, Captures captures) { - ElasticsearchLogicalIndexScan indexScan = captures.get(capture); - return ElasticsearchLogicalIndexAgg + OpenSearchLogicalIndexScan indexScan = captures.get(capture); + return OpenSearchLogicalIndexAgg .builder() .relationName(indexScan.getRelationName()) .filter(indexScan.getFilter()) diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeAggAndRelation.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeAggAndRelation.java similarity index 90% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeAggAndRelation.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeAggAndRelation.java index 6fd16eef295..03a56d58581 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeAggAndRelation.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeAggAndRelation.java @@ -15,12 +15,12 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule; import static com.amazon.opendistroforelasticsearch.sql.planner.optimizer.pattern.Patterns.source; import static com.facebook.presto.matching.Pattern.typeOf; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexAgg; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexAgg; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalAggregation; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalRelation; @@ -55,7 +55,7 @@ public MergeAggAndRelation() { public LogicalPlan apply(LogicalAggregation aggregation, Captures captures) { LogicalRelation relation = captures.get(relationCapture); - return ElasticsearchLogicalIndexAgg + return OpenSearchLogicalIndexAgg .builder() .relationName(relation.getRelationName()) .aggregatorList(aggregation.getAggregatorList()) diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeFilterAndRelation.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeFilterAndRelation.java similarity index 90% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeFilterAndRelation.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeFilterAndRelation.java index 11869146d78..12426a7eb74 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeFilterAndRelation.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeFilterAndRelation.java @@ -15,12 +15,12 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule; import static com.amazon.opendistroforelasticsearch.sql.planner.optimizer.pattern.Patterns.source; import static com.facebook.presto.matching.Pattern.typeOf; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexScan; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalFilter; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalRelation; @@ -55,7 +55,7 @@ public Pattern pattern() { public LogicalPlan apply(LogicalFilter filter, Captures captures) { LogicalRelation relation = captures.get(relationCapture); - return ElasticsearchLogicalIndexScan + return OpenSearchLogicalIndexScan .builder() .relationName(relation.getRelationName()) .filter(filter.getCondition()) diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeLimitAndIndexScan.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeLimitAndIndexScan.java similarity index 77% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeLimitAndIndexScan.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeLimitAndIndexScan.java index f7bda72b847..c89a0f95776 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeLimitAndIndexScan.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeLimitAndIndexScan.java @@ -13,12 +13,12 @@ * permissions and limitations under the License. */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule; import static com.amazon.opendistroforelasticsearch.sql.planner.optimizer.pattern.Patterns.source; import static com.facebook.presto.matching.Pattern.typeOf; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexScan; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalLimit; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.optimizer.Rule; @@ -31,7 +31,7 @@ @Getter public class MergeLimitAndIndexScan implements Rule { - private final Capture indexScanCapture; + private final Capture indexScanCapture; @Accessors(fluent = true) private final Pattern pattern; @@ -43,14 +43,14 @@ public MergeLimitAndIndexScan() { this.indexScanCapture = Capture.newCapture(); this.pattern = typeOf(LogicalLimit.class) .with(source() - .matching(typeOf(ElasticsearchLogicalIndexScan.class).capturedAs(indexScanCapture))); + .matching(typeOf(OpenSearchLogicalIndexScan.class).capturedAs(indexScanCapture))); } @Override public LogicalPlan apply(LogicalLimit plan, Captures captures) { - ElasticsearchLogicalIndexScan indexScan = captures.get(indexScanCapture); - ElasticsearchLogicalIndexScan.ElasticsearchLogicalIndexScanBuilder builder = - ElasticsearchLogicalIndexScan.builder(); + OpenSearchLogicalIndexScan indexScan = captures.get(indexScanCapture); + OpenSearchLogicalIndexScan.OpenSearchLogicalIndexScanBuilder builder = + OpenSearchLogicalIndexScan.builder(); builder.relationName(indexScan.getRelationName()) .filter(indexScan.getFilter()) .offset(plan.getOffset()) diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeLimitAndRelation.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeLimitAndRelation.java similarity index 89% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeLimitAndRelation.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeLimitAndRelation.java index 1780390d091..edc6fcc3965 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeLimitAndRelation.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeLimitAndRelation.java @@ -13,12 +13,12 @@ * permissions and limitations under the License. */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule; import static com.amazon.opendistroforelasticsearch.sql.planner.optimizer.pattern.Patterns.source; import static com.facebook.presto.matching.Pattern.typeOf; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexScan; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalLimit; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalRelation; @@ -49,7 +49,7 @@ public MergeLimitAndRelation() { @Override public LogicalPlan apply(LogicalLimit plan, Captures captures) { LogicalRelation relation = captures.get(relationCapture); - return ElasticsearchLogicalIndexScan.builder() + return OpenSearchLogicalIndexScan.builder() .relationName(relation.getRelationName()) .offset(plan.getOffset()) .limit(plan.getLimit()) diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeSortAndIndexAgg.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeSortAndIndexAgg.java similarity index 85% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeSortAndIndexAgg.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeSortAndIndexAgg.java index 12984d552ba..788f317b650 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeSortAndIndexAgg.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeSortAndIndexAgg.java @@ -15,16 +15,16 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule; import static com.amazon.opendistroforelasticsearch.sql.planner.optimizer.pattern.Patterns.source; import static com.facebook.presto.matching.Pattern.typeOf; import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexAgg; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.NamedAggregator; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexAgg; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalSort; import com.amazon.opendistroforelasticsearch.sql.planner.optimizer.Rule; @@ -43,7 +43,7 @@ */ public class MergeSortAndIndexAgg implements Rule { - private final Capture indexAggCapture; + private final Capture indexAggCapture; @Accessors(fluent = true) @Getter @@ -63,7 +63,7 @@ public MergeSortAndIndexAgg() { sortRef.set(sort); return true; }) - .with(source().matching(typeOf(ElasticsearchLogicalIndexAgg.class) + .with(source().matching(typeOf(OpenSearchLogicalIndexAgg.class) .matching(indexAgg -> !hasAggregatorInSortBy(sortRef.get(), indexAgg)) .capturedAs(indexAggCapture))); } @@ -71,8 +71,8 @@ public MergeSortAndIndexAgg() { @Override public LogicalPlan apply(LogicalSort sort, Captures captures) { - ElasticsearchLogicalIndexAgg indexAgg = captures.get(indexAggCapture); - return ElasticsearchLogicalIndexAgg.builder() + OpenSearchLogicalIndexAgg indexAgg = captures.get(indexAggCapture); + return OpenSearchLogicalIndexAgg.builder() .relationName(indexAgg.getRelationName()) .filter(indexAgg.getFilter()) .groupByList(indexAgg.getGroupByList()) @@ -81,7 +81,7 @@ public LogicalPlan apply(LogicalSort sort, .build(); } - private boolean hasAggregatorInSortBy(LogicalSort sort, ElasticsearchLogicalIndexAgg agg) { + private boolean hasAggregatorInSortBy(LogicalSort sort, OpenSearchLogicalIndexAgg agg) { final Set aggregatorNames = agg.getAggregatorList().stream().map(NamedAggregator::getName).collect(Collectors.toSet()); for (Pair sortPair : sort.getSortList()) { diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeSortAndIndexScan.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeSortAndIndexScan.java similarity index 84% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeSortAndIndexScan.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeSortAndIndexScan.java index 80e007d1ad5..b6490ee4a9c 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeSortAndIndexScan.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeSortAndIndexScan.java @@ -15,14 +15,14 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule; import static com.amazon.opendistroforelasticsearch.sql.planner.optimizer.pattern.Patterns.source; import static com.facebook.presto.matching.Pattern.typeOf; import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalSort; import com.amazon.opendistroforelasticsearch.sql.planner.optimizer.Rule; @@ -39,7 +39,7 @@ */ public class MergeSortAndIndexScan implements Rule { - private final Capture indexScanCapture; + private final Capture indexScanCapture; private final Pattern pattern; /** @@ -49,7 +49,7 @@ public MergeSortAndIndexScan() { this.indexScanCapture = Capture.newCapture(); this.pattern = typeOf(LogicalSort.class).matching(OptimizationRuleUtils::sortByFieldsOnly) .with(source() - .matching(typeOf(ElasticsearchLogicalIndexScan.class).capturedAs(indexScanCapture))); + .matching(typeOf(OpenSearchLogicalIndexScan.class).capturedAs(indexScanCapture))); } @Override @@ -60,9 +60,9 @@ public Pattern pattern() { @Override public LogicalPlan apply(LogicalSort sort, Captures captures) { - ElasticsearchLogicalIndexScan indexScan = captures.get(indexScanCapture); + OpenSearchLogicalIndexScan indexScan = captures.get(indexScanCapture); - return ElasticsearchLogicalIndexScan + return OpenSearchLogicalIndexScan .builder() .relationName(indexScan.getRelationName()) .filter(indexScan.getFilter()) diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeSortAndRelation.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeSortAndRelation.java similarity index 90% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeSortAndRelation.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeSortAndRelation.java index 6aef755e2c4..d94ec70cb82 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/MergeSortAndRelation.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/MergeSortAndRelation.java @@ -15,12 +15,12 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule; import static com.amazon.opendistroforelasticsearch.sql.planner.optimizer.pattern.Patterns.source; import static com.facebook.presto.matching.Pattern.typeOf; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexScan; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalRelation; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalSort; @@ -55,7 +55,7 @@ public Pattern pattern() { public LogicalPlan apply(LogicalSort sort, Captures captures) { LogicalRelation relation = captures.get(relationCapture); - return ElasticsearchLogicalIndexScan + return OpenSearchLogicalIndexScan .builder() .relationName(relation.getRelationName()) .sortList(sort.getSortList()) diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/OptimizationRuleUtils.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/OptimizationRuleUtils.java similarity index 97% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/OptimizationRuleUtils.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/OptimizationRuleUtils.java index b2d3ae746e3..5bcd2885765 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/OptimizationRuleUtils.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/OptimizationRuleUtils.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule; import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort; import com.amazon.opendistroforelasticsearch.sql.expression.ExpressionNodeVisitor; diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/PushProjectAndIndexScan.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/PushProjectAndIndexScan.java similarity index 80% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/PushProjectAndIndexScan.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/PushProjectAndIndexScan.java index 5a1d4b93009..7a65abb7821 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/PushProjectAndIndexScan.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/PushProjectAndIndexScan.java @@ -15,14 +15,14 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule.OptimizationRuleUtils.findReferenceExpressions; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule.OptimizationRuleUtils.findReferenceExpressions; import static com.amazon.opendistroforelasticsearch.sql.planner.optimizer.pattern.Patterns.source; import static com.facebook.presto.matching.Pattern.typeOf; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalProject; import com.amazon.opendistroforelasticsearch.sql.planner.optimizer.Rule; @@ -36,7 +36,7 @@ */ public class PushProjectAndIndexScan implements Rule { - private final Capture indexScanCapture; + private final Capture indexScanCapture; private final Pattern pattern; @@ -52,7 +52,7 @@ public PushProjectAndIndexScan() { pushDownProjects = findReferenceExpressions(project.getProjectList()); return !pushDownProjects.isEmpty(); }).with(source() - .matching(typeOf(ElasticsearchLogicalIndexScan.class) + .matching(typeOf(OpenSearchLogicalIndexScan.class) .matching(indexScan -> !indexScan.hasProjects()) .capturedAs(indexScanCapture))); @@ -66,7 +66,7 @@ public Pattern pattern() { @Override public LogicalPlan apply(LogicalProject project, Captures captures) { - ElasticsearchLogicalIndexScan indexScan = captures.get(indexScanCapture); + OpenSearchLogicalIndexScan indexScan = captures.get(indexScanCapture); indexScan.setProjectList(pushDownProjects); return new LogicalProject(indexScan, project.getProjectList()); } diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/PushProjectAndRelation.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/PushProjectAndRelation.java similarity index 87% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/PushProjectAndRelation.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/PushProjectAndRelation.java index f8960de02be..4c62f7cf614 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/rule/PushProjectAndRelation.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/rule/PushProjectAndRelation.java @@ -15,14 +15,14 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.rule.OptimizationRuleUtils.findReferenceExpressions; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.rule.OptimizationRuleUtils.findReferenceExpressions; import static com.amazon.opendistroforelasticsearch.sql.planner.optimizer.pattern.Patterns.source; import static com.facebook.presto.matching.Pattern.typeOf; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalProject; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalRelation; @@ -66,7 +66,7 @@ public LogicalPlan apply(LogicalProject project, Captures captures) { LogicalRelation relation = captures.get(relationCapture); return new LogicalProject( - ElasticsearchLogicalIndexScan + OpenSearchLogicalIndexScan .builder() .relationName(relation.getRelationName()) .projectList(findReferenceExpressions(project.getProjectList())) diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchQueryRequest.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchQueryRequest.java similarity index 61% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchQueryRequest.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchQueryRequest.java index fc66e8a0918..224aef9c938 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchQueryRequest.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchQueryRequest.java @@ -15,26 +15,25 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.request; +package com.amazon.opendistroforelasticsearch.sql.opensearch.request; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.ElasticsearchResponse; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.OpenSearchResponse; import com.google.common.annotations.VisibleForTesting; import java.util.function.Consumer; import java.util.function.Function; -import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.ToString; -import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchScrollRequest; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.search.builder.SearchSourceBuilder; +import org.opensearch.action.search.SearchRequest; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.action.search.SearchScrollRequest; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.search.SearchHits; +import org.opensearch.search.builder.SearchSourceBuilder; /** - * Elasticsearch search request. This has to be stateful because it needs to: + * OpenSearch search request. This has to be stateful because it needs to: * *

1) Accumulate search source builder when visiting logical plan to push down operation. 2) * Indicate the search already done. @@ -42,7 +41,7 @@ @EqualsAndHashCode @Getter @ToString -public class ElasticsearchQueryRequest implements ElasticsearchRequest { +public class OpenSearchQueryRequest implements OpenSearchRequest { /** * Default query timeout in minutes. @@ -65,7 +64,7 @@ public class ElasticsearchQueryRequest implements ElasticsearchRequest { */ @EqualsAndHashCode.Exclude @ToString.Exclude - private final ElasticsearchExprValueFactory exprValueFactory; + private final OpenSearchExprValueFactory exprValueFactory; /** * Indicate the search already done. @@ -75,8 +74,8 @@ public class ElasticsearchQueryRequest implements ElasticsearchRequest { /** * Constructor of ElasticsearchQueryRequest. */ - public ElasticsearchQueryRequest(String indexName, int size, - ElasticsearchExprValueFactory factory) { + public OpenSearchQueryRequest(String indexName, int size, + OpenSearchExprValueFactory factory) { this.indexName = indexName; this.sourceBuilder = new SearchSourceBuilder(); sourceBuilder.from(0); @@ -86,13 +85,13 @@ public ElasticsearchQueryRequest(String indexName, int size, } @Override - public ElasticsearchResponse search(Function searchAction, - Function scrollAction) { + public OpenSearchResponse search(Function searchAction, + Function scrollAction) { if (searchDone) { - return new ElasticsearchResponse(SearchHits.empty(), exprValueFactory); + return new OpenSearchResponse(SearchHits.empty(), exprValueFactory); } else { searchDone = true; - return new ElasticsearchResponse(searchAction.apply(searchRequest()), exprValueFactory); + return new OpenSearchResponse(searchAction.apply(searchRequest()), exprValueFactory); } } @@ -102,7 +101,7 @@ public void clean(Consumer cleanAction) { } /** - * Generate Elasticsearch search request. + * Generate OpenSearch search request. * * @return search request */ diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchRequest.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchRequest.java similarity index 61% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchRequest.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchRequest.java index 4b38e8a0d96..f50a300570e 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchRequest.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchRequest.java @@ -15,21 +15,21 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.request; +package com.amazon.opendistroforelasticsearch.sql.opensearch.request; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.ElasticsearchResponse; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.OpenSearchResponse; import java.util.function.Consumer; import java.util.function.Function; -import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchScrollRequest; -import org.elasticsearch.search.builder.SearchSourceBuilder; +import org.opensearch.action.search.SearchRequest; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.action.search.SearchScrollRequest; +import org.opensearch.search.builder.SearchSourceBuilder; /** - * Elasticsearch search request. + * OpenSearch search request. */ -public interface ElasticsearchRequest { +public interface OpenSearchRequest { /** * Apply the search action or scroll action on request based on context. @@ -38,8 +38,8 @@ public interface ElasticsearchRequest { * @param scrollAction scroll search action. * @return ElasticsearchResponse. */ - ElasticsearchResponse search(Function searchAction, - Function scrollAction); + OpenSearchResponse search(Function searchAction, + Function scrollAction); /** * Apply the cleanAction on request. @@ -59,5 +59,5 @@ ElasticsearchResponse search(Function searchActio * Get the ElasticsearchExprValueFactory. * @return ElasticsearchExprValueFactory. */ - ElasticsearchExprValueFactory getExprValueFactory(); + OpenSearchExprValueFactory getExprValueFactory(); } diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchScrollRequest.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchScrollRequest.java similarity index 68% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchScrollRequest.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchScrollRequest.java index bcbdf440c82..fe601738a0a 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchScrollRequest.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchScrollRequest.java @@ -14,10 +14,10 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.request; +package com.amazon.opendistroforelasticsearch.sql.opensearch.request; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.ElasticsearchResponse; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.OpenSearchResponse; import java.util.Objects; import java.util.function.Consumer; import java.util.function.Function; @@ -26,14 +26,14 @@ import lombok.RequiredArgsConstructor; import lombok.Setter; import lombok.ToString; -import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchScrollRequest; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.search.builder.SearchSourceBuilder; +import org.opensearch.action.search.SearchRequest; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.action.search.SearchScrollRequest; +import org.opensearch.common.unit.TimeValue; +import org.opensearch.search.builder.SearchSourceBuilder; /** - * Elasticsearch scroll search request. This has to be stateful because it needs to: + * OpenSearch scroll search request. This has to be stateful because it needs to: * *

1) Accumulate search source builder when visiting logical plan to push down operation 2) * Maintain scroll ID between calls to client search method @@ -42,7 +42,7 @@ @RequiredArgsConstructor @Getter @ToString -public class ElasticsearchScrollRequest implements ElasticsearchRequest { +public class OpenSearchScrollRequest implements OpenSearchRequest { /** Default scroll context timeout in minutes. */ public static final TimeValue DEFAULT_SCROLL_TIMEOUT = TimeValue.timeValueMinutes(1L); @@ -53,7 +53,7 @@ public class ElasticsearchScrollRequest implements ElasticsearchRequest { /** Index name. */ @EqualsAndHashCode.Exclude @ToString.Exclude - private final ElasticsearchExprValueFactory exprValueFactory; + private final OpenSearchExprValueFactory exprValueFactory; /** * Scroll id which is set after first request issued. Because ElasticsearchClient is shared by @@ -66,17 +66,17 @@ public class ElasticsearchScrollRequest implements ElasticsearchRequest { @Override - public ElasticsearchResponse search(Function searchAction, - Function scrollAction) { - SearchResponse esResponse; + public OpenSearchResponse search(Function searchAction, + Function scrollAction) { + SearchResponse openSearchResponse; if (isScrollStarted()) { - esResponse = scrollAction.apply(scrollRequest()); + openSearchResponse = scrollAction.apply(scrollRequest()); } else { - esResponse = searchAction.apply(searchRequest()); + openSearchResponse = searchAction.apply(searchRequest()); } - setScrollId(esResponse.getScrollId()); + setScrollId(openSearchResponse.getScrollId()); - return new ElasticsearchResponse(esResponse, exprValueFactory); + return new OpenSearchResponse(openSearchResponse, exprValueFactory); } @Override @@ -91,7 +91,7 @@ public void clean(Consumer cleanAction) { } /** - * Generate Elasticsearch search request. + * Generate OpenSearch search request. * * @return search request */ @@ -112,7 +112,7 @@ public boolean isScrollStarted() { } /** - * Generate Elasticsearch scroll request by scroll id maintained. + * Generate OpenSearch scroll request by scroll id maintained. * * @return scroll request */ diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchCatIndicesRequest.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchCatIndicesRequest.java similarity index 78% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchCatIndicesRequest.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchCatIndicesRequest.java index da1429fd905..9efbd0c9d6e 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchCatIndicesRequest.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchCatIndicesRequest.java @@ -15,14 +15,14 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.system; +package com.amazon.opendistroforelasticsearch.sql.opensearch.request.system; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.stringValue; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient.META_CLUSTER_NAME; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient.META_CLUSTER_NAME; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprTupleValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; @@ -33,14 +33,14 @@ * Cat indices request. */ @RequiredArgsConstructor -public class ElasticsearchCatIndicesRequest implements ElasticsearchSystemRequest { +public class OpenSearchCatIndicesRequest implements OpenSearchSystemRequest { - private static final String DEFAULT_TABLE_CAT = "elasticsearch"; + private static final String DEFAULT_TABLE_CAT = "opensearch"; private static final String DEFAULT_TABLE_TAPE = "BASE TABLE"; - /** Elasticsearch client connection. */ - private final ElasticsearchClient client; + /** OpenSearch client connection. */ + private final OpenSearchClient client; /** * search all the index in the data store. @@ -71,6 +71,6 @@ private String clusterName(Map meta) { @Override public String toString() { - return "ElasticsearchCatIndicesRequest{}"; + return "OpenSearchCatIndicesRequest{}"; } } diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchDescribeIndexRequest.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchDescribeIndexRequest.java similarity index 77% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchDescribeIndexRequest.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchDescribeIndexRequest.java index 626ae96d4ea..a8f47432b51 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchDescribeIndexRequest.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchDescribeIndexRequest.java @@ -15,19 +15,19 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.system; +package com.amazon.opendistroforelasticsearch.sql.opensearch.request.system; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.integerValue; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.stringValue; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient.META_CLUSTER_NAME; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient.META_CLUSTER_NAME; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprTupleValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.mapping.IndexMapping; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType; +import com.amazon.opendistroforelasticsearch.sql.opensearch.mapping.IndexMapping; import com.google.common.collect.ImmutableMap; import java.util.ArrayList; import java.util.HashMap; @@ -41,9 +41,9 @@ * Describe index meta data request. */ @RequiredArgsConstructor -public class ElasticsearchDescribeIndexRequest implements ElasticsearchSystemRequest { +public class OpenSearchDescribeIndexRequest implements OpenSearchSystemRequest { - private static final String DEFAULT_TABLE_CAT = "elasticsearch"; + private static final String DEFAULT_TABLE_CAT = "opensearch"; private static final Integer DEFAULT_NUM_PREC_RADIX = 10; @@ -52,13 +52,13 @@ public class ElasticsearchDescribeIndexRequest implements ElasticsearchSystemReq private static final String DEFAULT_IS_AUTOINCREMENT = "NO"; /** - * Type mapping from Elasticsearch data type to expression type in our type system in query + * Type mapping from OpenSearch data type to expression type in our type system in query * engine. TODO: geo, ip etc. */ - private static final Map ES_TYPE_TO_EXPR_TYPE_MAPPING = + private static final Map OPENSEARCH_TYPE_TO_EXPR_TYPE_MAPPING = ImmutableMap.builder() - .put("text", ElasticsearchDataType.ES_TEXT) - .put("text_keyword", ElasticsearchDataType.ES_TEXT_KEYWORD) + .put("text", OpenSearchDataType.OPENSEARCH_TEXT) + .put("text_keyword", OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD) .put("keyword", ExprCoreType.STRING) .put("byte", ExprCoreType.BYTE) .put("short", ExprCoreType.SHORT) @@ -72,18 +72,18 @@ public class ElasticsearchDescribeIndexRequest implements ElasticsearchSystemReq .put("nested", ExprCoreType.ARRAY) .put("object", ExprCoreType.STRUCT) .put("date", ExprCoreType.TIMESTAMP) - .put("ip", ElasticsearchDataType.ES_IP) - .put("geo_point", ElasticsearchDataType.ES_GEO_POINT) - .put("binary", ElasticsearchDataType.ES_BINARY) + .put("ip", OpenSearchDataType.OPENSEARCH_IP) + .put("geo_point", OpenSearchDataType.OPENSEARCH_GEO_POINT) + .put("binary", OpenSearchDataType.OPENSEARCH_BINARY) .build(); /** - * Elasticsearch client connection. + * OpenSearch client connection. */ - private final ElasticsearchClient client; + private final OpenSearchClient client; /** - * Elasticsearch index name. + * OpenSearch index name. */ private final String indexName; @@ -122,8 +122,8 @@ public Map getFieldTypes() { return fieldTypes; } - private ExprType transformESTypeToExprType(String esType) { - return ES_TYPE_TO_EXPR_TYPE_MAPPING.getOrDefault(esType, ExprCoreType.UNKNOWN); + private ExprType transformESTypeToExprType(String openSearchType) { + return OPENSEARCH_TYPE_TO_EXPR_TYPE_MAPPING.getOrDefault(openSearchType, ExprCoreType.UNKNOWN); } private ExprTupleValue row(String fieldName, String fieldType, int position, String clusterName) { @@ -152,7 +152,7 @@ private String clusterName(Map meta) { @Override public String toString() { - return "ElasticsearchDescribeIndexRequest{" + return "OpenSearchDescribeIndexRequest{" + "indexName='" + indexName + '\'' + '}'; } diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchSystemRequest.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchSystemRequest.java similarity index 81% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchSystemRequest.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchSystemRequest.java index a51b66a8eac..f0ce611e278 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchSystemRequest.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchSystemRequest.java @@ -15,15 +15,15 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.system; +package com.amazon.opendistroforelasticsearch.sql.opensearch.request.system; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import java.util.List; /** - * Elasticsearch system request query against the system index. + * OpenSearch system request query against the system index. */ -public interface ElasticsearchSystemRequest { +public interface OpenSearchSystemRequest { /** * Search. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/ElasticsearchAggregationResponseParser.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/OpenSearchAggregationResponseParser.java similarity index 87% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/ElasticsearchAggregationResponseParser.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/OpenSearchAggregationResponseParser.java index 94e95806b3c..fee065739bc 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/ElasticsearchAggregationResponseParser.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/OpenSearchAggregationResponseParser.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.response; +package com.amazon.opendistroforelasticsearch.sql.opensearch.response; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableList; @@ -24,17 +24,17 @@ import java.util.List; import java.util.Map; import lombok.experimental.UtilityClass; -import org.elasticsearch.search.aggregations.Aggregation; -import org.elasticsearch.search.aggregations.Aggregations; -import org.elasticsearch.search.aggregations.bucket.composite.CompositeAggregation; -import org.elasticsearch.search.aggregations.bucket.filter.Filter; -import org.elasticsearch.search.aggregations.metrics.NumericMetricsAggregation; +import org.opensearch.search.aggregations.Aggregation; +import org.opensearch.search.aggregations.Aggregations; +import org.opensearch.search.aggregations.bucket.composite.CompositeAggregation; +import org.opensearch.search.aggregations.bucket.filter.Filter; +import org.opensearch.search.aggregations.metrics.NumericMetricsAggregation; /** * AggregationResponseParser. */ @UtilityClass -public class ElasticsearchAggregationResponseParser { +public class OpenSearchAggregationResponseParser { /** * Parse Aggregations as a list of field and value map. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/ElasticsearchResponse.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/OpenSearchResponse.java similarity index 69% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/ElasticsearchResponse.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/OpenSearchResponse.java index 5aeb0f3a55e..c60c2f6350d 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/ElasticsearchResponse.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/OpenSearchResponse.java @@ -14,27 +14,27 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.response; +package com.amazon.opendistroforelasticsearch.sql.opensearch.response; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprTupleValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; import com.google.common.collect.ImmutableMap; import java.util.Arrays; import java.util.Iterator; import java.util.Map; import lombok.EqualsAndHashCode; import lombok.ToString; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.search.aggregations.Aggregations; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.search.SearchHits; +import org.opensearch.search.aggregations.Aggregations; /** - * Elasticsearch search response. + * OpenSearch search response. */ @EqualsAndHashCode @ToString -public class ElasticsearchResponse implements Iterable { +public class OpenSearchResponse implements Iterable { /** * Search query result (non-aggregation). @@ -50,30 +50,30 @@ public class ElasticsearchResponse implements Iterable { * ElasticsearchExprValueFactory used to build ExprValue from search result. */ @EqualsAndHashCode.Exclude - private final ElasticsearchExprValueFactory exprValueFactory; + private final OpenSearchExprValueFactory exprValueFactory; /** * Constructor of ElasticsearchResponse. */ - public ElasticsearchResponse(SearchResponse esResponse, - ElasticsearchExprValueFactory exprValueFactory) { - this.hits = esResponse.getHits(); - this.aggregations = esResponse.getAggregations(); + public OpenSearchResponse(SearchResponse searchResponse, + OpenSearchExprValueFactory exprValueFactory) { + this.hits = searchResponse.getHits(); + this.aggregations = searchResponse.getAggregations(); this.exprValueFactory = exprValueFactory; } /** * Constructor of ElasticsearchResponse with SearchHits. */ - public ElasticsearchResponse(SearchHits hits, ElasticsearchExprValueFactory exprValueFactory) { + public OpenSearchResponse(SearchHits hits, OpenSearchExprValueFactory exprValueFactory) { this.hits = hits; this.aggregations = null; this.exprValueFactory = exprValueFactory; } /** - * Is response empty. As ES doc says, "Each call to the scroll API returns the next batch of - * results until there are no more results left to return, ie the hits array is empty." + * Is response empty. As OpenSearch doc says, "Each call to the scroll API returns the next batch + * of results until there are no more results left to return, ie the hits array is empty." * * @return true for empty */ @@ -92,7 +92,7 @@ public boolean isAggregationResponse() { */ public Iterator iterator() { if (isAggregationResponse()) { - return ElasticsearchAggregationResponseParser.parse(aggregations).stream().map(entry -> { + return OpenSearchAggregationResponseParser.parse(aggregations).stream().map(entry -> { ImmutableMap.Builder builder = new ImmutableMap.Builder<>(); for (Map.Entry value : entry.entrySet()) { builder.put(value.getKey(), exprValueFactory.construct(value.getKey(), value.getValue())); diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ErrorMessage.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/ErrorMessage.java similarity index 94% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ErrorMessage.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/ErrorMessage.java index ece094d8f6c..4625cd46c7d 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ErrorMessage.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/ErrorMessage.java @@ -15,11 +15,11 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.error; +package com.amazon.opendistroforelasticsearch.sql.opensearch.response.error; import lombok.Getter; -import org.elasticsearch.rest.RestStatus; import org.json.JSONObject; +import org.opensearch.rest.RestStatus; /** * Error Message. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ErrorMessageFactory.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/ErrorMessageFactory.java similarity index 71% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ErrorMessageFactory.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/ErrorMessageFactory.java index 73d0f924dc0..daba325cd5e 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ErrorMessageFactory.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/ErrorMessageFactory.java @@ -15,17 +15,17 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.error; +package com.amazon.opendistroforelasticsearch.sql.opensearch.response.error; import lombok.experimental.UtilityClass; -import org.elasticsearch.ElasticsearchException; +import org.opensearch.OpenSearchException; @UtilityClass public class ErrorMessageFactory { /** * Create error message based on the exception type. - * Exceptions of ES exception type and exceptions with wrapped ES exception causes - * should create {@link ElasticsearchErrorMessage} + * Exceptions of OpenSearch exception type and exceptions with wrapped OpenSearch exception causes + * should create {@link OpenSearchErrorMessage} * * @param e exception to create error message * @param status exception status code @@ -33,16 +33,16 @@ public class ErrorMessageFactory { */ public static ErrorMessage createErrorMessage(Throwable e, int status) { Throwable cause = unwrapCause(e); - if (cause instanceof ElasticsearchException) { - ElasticsearchException exception = (ElasticsearchException) cause; - return new ElasticsearchErrorMessage(exception, exception.status().getStatus()); + if (cause instanceof OpenSearchException) { + OpenSearchException exception = (OpenSearchException) cause; + return new OpenSearchErrorMessage(exception, exception.status().getStatus()); } return new ErrorMessage(e, status); } protected static Throwable unwrapCause(Throwable t) { Throwable result = t; - if (result instanceof ElasticsearchException) { + if (result instanceof OpenSearchException) { return result; } if (result.getCause() == null) { diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ElasticsearchErrorMessage.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/OpenSearchErrorMessage.java similarity index 73% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ElasticsearchErrorMessage.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/OpenSearchErrorMessage.java index 9cd3d2f6f85..7d8007ab749 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ElasticsearchErrorMessage.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/OpenSearchErrorMessage.java @@ -15,25 +15,25 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.error; +package com.amazon.opendistroforelasticsearch.sql.opensearch.response.error; import java.util.Locale; -import org.elasticsearch.ElasticsearchException; -import org.elasticsearch.action.search.SearchPhaseExecutionException; -import org.elasticsearch.action.search.ShardSearchFailure; +import org.opensearch.OpenSearchException; +import org.opensearch.action.search.SearchPhaseExecutionException; +import org.opensearch.action.search.ShardSearchFailure; /** - * Elasticsearch Error Message. + * OpenSearch Error Message. */ -public class ElasticsearchErrorMessage extends ErrorMessage { +public class OpenSearchErrorMessage extends ErrorMessage { - ElasticsearchErrorMessage(ElasticsearchException exception, int status) { + OpenSearchErrorMessage(OpenSearchException exception, int status) { super(exception, status); } @Override protected String fetchReason() { - return "Error occurred in Elasticsearch engine: " + exception.getMessage(); + return "Error occurred in OpenSearch engine: " + exception.getMessage(); } /** @@ -47,19 +47,19 @@ protected String fetchDetails() { details.append( fetchSearchPhaseExecutionExceptionDetails((SearchPhaseExecutionException) exception)); } else { - details.append(((ElasticsearchException) exception).getDetailedMessage()); + details.append(((OpenSearchException) exception).getDetailedMessage()); } details.append( "\nFor more details, please send request for Json format to see the raw response from " - + "elasticsearch engine."); + + "OpenSearch engine."); return details.toString(); } /** * Could not deliver the exactly same error messages due to the limit of JDBC types. * Currently our cases occurred only SearchPhaseExecutionException instances - * among all types of ES exceptions - * according to the survey, see all types: ElasticsearchException.ElasticsearchExceptionHandle. + * among all types of OpenSearch exceptions + * according to the survey, see all types: OpenSearchException.OpenSearchExceptionHandle. * Either add methods of fetching details for different types, or re-make a consistent * message by not giving * detailed messages/root causes but only a suggestion message. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/security/SecurityAccess.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/security/SecurityAccess.java similarity index 91% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/security/SecurityAccess.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/security/SecurityAccess.java index f42d100393c..f58e3aeb5c5 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/security/SecurityAccess.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/security/SecurityAccess.java @@ -13,13 +13,13 @@ * permissions and limitations under the License. */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.security; +package com.amazon.opendistroforelasticsearch.sql.opensearch.security; import java.io.IOException; import java.security.AccessController; import java.security.PrivilegedActionException; import java.security.PrivilegedExceptionAction; -import org.elasticsearch.SpecialPermission; +import org.opensearch.SpecialPermission; /** * Ref: diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/setting/ElasticsearchSettings.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/setting/OpenSearchSettings.java similarity index 90% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/setting/ElasticsearchSettings.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/setting/OpenSearchSettings.java index 37e8cc45718..39ec615899f 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/setting/ElasticsearchSettings.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/setting/OpenSearchSettings.java @@ -15,9 +15,9 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.setting; +package com.amazon.opendistroforelasticsearch.sql.opensearch.setting; -import static org.elasticsearch.common.settings.Settings.EMPTY; +import static org.opensearch.common.settings.Settings.EMPTY; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; import com.google.common.annotations.VisibleForTesting; @@ -29,14 +29,14 @@ import java.util.function.Consumer; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; -import org.elasticsearch.common.settings.ClusterSettings; -import org.elasticsearch.common.settings.Setting; +import org.opensearch.common.settings.ClusterSettings; +import org.opensearch.common.settings.Setting; /** - * Setting implementation on Elasticsearch. + * Setting implementation on OpenSearch. */ @Log4j2 -public class ElasticsearchSettings extends Settings { +public class OpenSearchSettings extends Settings { /** * Default settings. */ @@ -69,7 +69,7 @@ public class ElasticsearchSettings extends Settings { * Construct ElasticsearchSetting. * The ElasticsearchSetting must be singleton. */ - public ElasticsearchSettings(ClusterSettings clusterSettings) { + public OpenSearchSettings(ClusterSettings clusterSettings) { ImmutableMap.Builder> settingBuilder = new ImmutableMap.Builder<>(); register(settingBuilder, clusterSettings, Key.PPL_QUERY_MEMORY_LIMIT, PPL_QUERY_MEMORY_LIMIT_SETTINGS, new Updater(Key.PPL_QUERY_MEMORY_LIMIT)); diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchIndex.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchIndex.java similarity index 58% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchIndex.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchIndex.java index bc8091d6014..33eb3e2051a 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchIndex.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchIndex.java @@ -14,21 +14,21 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; import com.amazon.opendistroforelasticsearch.sql.common.utils.StringUtils; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexAgg; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexScan; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalPlanOptimizerFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.system.ElasticsearchDescribeIndexRequest; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation.AggregationQueryBuilder; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter.FilterQueryBuilder; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.sort.SortQueryBuilder; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.DefaultExpressionSerializer; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexAgg; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexScan; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalPlanOptimizerFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.system.OpenSearchDescribeIndexRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation.AggregationQueryBuilder; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter.FilterQueryBuilder; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.sort.SortQueryBuilder; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.DefaultExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.planner.DefaultImplementor; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalRelation; @@ -39,19 +39,19 @@ import java.util.Map; import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.search.aggregations.AggregationBuilder; +import org.opensearch.index.query.QueryBuilder; +import org.opensearch.search.aggregations.AggregationBuilder; -/** Elasticsearch table (index) implementation. */ +/** OpenSearch table (index) implementation. */ @RequiredArgsConstructor -public class ElasticsearchIndex implements Table { +public class OpenSearchIndex implements Table { - /** Elasticsearch client connection. */ - private final ElasticsearchClient client; + /** OpenSearch client connection. */ + private final OpenSearchClient client; private final Settings settings; - /** Current Elasticsearch index name. */ + /** Current OpenSearch index name. */ private final String indexName; /** @@ -67,7 +67,7 @@ public class ElasticsearchIndex implements Table { @Override public Map getFieldTypes() { if (cachedFieldTypes == null) { - cachedFieldTypes = new ElasticsearchDescribeIndexRequest(client, indexName).getFieldTypes(); + cachedFieldTypes = new OpenSearchDescribeIndexRequest(client, indexName).getFieldTypes(); } return cachedFieldTypes; } @@ -77,34 +77,34 @@ public Map getFieldTypes() { */ @Override public PhysicalPlan implement(LogicalPlan plan) { - ElasticsearchIndexScan indexScan = new ElasticsearchIndexScan(client, settings, indexName, - new ElasticsearchExprValueFactory(getFieldTypes())); + OpenSearchIndexScan indexScan = new OpenSearchIndexScan(client, settings, indexName, + new OpenSearchExprValueFactory(getFieldTypes())); /* * Visit logical plan with index scan as context so logical operators visited, such as - * aggregation, filter, will accumulate (push down) Elasticsearch query and aggregation DSL on + * aggregation, filter, will accumulate (push down) OpenSearch query and aggregation DSL on * index scan. */ - return plan.accept(new ElasticsearchDefaultImplementor(indexScan), indexScan); + return plan.accept(new OpenSearchDefaultImplementor(indexScan), indexScan); } @Override public LogicalPlan optimize(LogicalPlan plan) { - return ElasticsearchLogicalPlanOptimizerFactory.create().optimize(plan); + return OpenSearchLogicalPlanOptimizerFactory.create().optimize(plan); } @VisibleForTesting @RequiredArgsConstructor - public static class ElasticsearchDefaultImplementor - extends DefaultImplementor { - private final ElasticsearchIndexScan indexScan; + public static class OpenSearchDefaultImplementor + extends DefaultImplementor { + private final OpenSearchIndexScan indexScan; @Override - public PhysicalPlan visitNode(LogicalPlan plan, ElasticsearchIndexScan context) { - if (plan instanceof ElasticsearchLogicalIndexScan) { - return visitIndexScan((ElasticsearchLogicalIndexScan) plan, context); - } else if (plan instanceof ElasticsearchLogicalIndexAgg) { - return visitIndexAggregation((ElasticsearchLogicalIndexAgg) plan, context); + public PhysicalPlan visitNode(LogicalPlan plan, OpenSearchIndexScan context) { + if (plan instanceof OpenSearchLogicalIndexScan) { + return visitIndexScan((OpenSearchLogicalIndexScan) plan, context); + } else if (plan instanceof OpenSearchLogicalIndexAgg) { + return visitIndexAggregation((OpenSearchLogicalIndexAgg) plan, context); } else { throw new IllegalStateException(StringUtils.format("unexpected plan node type %s", plan.getClass())); @@ -114,8 +114,8 @@ public PhysicalPlan visitNode(LogicalPlan plan, ElasticsearchIndexScan context) /** * Implement ElasticsearchLogicalIndexScan. */ - public PhysicalPlan visitIndexScan(ElasticsearchLogicalIndexScan node, - ElasticsearchIndexScan context) { + public PhysicalPlan visitIndexScan(OpenSearchLogicalIndexScan node, + OpenSearchIndexScan context) { if (null != node.getSortList()) { final SortQueryBuilder builder = new SortQueryBuilder(); context.pushDownSort(node.getSortList().stream() @@ -142,8 +142,8 @@ public PhysicalPlan visitIndexScan(ElasticsearchLogicalIndexScan node, /** * Implement ElasticsearchLogicalIndexAgg. */ - public PhysicalPlan visitIndexAggregation(ElasticsearchLogicalIndexAgg node, - ElasticsearchIndexScan context) { + public PhysicalPlan visitIndexAggregation(OpenSearchLogicalIndexAgg node, + OpenSearchIndexScan context) { if (node.getFilter() != null) { FilterQueryBuilder queryBuilder = new FilterQueryBuilder( new DefaultExpressionSerializer()); @@ -163,7 +163,7 @@ public PhysicalPlan visitIndexAggregation(ElasticsearchLogicalIndexAgg node, } @Override - public PhysicalPlan visitRelation(LogicalRelation node, ElasticsearchIndexScan context) { + public PhysicalPlan visitRelation(LogicalRelation node, OpenSearchIndexScan context) { return indexScan; } } diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchIndexScan.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchIndexScan.java similarity index 72% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchIndexScan.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchIndexScan.java index 56de50e414b..8b5b41f5ce0 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchIndexScan.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchIndexScan.java @@ -14,20 +14,20 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage; -import static org.elasticsearch.search.sort.FieldSortBuilder.DOC_FIELD_NAME; -import static org.elasticsearch.search.sort.SortOrder.ASC; +import static org.opensearch.search.sort.FieldSortBuilder.DOC_FIELD_NAME; +import static org.opensearch.search.sort.SortOrder.ASC; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.ElasticsearchQueryRequest; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.ElasticsearchRequest; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.ElasticsearchResponse; import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.OpenSearchQueryRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.OpenSearchRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.OpenSearchResponse; import com.amazon.opendistroforelasticsearch.sql.storage.TableScanOperator; import com.google.common.collect.Iterables; import java.util.ArrayList; @@ -39,28 +39,28 @@ import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.ToString; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.aggregations.AggregationBuilder; -import org.elasticsearch.search.builder.SearchSourceBuilder; -import org.elasticsearch.search.sort.SortBuilder; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.index.query.QueryBuilder; +import org.opensearch.index.query.QueryBuilders; +import org.opensearch.search.aggregations.AggregationBuilder; +import org.opensearch.search.builder.SearchSourceBuilder; +import org.opensearch.search.sort.SortBuilder; /** - * Elasticsearch index scan operator. + * OpenSearch index scan operator. */ @EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = false) @ToString(onlyExplicitlyIncluded = true) -public class ElasticsearchIndexScan extends TableScanOperator { +public class OpenSearchIndexScan extends TableScanOperator { - /** Elasticsearch client. */ - private final ElasticsearchClient client; + /** OpenSearch client. */ + private final OpenSearchClient client; /** Search request. */ @EqualsAndHashCode.Include @Getter @ToString.Include - private final ElasticsearchRequest request; + private final OpenSearchRequest request; /** Search response for current batch. */ private Iterator iterator; @@ -68,11 +68,11 @@ public class ElasticsearchIndexScan extends TableScanOperator { /** * Todo. */ - public ElasticsearchIndexScan(ElasticsearchClient client, - Settings settings, String indexName, - ElasticsearchExprValueFactory exprValueFactory) { + public OpenSearchIndexScan(OpenSearchClient client, + Settings settings, String indexName, + OpenSearchExprValueFactory exprValueFactory) { this.client = client; - this.request = new ElasticsearchQueryRequest(indexName, + this.request = new OpenSearchQueryRequest(indexName, settings.getSettingValue(Settings.Key.QUERY_SIZE_LIMIT), exprValueFactory); } @@ -81,13 +81,13 @@ public void open() { super.open(); // For now pull all results immediately once open - List responses = new ArrayList<>(); - ElasticsearchResponse response = client.search(request); + List responses = new ArrayList<>(); + OpenSearchResponse response = client.search(request); while (!response.isEmpty()) { responses.add(response); response = client.search(request); } - iterator = Iterables.concat(responses.toArray(new ElasticsearchResponse[0])).iterator(); + iterator = Iterables.concat(responses.toArray(new OpenSearchResponse[0])).iterator(); } @Override diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchStorageEngine.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchStorageEngine.java similarity index 65% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchStorageEngine.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchStorageEngine.java index 8e0aabe4b1b..2ab13ccb48f 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchStorageEngine.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchStorageEngine.java @@ -14,32 +14,32 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage; import static com.amazon.opendistroforelasticsearch.sql.utils.SystemIndexUtils.isSystemIndex; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.system.ElasticsearchSystemIndex; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.system.OpenSearchSystemIndex; import com.amazon.opendistroforelasticsearch.sql.storage.StorageEngine; import com.amazon.opendistroforelasticsearch.sql.storage.Table; import lombok.RequiredArgsConstructor; -/** Elasticsearch storage engine implementation. */ +/** OpenSearch storage engine implementation. */ @RequiredArgsConstructor -public class ElasticsearchStorageEngine implements StorageEngine { +public class OpenSearchStorageEngine implements StorageEngine { - /** Elasticsearch client connection. */ - private final ElasticsearchClient client; + /** OpenSearch client connection. */ + private final OpenSearchClient client; private final Settings settings; @Override public Table getTable(String name) { if (isSystemIndex(name)) { - return new ElasticsearchSystemIndex(client, name); + return new OpenSearchSystemIndex(client, name); } else { - return new ElasticsearchIndex(client, settings, name); + return new OpenSearchIndex(client, settings, name); } } } diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/ExpressionScriptEngine.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/ExpressionScriptEngine.java similarity index 82% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/ExpressionScriptEngine.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/ExpressionScriptEngine.java index 533ee626169..184befe506e 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/ExpressionScriptEngine.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/ExpressionScriptEngine.java @@ -14,21 +14,21 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation.ExpressionAggregationScriptFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter.ExpressionFilterScriptFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.ExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation.ExpressionAggregationScriptFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter.ExpressionFilterScriptFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.ExpressionSerializer; import com.google.common.collect.ImmutableMap; import java.util.Map; import java.util.Set; import java.util.function.Function; import lombok.RequiredArgsConstructor; -import org.elasticsearch.script.AggregationScript; -import org.elasticsearch.script.FilterScript; -import org.elasticsearch.script.ScriptContext; -import org.elasticsearch.script.ScriptEngine; +import org.opensearch.script.AggregationScript; +import org.opensearch.script.FilterScript; +import org.opensearch.script.ScriptContext; +import org.opensearch.script.ScriptEngine; /** * Custom expression script engine that supports using core engine expression code in DSL diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/ScriptUtils.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/ScriptUtils.java similarity index 81% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/ScriptUtils.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/ScriptUtils.java index 1fe91e6f476..b8e8419e3a6 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/ScriptUtils.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/ScriptUtils.java @@ -15,9 +15,9 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT_KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; import lombok.experimental.UtilityClass; @@ -33,7 +33,7 @@ public class ScriptUtils { * Limitation: assume inner field name is always "keyword". */ public static String convertTextToKeyword(String fieldName, ExprType fieldType) { - if (fieldType == ES_TEXT_KEYWORD) { + if (fieldType == OPENSEARCH_TEXT_KEYWORD) { return fieldName + ".keyword"; } return fieldName; diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/AggregationQueryBuilder.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/AggregationQueryBuilder.java similarity index 90% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/AggregationQueryBuilder.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/AggregationQueryBuilder.java index d0081ae27d8..7fb7da394b6 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/AggregationQueryBuilder.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/AggregationQueryBuilder.java @@ -15,18 +15,18 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation; import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation.dsl.BucketAggregationBuilder; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation.dsl.MetricAggregationBuilder; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.ExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.ExpressionNodeVisitor; import com.amazon.opendistroforelasticsearch.sql.expression.NamedExpression; import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.NamedAggregator; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation.dsl.BucketAggregationBuilder; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation.dsl.MetricAggregationBuilder; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.ExpressionSerializer; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -39,9 +39,9 @@ import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.tuple.Pair; -import org.elasticsearch.search.aggregations.AggregationBuilder; -import org.elasticsearch.search.aggregations.AggregationBuilders; -import org.elasticsearch.search.sort.SortOrder; +import org.opensearch.search.aggregations.AggregationBuilder; +import org.opensearch.search.aggregations.AggregationBuilders; +import org.opensearch.search.sort.SortOrder; /** * Build the AggregationBuilder from the list of {@link NamedAggregator} diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScript.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScript.java similarity index 87% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScript.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScript.java index 8125cc6f565..93474b77655 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScript.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScript.java @@ -15,18 +15,18 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprNullValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.core.ExpressionScript; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.env.Environment; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.core.ExpressionScript; import java.util.Map; import lombok.EqualsAndHashCode; import org.apache.lucene.index.LeafReaderContext; -import org.elasticsearch.script.AggregationScript; -import org.elasticsearch.search.lookup.SearchLookup; +import org.opensearch.script.AggregationScript; +import org.opensearch.search.lookup.SearchLookup; /** * Aggregation expression script that executed on each document. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScriptFactory.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScriptFactory.java similarity index 87% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScriptFactory.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScriptFactory.java index ec6528716ba..0e9cf9eee20 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScriptFactory.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScriptFactory.java @@ -15,13 +15,13 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import java.util.Map; import lombok.EqualsAndHashCode; -import org.elasticsearch.script.AggregationScript; -import org.elasticsearch.search.lookup.SearchLookup; +import org.opensearch.script.AggregationScript; +import org.opensearch.search.lookup.SearchLookup; /** * Aggregation Expression script factory that generates leaf factory. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScriptLeafFactory.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScriptLeafFactory.java similarity index 88% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScriptLeafFactory.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScriptLeafFactory.java index 63c54fb8a71..a638a6666b4 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScriptLeafFactory.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScriptLeafFactory.java @@ -15,14 +15,13 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; -import java.io.IOException; import java.util.Map; import org.apache.lucene.index.LeafReaderContext; -import org.elasticsearch.script.AggregationScript; -import org.elasticsearch.search.lookup.SearchLookup; +import org.opensearch.script.AggregationScript; +import org.opensearch.search.lookup.SearchLookup; /** * Expression script leaf factory that produces script executor for each leaf. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/AggregationBuilderHelper.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/AggregationBuilderHelper.java similarity index 79% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/AggregationBuilderHelper.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/AggregationBuilderHelper.java index 0d441e6e1b0..91c8846bec3 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/AggregationBuilderHelper.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/AggregationBuilderHelper.java @@ -15,20 +15,20 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation.dsl; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation.dsl; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.ExpressionScriptEngine.EXPRESSION_LANG_NAME; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.ExpressionScriptEngine.EXPRESSION_LANG_NAME; import static java.util.Collections.emptyMap; -import static org.elasticsearch.script.Script.DEFAULT_SCRIPT_TYPE; +import static org.opensearch.script.Script.DEFAULT_SCRIPT_TYPE; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.ScriptUtils; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.ExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.FunctionExpression; import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.ScriptUtils; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.ExpressionSerializer; import java.util.function.Function; import lombok.RequiredArgsConstructor; -import org.elasticsearch.script.Script; +import org.opensearch.script.Script; /** * Abstract Aggregation Builder. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/BucketAggregationBuilder.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/BucketAggregationBuilder.java similarity index 81% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/BucketAggregationBuilder.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/BucketAggregationBuilder.java index 158a685a312..9f8ffdb4cfe 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/BucketAggregationBuilder.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/BucketAggregationBuilder.java @@ -15,16 +15,16 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation.dsl; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation.dsl; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.ExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.expression.NamedExpression; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.ExpressionSerializer; import com.google.common.collect.ImmutableList; import java.util.List; import org.apache.commons.lang3.tuple.Pair; -import org.elasticsearch.search.aggregations.bucket.composite.CompositeValuesSourceBuilder; -import org.elasticsearch.search.aggregations.bucket.composite.TermsValuesSourceBuilder; -import org.elasticsearch.search.sort.SortOrder; +import org.opensearch.search.aggregations.bucket.composite.CompositeValuesSourceBuilder; +import org.opensearch.search.aggregations.bucket.composite.TermsValuesSourceBuilder; +import org.opensearch.search.sort.SortOrder; /** * Bucket Aggregation Builder. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/MetricAggregationBuilder.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/MetricAggregationBuilder.java similarity index 86% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/MetricAggregationBuilder.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/MetricAggregationBuilder.java index 0e19ae2fa9a..12c68c0be6a 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/MetricAggregationBuilder.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/MetricAggregationBuilder.java @@ -15,23 +15,23 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation.dsl; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation.dsl; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter.FilterQueryBuilder; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.ExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.ExpressionNodeVisitor; import com.amazon.opendistroforelasticsearch.sql.expression.LiteralExpression; import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.NamedAggregator; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter.FilterQueryBuilder; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.ExpressionSerializer; import java.util.List; -import org.elasticsearch.search.aggregations.AggregationBuilder; -import org.elasticsearch.search.aggregations.AggregationBuilders; -import org.elasticsearch.search.aggregations.AggregatorFactories; -import org.elasticsearch.search.aggregations.bucket.filter.FilterAggregationBuilder; -import org.elasticsearch.search.aggregations.support.ValuesSourceAggregationBuilder; +import org.opensearch.search.aggregations.AggregationBuilder; +import org.opensearch.search.aggregations.AggregationBuilders; +import org.opensearch.search.aggregations.AggregatorFactories; +import org.opensearch.search.aggregations.bucket.filter.FilterAggregationBuilder; +import org.opensearch.search.aggregations.support.ValuesSourceAggregationBuilder; /** * Build the Metric Aggregation from {@link NamedAggregator}. @@ -98,7 +98,7 @@ private AggregationBuilder make(ValuesSourceAggregationBuilder builder, } /** - * Replace star or literal with Elasticsearch metadata field "_index". Because: + * Replace star or literal with OpenSearch metadata field "_index". Because: * 1) Analyzer already converts * to string literal, literal check here can handle * both COUNT(*) and COUNT(1). * 2) Value count aggregation on _index counts all docs (after filter), therefore diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/core/ExpressionScript.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/core/ExpressionScript.java similarity index 88% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/core/ExpressionScript.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/core/ExpressionScript.java index 9087ef3d5f3..f0360c3ca96 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/core/ExpressionScript.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/core/ExpressionScript.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.core; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.core; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.FLOAT; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; @@ -23,12 +23,12 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.ScriptUtils; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.ExpressionNodeVisitor; import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; import com.amazon.opendistroforelasticsearch.sql.expression.env.Environment; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.ScriptUtils; import java.security.AccessController; import java.security.PrivilegedAction; import java.time.chrono.ChronoZonedDateTime; @@ -39,7 +39,7 @@ import java.util.function.BiFunction; import java.util.function.Supplier; import lombok.EqualsAndHashCode; -import org.elasticsearch.index.fielddata.ScriptDocValues; +import org.opensearch.index.fielddata.ScriptDocValues; /** * Expression script executor that executes the expression on each document @@ -57,7 +57,7 @@ public class ExpressionScript { * ElasticsearchExprValueFactory. */ @EqualsAndHashCode.Exclude - private final ElasticsearchExprValueFactory valueFactory; + private final OpenSearchExprValueFactory valueFactory; /** * Reference Fields. @@ -74,7 +74,7 @@ public ExpressionScript(Expression expression) { extractFields(expression)); this.valueFactory = AccessController.doPrivileged( - (PrivilegedAction) () -> buildValueFactory(fields)); + (PrivilegedAction) () -> buildValueFactory(fields)); } /** @@ -107,16 +107,16 @@ public Object visitReference(ReferenceExpression node, Set return fields; } - private ElasticsearchExprValueFactory buildValueFactory(Set fields) { + private OpenSearchExprValueFactory buildValueFactory(Set fields) { Map typeEnv = fields.stream() .collect(toMap( ReferenceExpression::getAttr, ReferenceExpression::type)); - return new ElasticsearchExprValueFactory(typeEnv); + return new OpenSearchExprValueFactory(typeEnv); } private Environment buildValueEnv( - Set fields, ElasticsearchExprValueFactory valueFactory, + Set fields, OpenSearchExprValueFactory valueFactory, Supplier>> docProvider) { Map valueEnv = new HashMap<>(); diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScript.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScript.java similarity index 89% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScript.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScript.java index 315a6068a41..ff0bca9e79a 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScript.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScript.java @@ -14,19 +14,19 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprBooleanValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.core.ExpressionScript; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.env.Environment; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.core.ExpressionScript; import java.util.Map; import lombok.EqualsAndHashCode; import org.apache.lucene.index.LeafReaderContext; -import org.elasticsearch.script.FilterScript; -import org.elasticsearch.search.lookup.SearchLookup; +import org.opensearch.script.FilterScript; +import org.opensearch.search.lookup.SearchLookup; /** * Expression script executor that executes the expression on each document diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScriptFactory.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScriptFactory.java similarity index 88% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScriptFactory.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScriptFactory.java index b47ae0740eb..cf2f398faf1 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScriptFactory.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScriptFactory.java @@ -14,13 +14,13 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import java.util.Map; import lombok.EqualsAndHashCode; -import org.elasticsearch.script.FilterScript; -import org.elasticsearch.search.lookup.SearchLookup; +import org.opensearch.script.FilterScript; +import org.opensearch.search.lookup.SearchLookup; /** * Expression script factory that generates leaf factory. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScriptLeafFactory.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScriptLeafFactory.java similarity index 89% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScriptLeafFactory.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScriptLeafFactory.java index f34b7650a62..cc9fa63efe0 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScriptLeafFactory.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScriptLeafFactory.java @@ -14,13 +14,13 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import java.util.Map; import org.apache.lucene.index.LeafReaderContext; -import org.elasticsearch.script.FilterScript; -import org.elasticsearch.search.lookup.SearchLookup; +import org.opensearch.script.FilterScript; +import org.opensearch.search.lookup.SearchLookup; /** * Expression script leaf factory that produces script executor for each leaf. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/FilterQueryBuilder.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/FilterQueryBuilder.java similarity index 72% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/FilterQueryBuilder.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/FilterQueryBuilder.java index 4cc8be35126..caa36615526 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/FilterQueryBuilder.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/FilterQueryBuilder.java @@ -14,35 +14,32 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.ExpressionScriptEngine.EXPRESSION_LANG_NAME; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.ExpressionScriptEngine.EXPRESSION_LANG_NAME; import static java.util.Collections.emptyMap; -import static org.elasticsearch.script.Script.DEFAULT_SCRIPT_TYPE; +import static org.opensearch.script.Script.DEFAULT_SCRIPT_TYPE; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter.lucene.LuceneQuery; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter.lucene.RangeQuery; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter.lucene.RangeQuery.Comparison; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter.lucene.TermQuery; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter.lucene.WildcardQuery; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.ExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.ExpressionNodeVisitor; import com.amazon.opendistroforelasticsearch.sql.expression.FunctionExpression; import com.amazon.opendistroforelasticsearch.sql.expression.function.BuiltinFunctionName; import com.amazon.opendistroforelasticsearch.sql.expression.function.FunctionName; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter.lucene.LuceneQuery; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter.lucene.RangeQuery; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter.lucene.RangeQuery.Comparison; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter.lucene.TermQuery; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter.lucene.WildcardQuery; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.ExpressionSerializer; import com.google.common.collect.ImmutableMap; import java.util.Map; import java.util.function.BiFunction; import lombok.RequiredArgsConstructor; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.index.query.ScriptQueryBuilder; -import org.elasticsearch.script.Script; -import org.elasticsearch.search.sort.FieldSortBuilder; -import org.elasticsearch.search.sort.SortBuilder; -import org.elasticsearch.search.sort.SortBuilders; +import org.opensearch.index.query.BoolQueryBuilder; +import org.opensearch.index.query.QueryBuilder; +import org.opensearch.index.query.QueryBuilders; +import org.opensearch.index.query.ScriptQueryBuilder; +import org.opensearch.script.Script; @RequiredArgsConstructor public class FilterQueryBuilder extends ExpressionNodeVisitor { @@ -66,7 +63,7 @@ public class FilterQueryBuilder extends ExpressionNodeVisitor sortOrderMap = new ImmutableMap.Builder() @@ -43,7 +43,7 @@ public class SortQueryBuilder { .build(); /** - * The mapping between Core Engine null order and Elasticsearch null order. + * The mapping between Core Engine null order and OpenSearch null order. */ private Map missingMap = new ImmutableMap.Builder() diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/serialization/DefaultExpressionSerializer.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/serialization/DefaultExpressionSerializer.java similarity index 95% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/serialization/DefaultExpressionSerializer.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/serialization/DefaultExpressionSerializer.java index 7697973cd41..02555803067 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/serialization/DefaultExpressionSerializer.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/serialization/DefaultExpressionSerializer.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import java.io.ByteArrayInputStream; diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/serialization/ExpressionSerializer.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/serialization/ExpressionSerializer.java similarity index 92% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/serialization/ExpressionSerializer.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/serialization/ExpressionSerializer.java index fcf101c639b..7cfc0b1f42a 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/serialization/ExpressionSerializer.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/serialization/ExpressionSerializer.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndex.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndex.java similarity index 59% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndex.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndex.java index ad703aeb3b8..13afe289d02 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndex.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndex.java @@ -15,15 +15,15 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.system; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.system; import static com.amazon.opendistroforelasticsearch.sql.utils.SystemIndexUtils.systemTable; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.system.ElasticsearchCatIndicesRequest; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.system.ElasticsearchDescribeIndexRequest; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.system.ElasticsearchSystemRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.system.OpenSearchCatIndicesRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.system.OpenSearchDescribeIndexRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.system.OpenSearchSystemRequest; import com.amazon.opendistroforelasticsearch.sql.planner.DefaultImplementor; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalRelation; @@ -36,16 +36,16 @@ import org.apache.commons.lang3.tuple.Pair; /** - * Elasticsearch System Index Table Implementation. + * OpenSearch System Index Table Implementation. */ -public class ElasticsearchSystemIndex implements Table { +public class OpenSearchSystemIndex implements Table { /** * System Index Name. */ - private final Pair systemIndexBundle; + private final Pair systemIndexBundle; - public ElasticsearchSystemIndex( - ElasticsearchClient client, String indexName) { + public OpenSearchSystemIndex( + OpenSearchClient client, String indexName) { this.systemIndexBundle = buildIndexBundle(client, indexName); } @@ -56,17 +56,17 @@ public Map getFieldTypes() { @Override public PhysicalPlan implement(LogicalPlan plan) { - return plan.accept(new ElasticsearchSystemIndexDefaultImplementor(), null); + return plan.accept(new OpenSearchSystemIndexDefaultImplementor(), null); } @VisibleForTesting @RequiredArgsConstructor - public class ElasticsearchSystemIndexDefaultImplementor + public class OpenSearchSystemIndexDefaultImplementor extends DefaultImplementor { @Override public PhysicalPlan visitRelation(LogicalRelation node, Object context) { - return new ElasticsearchSystemIndexScan(systemIndexBundle.getRight()); + return new OpenSearchSystemIndexScan(systemIndexBundle.getRight()); } } @@ -75,15 +75,15 @@ public PhysicalPlan visitRelation(LogicalRelation node, Object context) { * * @param indexName index name; */ - private Pair buildIndexBundle( - ElasticsearchClient client, String indexName) { + private Pair buildIndexBundle( + OpenSearchClient client, String indexName) { SystemIndexUtils.SystemTable systemTable = systemTable(indexName); if (systemTable.isSystemInfoTable()) { - return Pair.of(ElasticsearchSystemIndexSchema.SYS_TABLE_TABLES, - new ElasticsearchCatIndicesRequest(client)); + return Pair.of(OpenSearchSystemIndexSchema.SYS_TABLE_TABLES, + new OpenSearchCatIndicesRequest(client)); } else { - return Pair.of(ElasticsearchSystemIndexSchema.SYS_TABLE_MAPPINGS, - new ElasticsearchDescribeIndexRequest(client, systemTable.getTableName())); + return Pair.of(OpenSearchSystemIndexSchema.SYS_TABLE_MAPPINGS, + new OpenSearchDescribeIndexRequest(client, systemTable.getTableName())); } } } diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndexScan.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndexScan.java similarity index 79% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndexScan.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndexScan.java index 30f6f5f30be..1d4e4d017ba 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndexScan.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndexScan.java @@ -15,10 +15,10 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.system; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.system; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.system.ElasticsearchSystemRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.system.OpenSearchSystemRequest; import com.amazon.opendistroforelasticsearch.sql.storage.TableScanOperator; import java.util.Iterator; import lombok.EqualsAndHashCode; @@ -26,16 +26,16 @@ import lombok.ToString; /** - * Elasticsearch index scan operator. + * OpenSearch index scan operator. */ @RequiredArgsConstructor @EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = false) @ToString(onlyExplicitlyIncluded = true) -public class ElasticsearchSystemIndexScan extends TableScanOperator { +public class OpenSearchSystemIndexScan extends TableScanOperator { /** - * Elasticsearch client. + * OpenSearch client. */ - private final ElasticsearchSystemRequest request; + private final OpenSearchSystemRequest request; /** * Search response for current batch. diff --git a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndexSchema.java b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndexSchema.java similarity index 95% rename from elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndexSchema.java rename to opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndexSchema.java index a7e56470d88..d0d66466954 100644 --- a/elasticsearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndexSchema.java +++ b/opensearch/src/main/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndexSchema.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.system; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.system; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; @@ -31,7 +31,7 @@ */ @Getter @RequiredArgsConstructor -public enum ElasticsearchSystemIndexSchema { +public enum OpenSearchSystemIndexSchema { SYS_TABLE_TABLES(new LinkedHashMap() {{ put("TABLE_CAT", STRING); diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchNodeClientTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchNodeClientTest.java similarity index 76% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchNodeClientTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchNodeClientTest.java index fc936b53ad8..0d22a71eca4 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchNodeClientTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchNodeClientTest.java @@ -14,9 +14,9 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.client; +package com.amazon.opendistroforelasticsearch.sql.opensearch.client; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient.META_CLUSTER_NAME; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient.META_CLUSTER_NAME; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -32,10 +32,10 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprIntegerValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprTupleValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.mapping.IndexMapping; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.ElasticsearchScrollRequest; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.ElasticsearchResponse; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.mapping.IndexMapping; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.OpenSearchScrollRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.OpenSearchResponse; import com.google.common.base.Charsets; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSortedMap; @@ -48,37 +48,37 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; import org.apache.lucene.search.TotalHits; -import org.elasticsearch.action.admin.indices.get.GetIndexResponse; -import org.elasticsearch.action.search.ClearScrollRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.cluster.ClusterName; -import org.elasticsearch.cluster.ClusterState; -import org.elasticsearch.cluster.metadata.AliasMetadata; -import org.elasticsearch.cluster.metadata.IndexAbstraction; -import org.elasticsearch.cluster.metadata.IndexMetadata; -import org.elasticsearch.cluster.metadata.MappingMetadata; -import org.elasticsearch.cluster.metadata.Metadata; -import org.elasticsearch.cluster.service.ClusterService; -import org.elasticsearch.common.collect.ImmutableOpenMap; -import org.elasticsearch.common.util.concurrent.ThreadContext; -import org.elasticsearch.common.xcontent.DeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.index.IndexNotFoundException; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.threadpool.ThreadPool; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InOrder; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.action.admin.indices.get.GetIndexResponse; +import org.opensearch.action.search.ClearScrollRequestBuilder; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.node.NodeClient; +import org.opensearch.cluster.ClusterName; +import org.opensearch.cluster.ClusterState; +import org.opensearch.cluster.metadata.AliasMetadata; +import org.opensearch.cluster.metadata.IndexAbstraction; +import org.opensearch.cluster.metadata.IndexMetadata; +import org.opensearch.cluster.metadata.MappingMetadata; +import org.opensearch.cluster.metadata.Metadata; +import org.opensearch.cluster.service.ClusterService; +import org.opensearch.common.collect.ImmutableOpenMap; +import org.opensearch.common.util.concurrent.ThreadContext; +import org.opensearch.common.xcontent.DeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.index.IndexNotFoundException; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; +import org.opensearch.threadpool.ThreadPool; @ExtendWith(MockitoExtension.class) -class ElasticsearchNodeClientTest { +class OpenSearchNodeClientTest { private static final String TEST_MAPPING_FILE = "mappings/accounts.json"; @@ -86,7 +86,7 @@ class ElasticsearchNodeClientTest { private NodeClient nodeClient; @Mock - private ElasticsearchExprValueFactory factory; + private OpenSearchExprValueFactory factory; @Mock private SearchHit searchHit; @@ -105,7 +105,7 @@ public void getIndexMappings() throws IOException { URL url = Resources.getResource(TEST_MAPPING_FILE); String mappings = Resources.toString(url, Charsets.UTF_8); String indexName = "test"; - ElasticsearchNodeClient client = mockClient(indexName, mappings); + OpenSearchNodeClient client = mockClient(indexName, mappings); Map indexMappings = client.getIndexMappings(indexName); assertEquals(1, indexMappings.size()); @@ -135,7 +135,7 @@ public void getIndexMappings() throws IOException { @Test public void getIndexMappingsWithEmptyMapping() { String indexName = "test"; - ElasticsearchNodeClient client = mockClient(indexName, ""); + OpenSearchNodeClient client = mockClient(indexName, ""); Map indexMappings = client.getIndexMappings(indexName); assertEquals(1, indexMappings.size()); @@ -147,15 +147,15 @@ public void getIndexMappingsWithEmptyMapping() { public void getIndexMappingsWithIOException() { String indexName = "test"; ClusterService clusterService = mockClusterService(indexName, new IOException()); - ElasticsearchNodeClient client = new ElasticsearchNodeClient(clusterService, nodeClient); + OpenSearchNodeClient client = new OpenSearchNodeClient(clusterService, nodeClient); assertThrows(IllegalStateException.class, () -> client.getIndexMappings(indexName)); } @Test public void getIndexMappingsWithNonExistIndex() { - ElasticsearchNodeClient client = - new ElasticsearchNodeClient(mockClusterService("test"), nodeClient); + OpenSearchNodeClient client = + new OpenSearchNodeClient(mockClusterService("test"), nodeClient); assertThrows(IndexNotFoundException.class, () -> client.getIndexMappings("non_exist_index")); } @@ -163,13 +163,13 @@ public void getIndexMappingsWithNonExistIndex() { /** Jacoco enforce this constant lambda be tested. */ @Test public void testAllFieldsPredicate() { - assertTrue(ElasticsearchNodeClient.ALL_FIELDS.apply("any_index").test("any_field")); + assertTrue(OpenSearchNodeClient.ALL_FIELDS.apply("any_index").test("any_field")); } @Test public void search() { - ElasticsearchNodeClient client = - new ElasticsearchNodeClient(mock(ClusterService.class), nodeClient); + OpenSearchNodeClient client = + new OpenSearchNodeClient(mock(ClusterService.class), nodeClient); // Mock first scroll request SearchResponse searchResponse = mock(SearchResponse.class); @@ -191,8 +191,8 @@ public void search() { when(scrollResponse.getHits()).thenReturn(SearchHits.empty()); // Verify response for first scroll request - ElasticsearchScrollRequest request = new ElasticsearchScrollRequest("test", factory); - ElasticsearchResponse response1 = client.search(request); + OpenSearchScrollRequest request = new OpenSearchScrollRequest("test", factory); + OpenSearchResponse response1 = client.search(request); assertFalse(response1.isEmpty()); Iterator hits = response1.iterator(); @@ -201,7 +201,7 @@ public void search() { assertFalse(hits.hasNext()); // Verify response for second scroll request - ElasticsearchResponse response2 = client.search(request); + OpenSearchResponse response2 = client.search(request); assertTrue(response2.isEmpty()); } @@ -220,8 +220,8 @@ void schedule() { .when(threadPool) .schedule(any(), any(), any()); - ElasticsearchNodeClient client = - new ElasticsearchNodeClient(mock(ClusterService.class), nodeClient); + OpenSearchNodeClient client = + new OpenSearchNodeClient(mock(ClusterService.class), nodeClient); AtomicBoolean isRun = new AtomicBoolean(false); client.schedule(() -> isRun.set(true)); assertTrue(isRun.get()); @@ -234,9 +234,9 @@ void cleanup() { when(requestBuilder.addScrollId(any())).thenReturn(requestBuilder); when(requestBuilder.get()).thenReturn(null); - ElasticsearchNodeClient client = - new ElasticsearchNodeClient(mock(ClusterService.class), nodeClient); - ElasticsearchScrollRequest request = new ElasticsearchScrollRequest("test", factory); + OpenSearchNodeClient client = + new OpenSearchNodeClient(mock(ClusterService.class), nodeClient); + OpenSearchScrollRequest request = new OpenSearchScrollRequest("test", factory); request.setScrollId("scroll123"); client.cleanup(request); assertFalse(request.isScrollStarted()); @@ -249,10 +249,10 @@ void cleanup() { @Test void cleanupWithoutScrollId() { - ElasticsearchNodeClient client = - new ElasticsearchNodeClient(mock(ClusterService.class), nodeClient); + OpenSearchNodeClient client = + new OpenSearchNodeClient(mock(ClusterService.class), nodeClient); - ElasticsearchScrollRequest request = new ElasticsearchScrollRequest("test", factory); + OpenSearchScrollRequest request = new OpenSearchScrollRequest("test", factory); client.cleanup(request); verify(nodeClient, never()).prepareClearScroll(); } @@ -271,8 +271,8 @@ void getIndices() { when(indexResponse.getIndices()).thenReturn(new String[] {"index"}); when(indexResponse.aliases()).thenReturn(openMap); - ElasticsearchNodeClient client = - new ElasticsearchNodeClient(mock(ClusterService.class), nodeClient); + OpenSearchNodeClient client = + new OpenSearchNodeClient(mock(ClusterService.class), nodeClient); final List indices = client.indices(); assertEquals(2, indices.size()); } @@ -284,15 +284,15 @@ void meta() { when(clusterName.value()).thenReturn("cluster-name"); when(mockService.getClusterName()).thenReturn(clusterName); - ElasticsearchNodeClient client = - new ElasticsearchNodeClient(mockService, nodeClient); + OpenSearchNodeClient client = + new OpenSearchNodeClient(mockService, nodeClient); final Map meta = client.meta(); assertEquals("cluster-name", meta.get(META_CLUSTER_NAME)); } - private ElasticsearchNodeClient mockClient(String indexName, String mappings) { + private OpenSearchNodeClient mockClient(String indexName, String mappings) { ClusterService clusterService = mockClusterService(indexName, mappings); - return new ElasticsearchNodeClient(clusterService, nodeClient); + return new OpenSearchNodeClient(clusterService, nodeClient); } /** Mock getAliasAndIndexLookup() only for index name resolve test. */ diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchRestClientTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchRestClientTest.java similarity index 79% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchRestClientTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchRestClientTest.java index 725f9a34baa..3ece8776040 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/client/ElasticsearchRestClientTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/client/OpenSearchRestClientTest.java @@ -14,9 +14,9 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.client; +package com.amazon.opendistroforelasticsearch.sql.opensearch.client; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient.META_CLUSTER_NAME; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient.META_CLUSTER_NAME; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -31,10 +31,10 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprIntegerValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprTupleValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.mapping.IndexMapping; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.ElasticsearchScrollRequest; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.ElasticsearchResponse; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.mapping.IndexMapping; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.OpenSearchScrollRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.OpenSearchResponse; import com.google.common.base.Charsets; import com.google.common.collect.ImmutableMap; import com.google.common.io.Resources; @@ -45,41 +45,41 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; import org.apache.lucene.search.TotalHits; -import org.elasticsearch.action.admin.cluster.settings.ClusterGetSettingsResponse; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.RestHighLevelClient; -import org.elasticsearch.client.indices.GetIndexRequest; -import org.elasticsearch.client.indices.GetIndexResponse; -import org.elasticsearch.client.indices.GetMappingsRequest; -import org.elasticsearch.client.indices.GetMappingsResponse; -import org.elasticsearch.cluster.metadata.IndexMetadata; -import org.elasticsearch.cluster.metadata.MappingMetadata; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.xcontent.DeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.action.admin.cluster.settings.ClusterGetSettingsResponse; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.client.RequestOptions; +import org.opensearch.client.RestHighLevelClient; +import org.opensearch.client.indices.GetIndexRequest; +import org.opensearch.client.indices.GetIndexResponse; +import org.opensearch.client.indices.GetMappingsRequest; +import org.opensearch.client.indices.GetMappingsResponse; +import org.opensearch.cluster.metadata.IndexMetadata; +import org.opensearch.cluster.metadata.MappingMetadata; +import org.opensearch.common.settings.Settings; +import org.opensearch.common.xcontent.DeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; @ExtendWith(MockitoExtension.class) -class ElasticsearchRestClientTest { +class OpenSearchRestClientTest { private static final String TEST_MAPPING_FILE = "mappings/accounts.json"; @Mock(answer = RETURNS_DEEP_STUBS) private RestHighLevelClient restClient; - private ElasticsearchRestClient client; + private OpenSearchRestClient client; @Mock - private ElasticsearchExprValueFactory factory; + private OpenSearchExprValueFactory factory; @Mock private SearchHit searchHit; @@ -92,7 +92,7 @@ class ElasticsearchRestClientTest { @BeforeEach void setUp() { - client = new ElasticsearchRestClient(restClient); + client = new OpenSearchRestClient(restClient); } @Test @@ -160,8 +160,8 @@ void search() throws IOException { when(scrollResponse.getHits()).thenReturn(SearchHits.empty()); // Verify response for first scroll request - ElasticsearchScrollRequest request = new ElasticsearchScrollRequest("test", factory); - ElasticsearchResponse response1 = client.search(request); + OpenSearchScrollRequest request = new OpenSearchScrollRequest("test", factory); + OpenSearchResponse response1 = client.search(request); assertFalse(response1.isEmpty()); Iterator hits = response1.iterator(); @@ -170,7 +170,7 @@ void search() throws IOException { assertFalse(hits.hasNext()); // Verify response for second scroll request - ElasticsearchResponse response2 = client.search(request); + OpenSearchResponse response2 = client.search(request); assertTrue(response2.isEmpty()); } @@ -179,7 +179,7 @@ void searchWithIOException() throws IOException { when(restClient.search(any(), any())).thenThrow(new IOException()); assertThrows( IllegalStateException.class, - () -> client.search(new ElasticsearchScrollRequest("test", factory))); + () -> client.search(new OpenSearchScrollRequest("test", factory))); } @Test @@ -199,7 +199,7 @@ void scrollWithIOException() throws IOException { when(restClient.scroll(any(), any())).thenThrow(new IOException()); // First request run successfully - ElasticsearchScrollRequest scrollRequest = new ElasticsearchScrollRequest("test", factory); + OpenSearchScrollRequest scrollRequest = new OpenSearchScrollRequest("test", factory); client.search(scrollRequest); assertThrows( IllegalStateException.class, () -> client.search(scrollRequest)); @@ -217,7 +217,7 @@ void schedule() { @Test void cleanup() throws IOException { - ElasticsearchScrollRequest request = new ElasticsearchScrollRequest("test", factory); + OpenSearchScrollRequest request = new OpenSearchScrollRequest("test", factory); request.setScrollId("scroll123"); client.cleanup(request); verify(restClient).clearScroll(any(), any()); @@ -226,7 +226,7 @@ void cleanup() throws IOException { @Test void cleanupWithoutScrollId() throws IOException { - ElasticsearchScrollRequest request = new ElasticsearchScrollRequest("test", factory); + OpenSearchScrollRequest request = new OpenSearchScrollRequest("test", factory); client.cleanup(request); verify(restClient, never()).clearScroll(any(), any()); } @@ -235,7 +235,7 @@ void cleanupWithoutScrollId() throws IOException { void cleanupWithIOException() throws IOException { when(restClient.clearScroll(any(), any())).thenThrow(new IOException()); - ElasticsearchScrollRequest request = new ElasticsearchScrollRequest("test", factory); + OpenSearchScrollRequest request = new OpenSearchScrollRequest("test", factory); request.setScrollId("scroll123"); assertThrows(IllegalStateException.class, () -> client.cleanup(request)); } @@ -266,7 +266,7 @@ void meta() throws IOException { when(settingsResponse.getDefaultSettings()).thenReturn(defaultSettings); final Map meta = client.meta(); - assertEquals("elasticsearch", meta.get(META_CLUSTER_NAME)); + assertEquals("opensearch", meta.get(META_CLUSTER_NAME)); } @Test diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/type/ElasticsearchDataTypeTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/type/OpenSearchDataTypeTest.java similarity index 56% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/type/ElasticsearchDataTypeTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/type/OpenSearchDataTypeTest.java index 9ad0e17fd6f..f68c1194cc7 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/type/ElasticsearchDataTypeTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/type/OpenSearchDataTypeTest.java @@ -15,36 +15,36 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.type; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT_KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; -class ElasticsearchDataTypeTest { +class OpenSearchDataTypeTest { @Test public void testIsCompatible() { - assertTrue(STRING.isCompatible(ES_TEXT)); - assertFalse(ES_TEXT.isCompatible(STRING)); + assertTrue(STRING.isCompatible(OPENSEARCH_TEXT)); + assertFalse(OPENSEARCH_TEXT.isCompatible(STRING)); - assertTrue(STRING.isCompatible(ES_TEXT_KEYWORD)); - assertTrue(ES_TEXT.isCompatible(ES_TEXT_KEYWORD)); + assertTrue(STRING.isCompatible(OPENSEARCH_TEXT_KEYWORD)); + assertTrue(OPENSEARCH_TEXT.isCompatible(OPENSEARCH_TEXT_KEYWORD)); } @Test public void testTypeName() { - assertEquals("string", ES_TEXT.typeName()); - assertEquals("string", ES_TEXT_KEYWORD.typeName()); + assertEquals("string", OPENSEARCH_TEXT.typeName()); + assertEquals("string", OPENSEARCH_TEXT_KEYWORD.typeName()); } @Test public void legacyTypeName() { - assertEquals("text", ES_TEXT.legacyTypeName()); - assertEquals("text", ES_TEXT_KEYWORD.legacyTypeName()); + assertEquals("text", OPENSEARCH_TEXT.legacyTypeName()); + assertEquals("text", OPENSEARCH_TEXT_KEYWORD.legacyTypeName()); } } \ No newline at end of file diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprBinaryValueTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprBinaryValueTest.java similarity index 54% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprBinaryValueTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprBinaryValueTest.java index ad5ca8a0977..d0c14f3e7ec 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprBinaryValueTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprBinaryValueTest.java @@ -13,43 +13,43 @@ * permissions and limitations under the License. */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_BINARY; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_BINARY; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; -public class ElasticsearchExprBinaryValueTest { +public class OpenSearchExprBinaryValueTest { @Test public void compare() { assertEquals( 0, - new ElasticsearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg==") - .compare(new ElasticsearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg=="))); + new OpenSearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg==") + .compare(new OpenSearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg=="))); } @Test public void equal() { - ElasticsearchExprBinaryValue value = - new ElasticsearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg=="); - assertTrue(value.equal(new ElasticsearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg=="))); + OpenSearchExprBinaryValue value = + new OpenSearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg=="); + assertTrue(value.equal(new OpenSearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg=="))); } @Test public void value() { - ElasticsearchExprBinaryValue value = - new ElasticsearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg=="); + OpenSearchExprBinaryValue value = + new OpenSearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg=="); assertEquals("U29tZSBiaW5hcnkgYmxvYg==", value.value()); } @Test public void type() { - ElasticsearchExprBinaryValue value = - new ElasticsearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg=="); - assertEquals(ES_BINARY, value.type()); + OpenSearchExprBinaryValue value = + new OpenSearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg=="); + assertEquals(OPENSEARCH_BINARY, value.type()); } } diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprGeoPointValueTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprGeoPointValueTest.java similarity index 62% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprGeoPointValueTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprGeoPointValueTest.java index e63bfe64346..6357656217d 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprGeoPointValueTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprGeoPointValueTest.java @@ -15,38 +15,38 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_GEO_POINT; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_GEO_POINT; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; -class ElasticsearchExprGeoPointValueTest { +class OpenSearchExprGeoPointValueTest { - private ElasticsearchExprGeoPointValue geoPointValue = new ElasticsearchExprGeoPointValue(1.0, + private OpenSearchExprGeoPointValue geoPointValue = new OpenSearchExprGeoPointValue(1.0, 1.0); @Test void value() { - assertEquals(new ElasticsearchExprGeoPointValue.GeoPoint(1.0, 1.0), geoPointValue.value()); + assertEquals(new OpenSearchExprGeoPointValue.GeoPoint(1.0, 1.0), geoPointValue.value()); } @Test void type() { - assertEquals(ES_GEO_POINT, geoPointValue.type()); + assertEquals(OPENSEARCH_GEO_POINT, geoPointValue.type()); } @Test void compare() { - assertEquals(0, geoPointValue.compareTo(new ElasticsearchExprGeoPointValue(1.0, 1.0))); + assertEquals(0, geoPointValue.compareTo(new OpenSearchExprGeoPointValue(1.0, 1.0))); } @Test void equal() { - assertTrue(geoPointValue.equal(new ElasticsearchExprGeoPointValue(1.0, + assertTrue(geoPointValue.equal(new OpenSearchExprGeoPointValue(1.0, 1.0))); } diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprIpValueTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprIpValueTest.java similarity index 67% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprIpValueTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprIpValueTest.java index 256de743a59..01b19c5aa17 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprIpValueTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprIpValueTest.java @@ -15,18 +15,18 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_IP; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_IP; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; -public class ElasticsearchExprIpValueTest { +public class OpenSearchExprIpValueTest { - private ElasticsearchExprIpValue ipValue = new ElasticsearchExprIpValue("192.168.0.1"); + private OpenSearchExprIpValue ipValue = new OpenSearchExprIpValue("192.168.0.1"); @Test void value() { @@ -35,17 +35,17 @@ void value() { @Test void type() { - assertEquals(ES_IP, ipValue.type()); + assertEquals(OPENSEARCH_IP, ipValue.type()); } @Test void compare() { - assertEquals(0, ipValue.compareTo(new ElasticsearchExprIpValue("192.168.0.1"))); + assertEquals(0, ipValue.compareTo(new OpenSearchExprIpValue("192.168.0.1"))); } @Test void equal() { - assertTrue(ipValue.equal(new ElasticsearchExprIpValue("192.168.0.1"))); + assertTrue(ipValue.equal(new OpenSearchExprIpValue("192.168.0.1"))); } @Test diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprTextKeywordValueTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprTextKeywordValueTest.java similarity index 70% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprTextKeywordValueTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprTextKeywordValueTest.java index d52e0459c83..c40b6681dcd 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprTextKeywordValueTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprTextKeywordValueTest.java @@ -14,18 +14,18 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT_KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; -class ElasticsearchExprTextKeywordValueTest { +class OpenSearchExprTextKeywordValueTest { @Test public void testTypeOfExprTextKeywordValue() { - assertEquals(ES_TEXT_KEYWORD, new ElasticsearchExprTextKeywordValue("A").type()); + assertEquals(OPENSEARCH_TEXT_KEYWORD, new OpenSearchExprTextKeywordValue("A").type()); } } \ No newline at end of file diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprTextValueTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprTextValueTest.java similarity index 72% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprTextValueTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprTextValueTest.java index 2336cc9671f..bfb44597002 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprTextValueTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprTextValueTest.java @@ -15,16 +15,16 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; -class ElasticsearchExprTextValueTest { +class OpenSearchExprTextValueTest { @Test public void typeOfExprTextValue() { - assertEquals(ES_TEXT, new ElasticsearchExprTextValue("A").type()); + assertEquals(OPENSEARCH_TEXT, new OpenSearchExprTextValue("A").type()); } } \ No newline at end of file diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprValueFactoryTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprValueFactoryTest.java similarity index 87% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprValueFactoryTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprValueFactoryTest.java index badf6afb578..4a0354841b9 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/data/value/ElasticsearchExprValueFactoryTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/data/value/OpenSearchExprValueFactoryTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value; +package com.amazon.opendistroforelasticsearch.sql.opensearch.data.value; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.booleanValue; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.byteValue; @@ -40,11 +40,11 @@ import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRUCT; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.TIME; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.TIMESTAMP; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_BINARY; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_GEO_POINT; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_IP; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT_KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_BINARY; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_GEO_POINT; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_IP; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -57,7 +57,7 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprTupleValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.utils.ElasticsearchJsonContent; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.utils.OpenSearchJsonContent; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import java.time.Instant; @@ -67,7 +67,7 @@ import lombok.ToString; import org.junit.jupiter.api.Test; -class ElasticsearchExprValueFactoryTest { +class OpenSearchExprValueFactoryTest { private static final Map MAPPING = new ImmutableMap.Builder() @@ -89,20 +89,20 @@ class ElasticsearchExprValueFactoryTest { .put("arrayV", ARRAY) .put("arrayV.info", STRING) .put("arrayV.author", STRING) - .put("textV", ES_TEXT) - .put("textKeywordV", ES_TEXT_KEYWORD) - .put("ipV", ES_IP) - .put("geoV", ES_GEO_POINT) - .put("binaryV", ES_BINARY) + .put("textV", OPENSEARCH_TEXT) + .put("textKeywordV", OPENSEARCH_TEXT_KEYWORD) + .put("ipV", OPENSEARCH_IP) + .put("geoV", OPENSEARCH_GEO_POINT) + .put("binaryV", OPENSEARCH_BINARY) .build(); - private ElasticsearchExprValueFactory exprValueFactory = - new ElasticsearchExprValueFactory(MAPPING); + private OpenSearchExprValueFactory exprValueFactory = + new OpenSearchExprValueFactory(MAPPING); @Test public void constructNullValue() { assertEquals(nullValue(), tupleValue("{\"intV\":null}").get("intV")); assertEquals(nullValue(), constructFromObject("intV", null)); - assertTrue(new ElasticsearchJsonContent(null).isNull()); + assertTrue(new OpenSearchJsonContent(null).isNull()); } @Test @@ -165,14 +165,14 @@ public void constructBoolean() { @Test public void constructText() { - assertEquals(new ElasticsearchExprTextValue("text"), + assertEquals(new OpenSearchExprTextValue("text"), tupleValue("{\"textV\":\"text\"}").get("textV")); - assertEquals(new ElasticsearchExprTextValue("text"), + assertEquals(new OpenSearchExprTextValue("text"), constructFromObject("textV", "text")); - assertEquals(new ElasticsearchExprTextKeywordValue("text"), + assertEquals(new OpenSearchExprTextKeywordValue("text"), tupleValue("{\"textKeywordV\":\"text\"}").get("textKeywordV")); - assertEquals(new ElasticsearchExprTextKeywordValue("text"), + assertEquals(new OpenSearchExprTextKeywordValue("text"), constructFromObject("textKeywordV", "text")); } @@ -275,17 +275,17 @@ public void constructStruct() { @Test public void constructIP() { - assertEquals(new ElasticsearchExprIpValue("192.168.0.1"), + assertEquals(new OpenSearchExprIpValue("192.168.0.1"), tupleValue("{\"ipV\":\"192.168.0.1\"}").get("ipV")); } @Test public void constructGeoPoint() { - assertEquals(new ElasticsearchExprGeoPointValue(42.60355556, -97.25263889), + assertEquals(new OpenSearchExprGeoPointValue(42.60355556, -97.25263889), tupleValue("{\"geoV\":{\"lat\":42.60355556,\"lon\":-97.25263889}}").get("geoV")); - assertEquals(new ElasticsearchExprGeoPointValue(42.60355556, -97.25263889), + assertEquals(new OpenSearchExprGeoPointValue(42.60355556, -97.25263889), tupleValue("{\"geoV\":{\"lat\":\"42.60355556\",\"lon\":\"-97.25263889\"}}").get("geoV")); - assertEquals(new ElasticsearchExprGeoPointValue(42.60355556, -97.25263889), + assertEquals(new OpenSearchExprGeoPointValue(42.60355556, -97.25263889), constructFromObject("geoV", "42.60355556,-97.25263889")); } @@ -322,16 +322,16 @@ public void constructGeoPointFromUnsupportedFormatShouldThrowException() { @Test public void constructBinary() { - assertEquals(new ElasticsearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg=="), + assertEquals(new OpenSearchExprBinaryValue("U29tZSBiaW5hcnkgYmxvYg=="), tupleValue("{\"binaryV\":\"U29tZSBiaW5hcnkgYmxvYg==\"}").get("binaryV")); } /** - * Return the first element if is Elasticsearch Array. + * Return the first element if is OpenSearch Array. * https://www.elastic.co/guide/en/elasticsearch/reference/current/array.html. */ @Test - public void constructFromElasticsearchArrayReturnFirstElement() { + public void constructFromOpenSearchArrayReturnFirstElement() { assertEquals(integerValue(1), tupleValue("{\"intV\":[1, 2, 3]}").get("intV")); assertEquals(new ExprTupleValue( new LinkedHashMap() { @@ -359,8 +359,8 @@ public void noTypeFoundForMappingThrowException() { @Test public void constructUnsupportedTypeThrowException() { - ElasticsearchExprValueFactory exprValueFactory = - new ElasticsearchExprValueFactory(ImmutableMap.of("type", new TestType())); + OpenSearchExprValueFactory exprValueFactory = + new OpenSearchExprValueFactory(ImmutableMap.of("type", new TestType())); IllegalStateException exception = assertThrows(IllegalStateException.class, () -> exprValueFactory.construct("{\"type\":1}")); assertEquals("Unsupported type: TEST_TYPE for value: 1.", exception.getMessage()); diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/ElasticsearchExecutionEngineTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/OpenSearchExecutionEngineTest.java similarity index 83% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/ElasticsearchExecutionEngineTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/OpenSearchExecutionEngineTest.java index 8859464b139..5d715b241d1 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/ElasticsearchExecutionEngineTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/OpenSearchExecutionEngineTest.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor; +package com.amazon.opendistroforelasticsearch.sql.opensearch.executor; import static com.amazon.opendistroforelasticsearch.sql.common.setting.Settings.Key.QUERY_SIZE_LIMIT; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.tupleValue; @@ -33,12 +33,12 @@ import com.amazon.opendistroforelasticsearch.sql.common.response.ResponseListener; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector.ElasticsearchExecutionProtector; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.ElasticsearchIndexScan; import com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine; import com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine.ExplainResponse; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector.OpenSearchExecutionProtector; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.OpenSearchIndexScan; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlan; import com.amazon.opendistroforelasticsearch.sql.storage.TableScanOperator; import java.util.ArrayList; @@ -54,11 +54,11 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -class ElasticsearchExecutionEngineTest { +class OpenSearchExecutionEngineTest { - @Mock private ElasticsearchClient client; + @Mock private OpenSearchClient client; - @Mock private ElasticsearchExecutionProtector protector; + @Mock private OpenSearchExecutionProtector protector; @Mock private static ExecutionEngine.Schema schema; @@ -83,7 +83,7 @@ void executeSuccessfully() { FakePhysicalPlan plan = new FakePhysicalPlan(expected.iterator()); when(protector.protect(plan)).thenReturn(plan); - ElasticsearchExecutionEngine executor = new ElasticsearchExecutionEngine(client, protector); + OpenSearchExecutionEngine executor = new OpenSearchExecutionEngine(client, protector); List actual = new ArrayList<>(); executor.execute( plan, @@ -111,7 +111,7 @@ void executeWithFailure() { when(plan.hasNext()).thenThrow(expected); when(protector.protect(plan)).thenReturn(plan); - ElasticsearchExecutionEngine executor = new ElasticsearchExecutionEngine(client, protector); + OpenSearchExecutionEngine executor = new OpenSearchExecutionEngine(client, protector); AtomicReference actual = new AtomicReference<>(); executor.execute( plan, @@ -132,11 +132,11 @@ public void onFailure(Exception e) { @Test void explainSuccessfully() { - ElasticsearchExecutionEngine executor = new ElasticsearchExecutionEngine(client, protector); + OpenSearchExecutionEngine executor = new OpenSearchExecutionEngine(client, protector); Settings settings = mock(Settings.class); when(settings.getSettingValue(QUERY_SIZE_LIMIT)).thenReturn(100); - PhysicalPlan plan = new ElasticsearchIndexScan(mock(ElasticsearchClient.class), - settings, "test", mock(ElasticsearchExprValueFactory.class)); + PhysicalPlan plan = new OpenSearchIndexScan(mock(OpenSearchClient.class), + settings, "test", mock(OpenSearchExprValueFactory.class)); AtomicReference result = new AtomicReference<>(); executor.explain(plan, new ResponseListener() { @@ -156,7 +156,7 @@ public void onFailure(Exception e) { @Test void explainWithFailure() { - ElasticsearchExecutionEngine executor = new ElasticsearchExecutionEngine(client, protector); + OpenSearchExecutionEngine executor = new OpenSearchExecutionEngine(client, protector); PhysicalPlan plan = mock(PhysicalPlan.class); when(plan.accept(any(), any())).thenThrow(IllegalStateException.class); diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/ElasticsearchExecutionProtectorTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/OpenSearchExecutionProtectorTest.java similarity index 89% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/ElasticsearchExecutionProtectorTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/OpenSearchExecutionProtectorTest.java index ea2d55b6c10..d737dd53a99 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/ElasticsearchExecutionProtectorTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/OpenSearchExecutionProtectorTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor; +package com.amazon.opendistroforelasticsearch.sql.opensearch.executor; import static com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort.SortOption.DEFAULT_ASC; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.DOUBLE; @@ -37,12 +37,6 @@ import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprBooleanValue; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector.ElasticsearchExecutionProtector; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector.ResourceMonitorPlan; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.setting.ElasticsearchSettings; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.ElasticsearchIndexScan; import com.amazon.opendistroforelasticsearch.sql.expression.DSL; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.NamedExpression; @@ -53,6 +47,12 @@ import com.amazon.opendistroforelasticsearch.sql.expression.window.aggregation.AggregateWindowFunction; import com.amazon.opendistroforelasticsearch.sql.expression.window.ranking.RankFunction; import com.amazon.opendistroforelasticsearch.sql.monitor.ResourceMonitor; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector.OpenSearchExecutionProtector; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector.ResourceMonitorPlan; +import com.amazon.opendistroforelasticsearch.sql.opensearch.setting.OpenSearchSettings; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.OpenSearchIndexScan; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlanDSL; import com.google.common.collect.ImmutableList; @@ -69,25 +69,25 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -class ElasticsearchExecutionProtectorTest { +class OpenSearchExecutionProtectorTest { @Mock - private ElasticsearchClient client; + private OpenSearchClient client; @Mock private ResourceMonitor resourceMonitor; @Mock - private ElasticsearchExprValueFactory exprValueFactory; + private OpenSearchExprValueFactory exprValueFactory; @Mock - private ElasticsearchSettings settings; + private OpenSearchSettings settings; - private ElasticsearchExecutionProtector executionProtector; + private OpenSearchExecutionProtector executionProtector; @BeforeEach public void setup() { - executionProtector = new ElasticsearchExecutionProtector(resourceMonitor); + executionProtector = new OpenSearchExecutionProtector(resourceMonitor); } @Test @@ -129,7 +129,7 @@ public void testProtectIndexScan() { PhysicalPlanDSL.agg( filter( resourceMonitor( - new ElasticsearchIndexScan( + new OpenSearchIndexScan( client, settings, indexName, exprValueFactory)), filterExpr), @@ -157,7 +157,7 @@ public void testProtectIndexScan() { PhysicalPlanDSL.rename( PhysicalPlanDSL.agg( filter( - new ElasticsearchIndexScan( + new OpenSearchIndexScan( client, settings, indexName, exprValueFactory), filterExpr), diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/ResourceMonitorPlanTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/ResourceMonitorPlanTest.java similarity index 94% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/ResourceMonitorPlanTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/ResourceMonitorPlanTest.java index c1fb77fe40b..45b00235d86 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/ResourceMonitorPlanTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/ResourceMonitorPlanTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor; +package com.amazon.opendistroforelasticsearch.sql.opensearch.executor; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -23,8 +23,8 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector.ResourceMonitorPlan; import com.amazon.opendistroforelasticsearch.sql.monitor.ResourceMonitor; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector.ResourceMonitorPlan; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlanNodeVisitor; import org.junit.jupiter.api.BeforeEach; diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/NoopExecutionProtectorTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/NoopExecutionProtectorTest.java similarity index 93% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/NoopExecutionProtectorTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/NoopExecutionProtectorTest.java index e36baf35cf9..b51925c068f 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/executor/protector/NoopExecutionProtectorTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/executor/protector/NoopExecutionProtectorTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector; +package com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector; import static org.junit.jupiter.api.Assertions.assertEquals; diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/mapping/IndexMappingTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/mapping/IndexMappingTest.java similarity index 95% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/mapping/IndexMappingTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/mapping/IndexMappingTest.java index 9dee52341f0..53938f1b7bd 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/mapping/IndexMappingTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/mapping/IndexMappingTest.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.mapping; +package com.amazon.opendistroforelasticsearch.sql.opensearch.mapping; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.aMapWithSize; diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/monitor/ElasticsearchMemoryHealthyTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/monitor/OpenSearchMemoryHealthyTest.java similarity index 68% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/monitor/ElasticsearchMemoryHealthyTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/monitor/OpenSearchMemoryHealthyTest.java index 08aeedf68d1..2e373e50c51 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/monitor/ElasticsearchMemoryHealthyTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/monitor/OpenSearchMemoryHealthyTest.java @@ -13,7 +13,7 @@ * permissions and limitations under the License. */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.monitor; +package com.amazon.opendistroforelasticsearch.sql.opensearch.monitor; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -27,19 +27,19 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -class ElasticsearchMemoryHealthyTest { +class OpenSearchMemoryHealthyTest { @Mock - private ElasticsearchMemoryHealthy.RandomFail randomFail; + private OpenSearchMemoryHealthy.RandomFail randomFail; @Mock - private ElasticsearchMemoryHealthy.MemoryUsage memoryUsage; + private OpenSearchMemoryHealthy.MemoryUsage memoryUsage; - private ElasticsearchMemoryHealthy monitor; + private OpenSearchMemoryHealthy monitor; @BeforeEach public void setup() { - monitor = new ElasticsearchMemoryHealthy(randomFail, memoryUsage); + monitor = new OpenSearchMemoryHealthy(randomFail, memoryUsage); } @Test @@ -54,7 +54,7 @@ void memoryUsageExceedLimitFastFailure() { when(memoryUsage.usage()).thenReturn(10L); when(randomFail.shouldFail()).thenReturn(true); - assertThrows(ElasticsearchMemoryHealthy.MemoryUsageExceedFastFailureException.class, + assertThrows(OpenSearchMemoryHealthy.MemoryUsageExceedFastFailureException.class, () -> monitor.isMemoryHealthy(9L)); } @@ -63,26 +63,26 @@ void memoryUsageExceedLimitWithoutFastFailure() { when(memoryUsage.usage()).thenReturn(10L); when(randomFail.shouldFail()).thenReturn(false); - assertThrows(ElasticsearchMemoryHealthy.MemoryUsageExceedException.class, + assertThrows(OpenSearchMemoryHealthy.MemoryUsageExceedException.class, () -> monitor.isMemoryHealthy(9L)); } @Test - void constructElasticsearchMemoryMonitorWithoutArguments() { - ElasticsearchMemoryHealthy monitor = new ElasticsearchMemoryHealthy(); + void constructOpenSearchMemoryMonitorWithoutArguments() { + OpenSearchMemoryHealthy monitor = new OpenSearchMemoryHealthy(); assertNotNull(monitor); } @Test void randomFail() { - ElasticsearchMemoryHealthy.RandomFail randomFail = new ElasticsearchMemoryHealthy.RandomFail(); + OpenSearchMemoryHealthy.RandomFail randomFail = new OpenSearchMemoryHealthy.RandomFail(); assertNotNull(randomFail.shouldFail()); } @Test void setMemoryUsage() { - ElasticsearchMemoryHealthy.MemoryUsage usage = - new ElasticsearchMemoryHealthy.MemoryUsage(); + OpenSearchMemoryHealthy.MemoryUsage usage = + new OpenSearchMemoryHealthy.MemoryUsage(); assertTrue(usage.usage() > 0); } } \ No newline at end of file diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/monitor/ElasticsearchResourceMonitorTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/monitor/OpenSearchResourceMonitorTest.java similarity index 70% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/monitor/ElasticsearchResourceMonitorTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/monitor/OpenSearchResourceMonitorTest.java index c8a58f34228..b299d207cf8 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/monitor/ElasticsearchResourceMonitorTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/monitor/OpenSearchResourceMonitorTest.java @@ -13,7 +13,7 @@ * permissions and limitations under the License. */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.monitor; +package com.amazon.opendistroforelasticsearch.sql.opensearch.monitor; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -23,21 +23,21 @@ import static org.mockito.Mockito.when; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; -import org.elasticsearch.common.unit.ByteSizeValue; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.common.unit.ByteSizeValue; @ExtendWith(MockitoExtension.class) -class ElasticsearchResourceMonitorTest { +class OpenSearchResourceMonitorTest { @Mock private Settings settings; @Mock - private ElasticsearchMemoryHealthy memoryMonitor; + private OpenSearchMemoryHealthy memoryMonitor; @BeforeEach public void setup() { @@ -49,18 +49,18 @@ public void setup() { void isHealthy() { when(memoryMonitor.isMemoryHealthy(anyLong())).thenReturn(true); - ElasticsearchResourceMonitor resourceMonitor = - new ElasticsearchResourceMonitor(settings, memoryMonitor); + OpenSearchResourceMonitor resourceMonitor = + new OpenSearchResourceMonitor(settings, memoryMonitor); assertTrue(resourceMonitor.isHealthy()); } @Test void notHealthyFastFailure() { when(memoryMonitor.isMemoryHealthy(anyLong())).thenThrow( - ElasticsearchMemoryHealthy.MemoryUsageExceedFastFailureException.class); + OpenSearchMemoryHealthy.MemoryUsageExceedFastFailureException.class); - ElasticsearchResourceMonitor resourceMonitor = - new ElasticsearchResourceMonitor(settings, memoryMonitor); + OpenSearchResourceMonitor resourceMonitor = + new OpenSearchResourceMonitor(settings, memoryMonitor); assertFalse(resourceMonitor.isHealthy()); verify(memoryMonitor, times(1)).isMemoryHealthy(anyLong()); } @@ -68,10 +68,10 @@ void notHealthyFastFailure() { @Test void notHealthyWithRetry() { when(memoryMonitor.isMemoryHealthy(anyLong())).thenThrow( - ElasticsearchMemoryHealthy.MemoryUsageExceedException.class); + OpenSearchMemoryHealthy.MemoryUsageExceedException.class); - ElasticsearchResourceMonitor resourceMonitor = - new ElasticsearchResourceMonitor(settings, memoryMonitor); + OpenSearchResourceMonitor resourceMonitor = + new OpenSearchResourceMonitor(settings, memoryMonitor); assertFalse(resourceMonitor.isHealthy()); verify(memoryMonitor, times(3)).isMemoryHealthy(anyLong()); } @@ -80,10 +80,10 @@ void notHealthyWithRetry() { void healthyWithRetry() { when(memoryMonitor.isMemoryHealthy(anyLong())).thenThrow( - ElasticsearchMemoryHealthy.MemoryUsageExceedException.class).thenReturn(true); + OpenSearchMemoryHealthy.MemoryUsageExceedException.class).thenReturn(true); - ElasticsearchResourceMonitor resourceMonitor = - new ElasticsearchResourceMonitor(settings, memoryMonitor); + OpenSearchResourceMonitor resourceMonitor = + new OpenSearchResourceMonitor(settings, memoryMonitor); assertTrue(resourceMonitor.isHealthy()); verify(memoryMonitor, times(2)).isMemoryHealthy(anyLong()); } diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicOptimizerTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicOptimizerTest.java similarity index 95% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicOptimizerTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicOptimizerTest.java index 02cbf0951cd..a0f260f7c7f 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicOptimizerTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicOptimizerTest.java @@ -15,18 +15,17 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.integerValue; -import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.longValue; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.DOUBLE; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.LONG; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.indexScan; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.indexScanAgg; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.noProjects; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.projects; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.indexScan; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.indexScanAgg; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.noProjects; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.projects; import static com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlanDSL.aggregation; import static com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlanDSL.filter; import static com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlanDSL.limit; @@ -36,9 +35,9 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils; import com.amazon.opendistroforelasticsearch.sql.expression.DSL; import com.amazon.opendistroforelasticsearch.sql.expression.config.ExpressionConfig; +import com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.optimizer.LogicalPlanOptimizer; import com.google.common.collect.ImmutableList; @@ -48,7 +47,7 @@ import org.junit.jupiter.api.Test; -class ElasticsearchLogicOptimizerTest { +class OpenSearchLogicOptimizerTest { private final DSL dsl = new ExpressionConfig().dsl(new ExpressionConfig().functionRepository()); @@ -139,7 +138,7 @@ void aggregation_merge_filter_relation() { void aggregation_cant_merge_indexScan_with_project() { assertEquals( aggregation( - ElasticsearchLogicalIndexScan.builder().relationName("schema") + OpenSearchLogicalIndexScan.builder().relationName("schema") .filter(dsl.equal(DSL.ref("intV", INTEGER), DSL.literal(integerValue(1)))) .projectList(ImmutableSet.of(DSL.ref("intV", INTEGER))) .build(), @@ -150,7 +149,7 @@ void aggregation_cant_merge_indexScan_with_project() { dsl.abs(DSL.ref("longV", LONG))))), optimize( aggregation( - ElasticsearchLogicalIndexScan.builder().relationName("schema") + OpenSearchLogicalIndexScan.builder().relationName("schema") .filter(dsl.equal(DSL.ref("intV", INTEGER), DSL.literal(integerValue(1)))) .projectList( ImmutableSet.of(DSL.ref("intV", INTEGER))) @@ -578,7 +577,7 @@ void filter_aggregation_merge_filter_relation() { } private LogicalPlan optimize(LogicalPlan plan) { - final LogicalPlanOptimizer optimizer = ElasticsearchLogicalPlanOptimizerFactory.create(); + final LogicalPlanOptimizer optimizer = OpenSearchLogicalPlanOptimizerFactory.create(); final LogicalPlan optimize = optimizer.optimize(plan); return optimize; } diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicalIndexScanTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicalIndexScanTest.java similarity index 77% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicalIndexScanTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicalIndexScanTest.java index 8db3abbadb5..5f4752b8819 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/planner/logical/ElasticsearchLogicalIndexScanTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/planner/logical/OpenSearchLogicalIndexScanTest.java @@ -15,21 +15,21 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical; +package com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical; import static org.junit.jupiter.api.Assertions.assertFalse; import com.google.common.collect.ImmutableSet; import org.junit.jupiter.api.Test; -class ElasticsearchLogicalIndexScanTest { +class OpenSearchLogicalIndexScanTest { @Test void has_projects() { - assertFalse(ElasticsearchLogicalIndexScan.builder() + assertFalse(OpenSearchLogicalIndexScan.builder() .projectList(ImmutableSet.of()).build() .hasProjects()); - assertFalse(ElasticsearchLogicalIndexScan.builder().build().hasProjects()); + assertFalse(OpenSearchLogicalIndexScan.builder().build().hasProjects()); } } \ No newline at end of file diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchQueryRequestTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchQueryRequestTest.java similarity index 71% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchQueryRequestTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchQueryRequestTest.java index 47b13f2a106..ad3f7ab5a48 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchQueryRequestTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchQueryRequestTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.request; +package com.amazon.opendistroforelasticsearch.sql.opensearch.request; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -26,24 +26,24 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.ElasticsearchResponse; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.OpenSearchResponse; import java.util.function.Consumer; import java.util.function.Function; -import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchScrollRequest; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.search.builder.SearchSourceBuilder; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.action.search.SearchRequest; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.action.search.SearchScrollRequest; +import org.opensearch.index.query.QueryBuilders; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; +import org.opensearch.search.builder.SearchSourceBuilder; @ExtendWith(MockitoExtension.class) -public class ElasticsearchQueryRequestTest { +public class OpenSearchQueryRequestTest { @Mock private Function searchAction; @@ -64,10 +64,10 @@ public class ElasticsearchQueryRequestTest { private SearchHit searchHit; @Mock - private ElasticsearchExprValueFactory factory; + private OpenSearchExprValueFactory factory; - private final ElasticsearchQueryRequest request = - new ElasticsearchQueryRequest("test", 200, factory); + private final OpenSearchQueryRequest request = + new OpenSearchQueryRequest("test", 200, factory); @Test void search() { @@ -75,7 +75,7 @@ void search() { when(searchResponse.getHits()).thenReturn(searchHits); when(searchHits.getHits()).thenReturn(new SearchHit[] {searchHit}); - ElasticsearchResponse searchResponse = request.search(searchAction, scrollAction); + OpenSearchResponse searchResponse = request.search(searchAction, scrollAction); assertFalse(searchResponse.isEmpty()); searchResponse = request.search(searchAction, scrollAction); assertTrue(searchResponse.isEmpty()); @@ -96,7 +96,7 @@ void searchRequest() { new SearchRequest() .indices("test") .source(new SearchSourceBuilder() - .timeout(ElasticsearchQueryRequest.DEFAULT_QUERY_TIMEOUT) + .timeout(OpenSearchQueryRequest.DEFAULT_QUERY_TIMEOUT) .from(0) .size(200) .query(QueryBuilders.termQuery("name", "John"))), diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchScrollRequestTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchScrollRequestTest.java similarity index 69% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchScrollRequestTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchScrollRequestTest.java index cf78655a876..71c533e1fca 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/ElasticsearchScrollRequestTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/OpenSearchScrollRequestTest.java @@ -14,30 +14,30 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.request; +package com.amazon.opendistroforelasticsearch.sql.opensearch.request; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.action.search.SearchScrollRequest; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.builder.SearchSourceBuilder; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.action.search.SearchRequest; +import org.opensearch.action.search.SearchScrollRequest; +import org.opensearch.index.query.QueryBuilders; +import org.opensearch.search.builder.SearchSourceBuilder; @ExtendWith(MockitoExtension.class) -class ElasticsearchScrollRequestTest { +class OpenSearchScrollRequestTest { @Mock - private ElasticsearchExprValueFactory factory; + private OpenSearchExprValueFactory factory; - private final ElasticsearchScrollRequest request = - new ElasticsearchScrollRequest("test", factory); + private final OpenSearchScrollRequest request = + new OpenSearchScrollRequest("test", factory); @Test void searchRequest() { @@ -46,7 +46,7 @@ void searchRequest() { assertEquals( new SearchRequest() .indices("test") - .scroll(ElasticsearchScrollRequest.DEFAULT_SCROLL_TIMEOUT) + .scroll(OpenSearchScrollRequest.DEFAULT_SCROLL_TIMEOUT) .source(new SearchSourceBuilder().query(QueryBuilders.termQuery("name", "John"))), request.searchRequest()); } @@ -64,7 +64,7 @@ void scrollRequest() { request.setScrollId("scroll123"); assertEquals( new SearchScrollRequest() - .scroll(ElasticsearchScrollRequest.DEFAULT_SCROLL_TIMEOUT) + .scroll(OpenSearchScrollRequest.DEFAULT_SCROLL_TIMEOUT) .scrollId("scroll123"), request.scrollRequest()); } diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchCatIndicesRequestTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchCatIndicesRequestTest.java similarity index 77% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchCatIndicesRequestTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchCatIndicesRequestTest.java index 588d92e204a..640ba0faaa5 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchCatIndicesRequestTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchCatIndicesRequestTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.system; +package com.amazon.opendistroforelasticsearch.sql.opensearch.request.system; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.stringValue; import static org.hamcrest.MatcherAssert.assertThat; @@ -25,7 +25,7 @@ import static org.mockito.Mockito.when; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; import java.util.Arrays; import java.util.List; import org.junit.jupiter.api.Test; @@ -34,16 +34,16 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -class ElasticsearchCatIndicesRequestTest { +class OpenSearchCatIndicesRequestTest { @Mock - private ElasticsearchClient client; + private OpenSearchClient client; @Test void testSearch() { when(client.indices()).thenReturn(Arrays.asList("index")); - final List results = new ElasticsearchCatIndicesRequest(client).search(); + final List results = new OpenSearchCatIndicesRequest(client).search(); assertEquals(1, results.size()); assertThat(results.get(0).tupleValue(), anyOf( hasEntry("TABLE_NAME", stringValue("index")) @@ -52,7 +52,7 @@ void testSearch() { @Test void testToString() { - assertEquals("ElasticsearchCatIndicesRequest{}", - new ElasticsearchCatIndicesRequest(client).toString()); + assertEquals("OpenSearchCatIndicesRequest{}", + new OpenSearchCatIndicesRequest(client).toString()); } } \ No newline at end of file diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchDescribeIndexRequestTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchDescribeIndexRequestTest.java similarity index 79% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchDescribeIndexRequestTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchDescribeIndexRequestTest.java index 08b1725d02b..e22cda34d71 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/request/system/ElasticsearchDescribeIndexRequestTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/request/system/OpenSearchDescribeIndexRequestTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.system; +package com.amazon.opendistroforelasticsearch.sql.opensearch.request.system; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.stringValue; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; @@ -27,8 +27,8 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.mapping.IndexMapping; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.mapping.IndexMapping; import com.google.common.collect.ImmutableMap; import java.util.List; import java.util.Map; @@ -38,10 +38,10 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -class ElasticsearchDescribeIndexRequestTest { +class OpenSearchDescribeIndexRequestTest { @Mock - private ElasticsearchClient client; + private OpenSearchClient client; @Test void testSearch() { @@ -54,7 +54,7 @@ void testSearch() { .put("name", "keyword") .build()))); - final List results = new ElasticsearchDescribeIndexRequest(client, "index").search(); + final List results = new OpenSearchDescribeIndexRequest(client, "index").search(); assertEquals(1, results.size()); assertThat(results.get(0).tupleValue(), anyOf( hasEntry("TABLE_NAME", stringValue("index")), @@ -65,8 +65,8 @@ void testSearch() { @Test void testToString() { - assertEquals("ElasticsearchDescribeIndexRequest{indexName='index'}", - new ElasticsearchDescribeIndexRequest(client, "index").toString()); + assertEquals("OpenSearchDescribeIndexRequest{indexName='index'}", + new OpenSearchDescribeIndexRequest(client, "index").toString()); } @Test @@ -82,7 +82,7 @@ void filterOutUnknownType() { .build()))); final Map fieldTypes = - new ElasticsearchDescribeIndexRequest(client, "index").getFieldTypes(); + new OpenSearchDescribeIndexRequest(client, "index").getFieldTypes(); assertEquals(1, fieldTypes.size()); assertThat(fieldTypes, hasEntry("name", STRING)); } diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/AggregationResponseUtils.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/AggregationResponseUtils.java similarity index 56% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/AggregationResponseUtils.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/AggregationResponseUtils.java index e9929d99620..dcc9384cd37 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/AggregationResponseUtils.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/AggregationResponseUtils.java @@ -15,46 +15,46 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.response; +package com.amazon.opendistroforelasticsearch.sql.opensearch.response; import com.google.common.collect.ImmutableMap; import java.io.IOException; import java.util.List; import java.util.stream.Collectors; -import org.elasticsearch.common.ParseField; -import org.elasticsearch.common.xcontent.ContextParser; -import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.common.xcontent.XContent; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.search.aggregations.Aggregation; -import org.elasticsearch.search.aggregations.Aggregations; -import org.elasticsearch.search.aggregations.bucket.composite.CompositeAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.composite.ParsedComposite; -import org.elasticsearch.search.aggregations.bucket.filter.FilterAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.filter.ParsedFilter; -import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramAggregationBuilder; -import org.elasticsearch.search.aggregations.bucket.histogram.ParsedDateHistogram; -import org.elasticsearch.search.aggregations.bucket.terms.DoubleTerms; -import org.elasticsearch.search.aggregations.bucket.terms.LongTerms; -import org.elasticsearch.search.aggregations.bucket.terms.ParsedDoubleTerms; -import org.elasticsearch.search.aggregations.bucket.terms.ParsedLongTerms; -import org.elasticsearch.search.aggregations.bucket.terms.ParsedStringTerms; -import org.elasticsearch.search.aggregations.bucket.terms.StringTerms; -import org.elasticsearch.search.aggregations.metrics.AvgAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.MaxAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.MinAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.ParsedAvg; -import org.elasticsearch.search.aggregations.metrics.ParsedMax; -import org.elasticsearch.search.aggregations.metrics.ParsedMin; -import org.elasticsearch.search.aggregations.metrics.ParsedSum; -import org.elasticsearch.search.aggregations.metrics.ParsedValueCount; -import org.elasticsearch.search.aggregations.metrics.SumAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.ValueCountAggregationBuilder; -import org.elasticsearch.search.aggregations.pipeline.ParsedPercentilesBucket; -import org.elasticsearch.search.aggregations.pipeline.PercentilesBucketPipelineAggregationBuilder; +import org.opensearch.common.ParseField; +import org.opensearch.common.xcontent.ContextParser; +import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.common.xcontent.XContent; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentParser; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.search.aggregations.Aggregation; +import org.opensearch.search.aggregations.Aggregations; +import org.opensearch.search.aggregations.bucket.composite.CompositeAggregationBuilder; +import org.opensearch.search.aggregations.bucket.composite.ParsedComposite; +import org.opensearch.search.aggregations.bucket.filter.FilterAggregationBuilder; +import org.opensearch.search.aggregations.bucket.filter.ParsedFilter; +import org.opensearch.search.aggregations.bucket.histogram.DateHistogramAggregationBuilder; +import org.opensearch.search.aggregations.bucket.histogram.ParsedDateHistogram; +import org.opensearch.search.aggregations.bucket.terms.DoubleTerms; +import org.opensearch.search.aggregations.bucket.terms.LongTerms; +import org.opensearch.search.aggregations.bucket.terms.ParsedDoubleTerms; +import org.opensearch.search.aggregations.bucket.terms.ParsedLongTerms; +import org.opensearch.search.aggregations.bucket.terms.ParsedStringTerms; +import org.opensearch.search.aggregations.bucket.terms.StringTerms; +import org.opensearch.search.aggregations.metrics.AvgAggregationBuilder; +import org.opensearch.search.aggregations.metrics.MaxAggregationBuilder; +import org.opensearch.search.aggregations.metrics.MinAggregationBuilder; +import org.opensearch.search.aggregations.metrics.ParsedAvg; +import org.opensearch.search.aggregations.metrics.ParsedMax; +import org.opensearch.search.aggregations.metrics.ParsedMin; +import org.opensearch.search.aggregations.metrics.ParsedSum; +import org.opensearch.search.aggregations.metrics.ParsedValueCount; +import org.opensearch.search.aggregations.metrics.SumAggregationBuilder; +import org.opensearch.search.aggregations.metrics.ValueCountAggregationBuilder; +import org.opensearch.search.aggregations.pipeline.ParsedPercentilesBucket; +import org.opensearch.search.aggregations.pipeline.PercentilesBucketPipelineAggregationBuilder; public class AggregationResponseUtils { private static final List entryList = diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/ElasticsearchAggregationResponseParserTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/OpenSearchAggregationResponseParserTest.java similarity index 95% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/ElasticsearchAggregationResponseParserTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/OpenSearchAggregationResponseParserTest.java index bc23803701e..6163757e02d 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/ElasticsearchAggregationResponseParserTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/OpenSearchAggregationResponseParserTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.response; +package com.amazon.opendistroforelasticsearch.sql.opensearch.response; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; @@ -32,7 +32,7 @@ import org.junit.jupiter.api.Test; @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) -class ElasticsearchAggregationResponseParserTest { +class OpenSearchAggregationResponseParserTest { /** * SELECT MAX(age) as max FROM accounts. @@ -147,7 +147,7 @@ void unsupported_aggregation_should_fail() { @Test void nan_value_should_return_null() { - assertNull(ElasticsearchAggregationResponseParser.handleNanValue(Double.NaN)); + assertNull(OpenSearchAggregationResponseParser.handleNanValue(Double.NaN)); } /** @@ -210,7 +210,7 @@ void filter_aggregation_group_by_should_pass() { } public List> parse(String json) { - return ElasticsearchAggregationResponseParser.parse(AggregationResponseUtils.fromJson(json)); + return OpenSearchAggregationResponseParser.parse(AggregationResponseUtils.fromJson(json)); } public Map entry(String name, Object value) { diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/ElasticsearchResponseTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/OpenSearchResponseTest.java similarity index 67% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/ElasticsearchResponseTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/OpenSearchResponseTest.java index b06da335190..a847a6929b2 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/ElasticsearchResponseTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/OpenSearchResponseTest.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.response; +package com.amazon.opendistroforelasticsearch.sql.opensearch.response; import static java.util.Collections.emptyList; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -28,29 +28,29 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprIntegerValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprTupleValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; import com.google.common.collect.ImmutableMap; import java.util.Arrays; import org.apache.lucene.search.TotalHits; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.search.aggregations.Aggregations; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.MockedStatic; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.action.search.SearchResponse; +import org.opensearch.search.SearchHit; +import org.opensearch.search.SearchHits; +import org.opensearch.search.aggregations.Aggregations; @ExtendWith(MockitoExtension.class) -class ElasticsearchResponseTest { +class OpenSearchResponseTest { @Mock - private SearchResponse esResponse; + private SearchResponse searchResponse; @Mock - private ElasticsearchExprValueFactory factory; + private OpenSearchExprValueFactory factory; @Mock private SearchHit searchHit1; @@ -69,32 +69,32 @@ class ElasticsearchResponseTest { @Test void isEmpty() { - when(esResponse.getHits()) + when(searchResponse.getHits()) .thenReturn( new SearchHits( new SearchHit[] {searchHit1, searchHit2}, new TotalHits(2L, TotalHits.Relation.EQUAL_TO), 1.0F)); - assertFalse(new ElasticsearchResponse(esResponse, factory).isEmpty()); + assertFalse(new OpenSearchResponse(searchResponse, factory).isEmpty()); - when(esResponse.getHits()).thenReturn(SearchHits.empty()); - when(esResponse.getAggregations()).thenReturn(null); - assertTrue(new ElasticsearchResponse(esResponse, factory).isEmpty()); + when(searchResponse.getHits()).thenReturn(SearchHits.empty()); + when(searchResponse.getAggregations()).thenReturn(null); + assertTrue(new OpenSearchResponse(searchResponse, factory).isEmpty()); - when(esResponse.getHits()) + when(searchResponse.getHits()) .thenReturn(new SearchHits(null, new TotalHits(0, TotalHits.Relation.EQUAL_TO), 0)); - ElasticsearchResponse response3 = new ElasticsearchResponse(esResponse, factory); + OpenSearchResponse response3 = new OpenSearchResponse(searchResponse, factory); assertTrue(response3.isEmpty()); - when(esResponse.getHits()).thenReturn(SearchHits.empty()); - when(esResponse.getAggregations()).thenReturn(new Aggregations(emptyList())); - assertFalse(new ElasticsearchResponse(esResponse, factory).isEmpty()); + when(searchResponse.getHits()).thenReturn(SearchHits.empty()); + when(searchResponse.getAggregations()).thenReturn(new Aggregations(emptyList())); + assertFalse(new OpenSearchResponse(searchResponse, factory).isEmpty()); } @Test void iterator() { - when(esResponse.getHits()) + when(searchResponse.getHits()) .thenReturn( new SearchHits( new SearchHit[] {searchHit1, searchHit2}, @@ -106,7 +106,7 @@ void iterator() { when(factory.construct(any())).thenReturn(exprTupleValue1).thenReturn(exprTupleValue2); int i = 0; - for (ExprValue hit : new ElasticsearchResponse(esResponse, factory)) { + for (ExprValue hit : new OpenSearchResponse(searchResponse, factory)) { if (i == 0) { assertEquals(exprTupleValue1, hit); } else if (i == 1) { @@ -120,33 +120,33 @@ void iterator() { @Test void response_is_aggregation_when_aggregation_not_empty() { - when(esResponse.getAggregations()).thenReturn(aggregations); + when(searchResponse.getAggregations()).thenReturn(aggregations); - ElasticsearchResponse response = new ElasticsearchResponse(esResponse, factory); + OpenSearchResponse response = new OpenSearchResponse(searchResponse, factory); assertTrue(response.isAggregationResponse()); } @Test void response_isnot_aggregation_when_aggregation_is_empty() { - when(esResponse.getAggregations()).thenReturn(null); + when(searchResponse.getAggregations()).thenReturn(null); - ElasticsearchResponse response = new ElasticsearchResponse(esResponse, factory); + OpenSearchResponse response = new OpenSearchResponse(searchResponse, factory); assertFalse(response.isAggregationResponse()); } @Test void aggregation_iterator() { try ( - MockedStatic mockedStatic = Mockito - .mockStatic(ElasticsearchAggregationResponseParser.class)) { - when(ElasticsearchAggregationResponseParser.parse(any())) + MockedStatic mockedStatic = Mockito + .mockStatic(OpenSearchAggregationResponseParser.class)) { + when(OpenSearchAggregationResponseParser.parse(any())) .thenReturn(Arrays.asList(ImmutableMap.of("id1", 1), ImmutableMap.of("id2", 2))); - when(esResponse.getAggregations()).thenReturn(aggregations); + when(searchResponse.getAggregations()).thenReturn(aggregations); when(factory.construct(anyString(), any())).thenReturn(new ExprIntegerValue(1)) .thenReturn(new ExprIntegerValue(2)); int i = 0; - for (ExprValue hit : new ElasticsearchResponse(esResponse, factory)) { + for (ExprValue hit : new OpenSearchResponse(searchResponse, factory)) { if (i == 0) { assertEquals(exprTupleValue1, hit); } else if (i == 1) { diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ErrorMessageFactoryTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/ErrorMessageFactoryTest.java similarity index 57% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ErrorMessageFactoryTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/ErrorMessageFactoryTest.java index ea582f77df0..feca71216d0 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ErrorMessageFactoryTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/ErrorMessageFactoryTest.java @@ -15,48 +15,49 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.error; +package com.amazon.opendistroforelasticsearch.sql.opensearch.response.error; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; -import org.elasticsearch.ElasticsearchException; -import org.elasticsearch.rest.RestStatus; import org.junit.jupiter.api.Test; +import org.opensearch.OpenSearchException; +import org.opensearch.rest.RestStatus; public class ErrorMessageFactoryTest { - private Throwable nonEsThrowable = new Throwable(); - private Throwable esThrowable = new ElasticsearchException(nonEsThrowable); + private Throwable nonOpenSearchThrowable = new Throwable(); + private Throwable openSearchThrowable = new OpenSearchException(nonOpenSearchThrowable); @Test - public void esExceptionShouldCreateEsErrorMessage() { - Exception exception = new ElasticsearchException(nonEsThrowable); + public void openSearchExceptionShouldCreateEsErrorMessage() { + Exception exception = new OpenSearchException(nonOpenSearchThrowable); ErrorMessage msg = ErrorMessageFactory.createErrorMessage(exception, RestStatus.BAD_REQUEST.getStatus()); - assertTrue(msg instanceof ElasticsearchErrorMessage); + assertTrue(msg instanceof OpenSearchErrorMessage); } @Test - public void nonEsExceptionShouldCreateGenericErrorMessage() { - Exception exception = new Exception(nonEsThrowable); + public void nonOpenSearchExceptionShouldCreateGenericErrorMessage() { + Exception exception = new Exception(nonOpenSearchThrowable); ErrorMessage msg = ErrorMessageFactory.createErrorMessage(exception, RestStatus.BAD_REQUEST.getStatus()); - assertFalse(msg instanceof ElasticsearchErrorMessage); + assertFalse(msg instanceof OpenSearchErrorMessage); } @Test - public void nonEsExceptionWithWrappedEsExceptionCauseShouldCreateEsErrorMessage() { - Exception exception = (Exception) esThrowable; + public void nonOpenSearchExceptionWithWrappedEsExceptionCauseShouldCreateEsErrorMessage() { + Exception exception = (Exception) openSearchThrowable; ErrorMessage msg = ErrorMessageFactory.createErrorMessage(exception, RestStatus.BAD_REQUEST.getStatus()); - assertTrue(msg instanceof ElasticsearchErrorMessage); + assertTrue(msg instanceof OpenSearchErrorMessage); } @Test - public void nonEsExceptionWithMultiLayerWrappedEsExceptionCauseShouldCreateEsErrorMessage() { - Exception exception = new Exception(new Throwable(new Throwable(esThrowable))); + public void + nonOpenSearchExceptionWithMultiLayerWrappedEsExceptionCauseShouldCreateEsErrorMessage() { + Exception exception = new Exception(new Throwable(new Throwable(openSearchThrowable))); ErrorMessage msg = ErrorMessageFactory.createErrorMessage(exception, RestStatus.BAD_REQUEST.getStatus()); - assertTrue(msg instanceof ElasticsearchErrorMessage); + assertTrue(msg instanceof OpenSearchErrorMessage); } } diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ErrorMessageTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/ErrorMessageTest.java similarity index 91% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ErrorMessageTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/ErrorMessageTest.java index 8ef13bfc708..00aeb3ffc9b 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ErrorMessageTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/ErrorMessageTest.java @@ -15,11 +15,11 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.error; +package com.amazon.opendistroforelasticsearch.sql.opensearch.response.error; -import static org.elasticsearch.rest.RestStatus.BAD_REQUEST; -import static org.elasticsearch.rest.RestStatus.SERVICE_UNAVAILABLE; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.opensearch.rest.RestStatus.BAD_REQUEST; +import static org.opensearch.rest.RestStatus.SERVICE_UNAVAILABLE; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ElasticsearchErrorMessageTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/OpenSearchErrorMessageTest.java similarity index 59% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ElasticsearchErrorMessageTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/OpenSearchErrorMessageTest.java index f5386a19147..98919c156e3 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/response/error/ElasticsearchErrorMessageTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/response/error/OpenSearchErrorMessageTest.java @@ -15,25 +15,25 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.error; +package com.amazon.opendistroforelasticsearch.sql.opensearch.response.error; -import static org.elasticsearch.rest.RestStatus.SERVICE_UNAVAILABLE; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.when; +import static org.opensearch.rest.RestStatus.SERVICE_UNAVAILABLE; -import org.elasticsearch.ElasticsearchException; -import org.elasticsearch.action.search.SearchPhaseExecutionException; -import org.elasticsearch.action.search.ShardSearchFailure; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.OpenSearchException; +import org.opensearch.action.search.SearchPhaseExecutionException; +import org.opensearch.action.search.ShardSearchFailure; @ExtendWith(MockitoExtension.class) -class ElasticsearchErrorMessageTest { +class OpenSearchErrorMessageTest { @Mock - private ElasticsearchException elasticsearchException; + private OpenSearchException openSearchException; @Mock private SearchPhaseExecutionException searchPhaseExecutionException; @@ -43,22 +43,22 @@ class ElasticsearchErrorMessageTest { @Test public void fetchReason() { - when(elasticsearchException.getMessage()).thenReturn("error"); + when(openSearchException.getMessage()).thenReturn("error"); - ElasticsearchErrorMessage errorMessage = - new ElasticsearchErrorMessage(elasticsearchException, SERVICE_UNAVAILABLE.getStatus()); - assertEquals("Error occurred in Elasticsearch engine: error", errorMessage.fetchReason()); + OpenSearchErrorMessage errorMessage = + new OpenSearchErrorMessage(openSearchException, SERVICE_UNAVAILABLE.getStatus()); + assertEquals("Error occurred in OpenSearch engine: error", errorMessage.fetchReason()); } @Test - public void fetchDetailsWithElasticsearchException() { - when(elasticsearchException.getDetailedMessage()).thenReturn("detail error"); + public void fetchDetailsWithOpenSearchException() { + when(openSearchException.getDetailedMessage()).thenReturn("detail error"); - ElasticsearchErrorMessage errorMessage = - new ElasticsearchErrorMessage(elasticsearchException, SERVICE_UNAVAILABLE.getStatus()); + OpenSearchErrorMessage errorMessage = + new OpenSearchErrorMessage(openSearchException, SERVICE_UNAVAILABLE.getStatus()); assertEquals("detail error\n" + "For more details, please send request for " - + "Json format to see the raw response from elasticsearch engine.", + + "Json format to see the raw response from OpenSearch engine.", errorMessage.fetchDetails()); } @@ -69,13 +69,13 @@ public void fetchDetailsWithSearchPhaseExecutionException() { when(shardSearchFailure.shardId()).thenReturn(1); when(shardSearchFailure.getCause()).thenReturn(new IllegalStateException("illegal state")); - ElasticsearchErrorMessage errorMessage = - new ElasticsearchErrorMessage(searchPhaseExecutionException, + OpenSearchErrorMessage errorMessage = + new OpenSearchErrorMessage(searchPhaseExecutionException, SERVICE_UNAVAILABLE.getStatus()); assertEquals("Shard[1]: java.lang.IllegalStateException: illegal state\n" + "\n" + "For more details, please send request for Json format to see the " - + "raw response from elasticsearch engine.", + + "raw response from OpenSearch engine.", errorMessage.fetchDetails()); } } \ No newline at end of file diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/setting/ElasticsearchSettingsTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/setting/OpenSearchSettingsTest.java similarity index 76% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/setting/ElasticsearchSettingsTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/setting/OpenSearchSettingsTest.java index a50c2a2ed8e..a5bb3ff65db 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/setting/ElasticsearchSettingsTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/setting/OpenSearchSettingsTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.setting; +package com.amazon.opendistroforelasticsearch.sql.opensearch.setting; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotEquals; @@ -23,23 +23,23 @@ import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; import java.util.List; -import org.elasticsearch.common.settings.ClusterSettings; -import org.elasticsearch.common.settings.Setting; -import org.elasticsearch.common.unit.ByteSizeValue; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.common.settings.ClusterSettings; +import org.opensearch.common.settings.Setting; +import org.opensearch.common.unit.ByteSizeValue; @ExtendWith(MockitoExtension.class) -class ElasticsearchSettingsTest { +class OpenSearchSettingsTest { @Mock private ClusterSettings clusterSettings; @Test void getSettingValue() { - ElasticsearchSettings settings = new ElasticsearchSettings(clusterSettings); + OpenSearchSettings settings = new OpenSearchSettings(clusterSettings); ByteSizeValue sizeValue = settings.getSettingValue(Settings.Key.PPL_QUERY_MEMORY_LIMIT); assertNotNull(sizeValue); @@ -47,16 +47,16 @@ void getSettingValue() { @Test void pluginSettings() { - List> settings = ElasticsearchSettings.pluginSettings(); + List> settings = OpenSearchSettings.pluginSettings(); assertFalse(settings.isEmpty()); } @Test void update() { - ElasticsearchSettings settings = new ElasticsearchSettings(clusterSettings); + OpenSearchSettings settings = new OpenSearchSettings(clusterSettings); ByteSizeValue oldValue = settings.getSettingValue(Settings.Key.PPL_QUERY_MEMORY_LIMIT); - ElasticsearchSettings.Updater updater = + OpenSearchSettings.Updater updater = settings.new Updater(Settings.Key.PPL_QUERY_MEMORY_LIMIT); updater.accept(new ByteSizeValue(0L)); diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchDefaultImplementorTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchDefaultImplementorTest.java similarity index 83% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchDefaultImplementorTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchDefaultImplementorTest.java index e2c13cdb20f..523c4acdf03 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchDefaultImplementorTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchDefaultImplementorTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage; import static com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlanDSL.relation; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -27,18 +27,18 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -public class ElasticsearchDefaultImplementorTest { +public class OpenSearchDefaultImplementorTest { @Mock - ElasticsearchIndexScan indexScan; + OpenSearchIndexScan indexScan; /** * For test coverage. */ @Test public void visitInvalidTypeShouldThrowException() { - final ElasticsearchIndex.ElasticsearchDefaultImplementor implementor = - new ElasticsearchIndex.ElasticsearchDefaultImplementor(indexScan); + final OpenSearchIndex.OpenSearchDefaultImplementor implementor = + new OpenSearchIndex.OpenSearchDefaultImplementor(indexScan); final IllegalStateException exception = assertThrows(IllegalStateException.class, () -> implementor.visitNode(relation("index"), diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchIndexScanTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchIndexScanTest.java similarity index 70% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchIndexScanTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchIndexScanTest.java index 1b49dd55e5a..22356cf8f4b 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchIndexScanTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchIndexScanTest.java @@ -14,11 +14,9 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; -import static org.elasticsearch.search.sort.FieldSortBuilder.DOC_FIELD_NAME; -import static org.elasticsearch.search.sort.SortOrder.ASC; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -27,24 +25,19 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import static org.opensearch.search.sort.FieldSortBuilder.DOC_FIELD_NAME; +import static org.opensearch.search.sort.SortOrder.ASC; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValue; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.ElasticsearchQueryRequest; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.ElasticsearchRequest; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.ElasticsearchResponse; -import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.OpenSearchQueryRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.OpenSearchRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.OpenSearchResponse; import com.google.common.collect.ImmutableMap; import java.util.Arrays; -import java.util.Set; -import org.elasticsearch.common.bytes.BytesArray; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.builder.SearchSourceBuilder; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -52,17 +45,21 @@ import org.mockito.invocation.InvocationOnMock; import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.stubbing.Answer; +import org.opensearch.common.bytes.BytesArray; +import org.opensearch.index.query.QueryBuilder; +import org.opensearch.index.query.QueryBuilders; +import org.opensearch.search.SearchHit; @ExtendWith(MockitoExtension.class) -class ElasticsearchIndexScanTest { +class OpenSearchIndexScanTest { @Mock - private ElasticsearchClient client; + private OpenSearchClient client; @Mock private Settings settings; - private ElasticsearchExprValueFactory exprValueFactory = new ElasticsearchExprValueFactory( + private OpenSearchExprValueFactory exprValueFactory = new OpenSearchExprValueFactory( ImmutableMap.of("name", STRING, "department", STRING)); @BeforeEach @@ -73,8 +70,8 @@ void setup() { @Test void queryEmptyResult() { mockResponse(); - try (ElasticsearchIndexScan indexScan = - new ElasticsearchIndexScan(client, settings, "test", exprValueFactory)) { + try (OpenSearchIndexScan indexScan = + new OpenSearchIndexScan(client, settings, "test", exprValueFactory)) { indexScan.open(); assertFalse(indexScan.hasNext()); } @@ -87,8 +84,8 @@ void queryAllResults() { new ExprValue[]{employee(1, "John", "IT"), employee(2, "Smith", "HR")}, new ExprValue[]{employee(3, "Allen", "IT")}); - try (ElasticsearchIndexScan indexScan = - new ElasticsearchIndexScan(client, settings, "employees", exprValueFactory)) { + try (OpenSearchIndexScan indexScan = + new OpenSearchIndexScan(client, settings, "employees", exprValueFactory)) { indexScan.open(); assertTrue(indexScan.hasNext()); @@ -128,17 +125,17 @@ private PushDownAssertion assertThat() { } private static class PushDownAssertion { - private final ElasticsearchClient client; - private final ElasticsearchIndexScan indexScan; - private final ElasticsearchResponse response; - private final ElasticsearchExprValueFactory factory; + private final OpenSearchClient client; + private final OpenSearchIndexScan indexScan; + private final OpenSearchResponse response; + private final OpenSearchExprValueFactory factory; - public PushDownAssertion(ElasticsearchClient client, - ElasticsearchExprValueFactory valueFactory, + public PushDownAssertion(OpenSearchClient client, + OpenSearchExprValueFactory valueFactory, Settings settings) { this.client = client; - this.indexScan = new ElasticsearchIndexScan(client, settings, "test", valueFactory); - this.response = mock(ElasticsearchResponse.class); + this.indexScan = new OpenSearchIndexScan(client, settings, "test", valueFactory); + this.response = mock(OpenSearchResponse.class); this.factory = valueFactory; when(response.isEmpty()).thenReturn(true); } @@ -149,7 +146,7 @@ PushDownAssertion pushDown(QueryBuilder query) { } PushDownAssertion shouldQuery(QueryBuilder expected) { - ElasticsearchRequest request = new ElasticsearchQueryRequest("test", 200, factory); + OpenSearchRequest request = new OpenSearchQueryRequest("test", 200, factory); request.getSourceBuilder() .query(expected) .sort(DOC_FIELD_NAME, ASC); @@ -162,12 +159,12 @@ PushDownAssertion shouldQuery(QueryBuilder expected) { private void mockResponse(ExprValue[]... searchHitBatches) { when(client.search(any())) .thenAnswer( - new Answer() { + new Answer() { private int batchNum; @Override - public ElasticsearchResponse answer(InvocationOnMock invocation) { - ElasticsearchResponse response = mock(ElasticsearchResponse.class); + public OpenSearchResponse answer(InvocationOnMock invocation) { + OpenSearchResponse response = mock(OpenSearchResponse.class); int totalBatch = searchHitBatches.length; if (batchNum < totalBatch) { when(response.isEmpty()).thenReturn(false); diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchIndexTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchIndexTest.java similarity index 82% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchIndexTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchIndexTest.java index 8775fecd188..7c2ce1425a6 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchIndexTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchIndexTest.java @@ -14,18 +14,18 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.DOUBLE; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.indexScan; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.indexScanAgg; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.noProjects; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.projects; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.literal; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.named; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.ref; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.indexScan; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.indexScanAgg; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.noProjects; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.projects; import static com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlanDSL.aggregation; import static com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlanDSL.eval; import static com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlanDSL.filter; @@ -50,10 +50,6 @@ import com.amazon.opendistroforelasticsearch.sql.data.model.ExprBooleanValue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.value.ElasticsearchExprValueFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.mapping.IndexMapping; import com.amazon.opendistroforelasticsearch.sql.expression.DSL; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.NamedExpression; @@ -61,6 +57,10 @@ import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.AvgAggregator; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.NamedAggregator; import com.amazon.opendistroforelasticsearch.sql.expression.config.ExpressionConfig; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType; +import com.amazon.opendistroforelasticsearch.sql.opensearch.data.value.OpenSearchExprValueFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.mapping.IndexMapping; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlanDSL; import com.amazon.opendistroforelasticsearch.sql.planner.physical.AggregationOperator; @@ -76,22 +76,22 @@ import java.util.Map; import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; -import org.elasticsearch.search.fetch.subphase.FetchSourceContext; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.search.fetch.subphase.FetchSourceContext; @ExtendWith(MockitoExtension.class) -class ElasticsearchIndexTest { +class OpenSearchIndexTest { private final DSL dsl = new ExpressionConfig().dsl(new ExpressionConfig().functionRepository()); @Mock - private ElasticsearchClient client; + private OpenSearchClient client; @Mock - private ElasticsearchExprValueFactory exprValueFactory; + private OpenSearchExprValueFactory exprValueFactory; @Mock private Settings settings; @@ -119,14 +119,14 @@ void getFieldTypes() { .put("blob", "binary") .build()))); - Table index = new ElasticsearchIndex(client, settings, "test"); + Table index = new OpenSearchIndex(client, settings, "test"); Map fieldTypes = index.getFieldTypes(); assertThat( fieldTypes, allOf( aMapWithSize(13), hasEntry("name", ExprCoreType.STRING), - hasEntry("address", (ExprType) ElasticsearchDataType.ES_TEXT), + hasEntry("address", (ExprType) OpenSearchDataType.OPENSEARCH_TEXT), hasEntry("age", ExprCoreType.INTEGER), hasEntry("account_number", ExprCoreType.LONG), hasEntry("balance1", ExprCoreType.FLOAT), @@ -137,7 +137,7 @@ void getFieldTypes() { hasEntry("birthday", ExprCoreType.TIMESTAMP), hasEntry("id1", ExprCoreType.BYTE), hasEntry("id2", ExprCoreType.SHORT), - hasEntry("blob", (ExprType) ElasticsearchDataType.ES_BINARY) + hasEntry("blob", (ExprType) OpenSearchDataType.OPENSEARCH_BINARY) )); } @@ -147,9 +147,9 @@ void implementRelationOperatorOnly() { String indexName = "test"; LogicalPlan plan = relation(indexName); - Table index = new ElasticsearchIndex(client, settings, indexName); + Table index = new OpenSearchIndex(client, settings, indexName); assertEquals( - new ElasticsearchIndexScan(client, settings, indexName, exprValueFactory), + new OpenSearchIndexScan(client, settings, indexName, exprValueFactory), index.implement(plan)); } @@ -159,9 +159,9 @@ void implementRelationOperatorWithOptimization() { String indexName = "test"; LogicalPlan plan = relation(indexName); - Table index = new ElasticsearchIndex(client, settings, indexName); + Table index = new OpenSearchIndex(client, settings, indexName); assertEquals( - new ElasticsearchIndexScan(client, settings, indexName, exprValueFactory), + new OpenSearchIndexScan(client, settings, indexName, exprValueFactory), index.implement(index.optimize(plan))); } @@ -201,7 +201,7 @@ void implementOtherLogicalOperators() { dedupeField), include); - Table index = new ElasticsearchIndex(client, settings, indexName); + Table index = new OpenSearchIndex(client, settings, indexName); assertEquals( PhysicalPlanDSL.project( PhysicalPlanDSL.dedupe( @@ -209,7 +209,7 @@ void implementOtherLogicalOperators() { PhysicalPlanDSL.eval( PhysicalPlanDSL.remove( PhysicalPlanDSL.rename( - new ElasticsearchIndexScan(client, settings, indexName, + new OpenSearchIndexScan(client, settings, indexName, exprValueFactory), mappings), exclude), @@ -229,7 +229,7 @@ void shouldImplLogicalIndexScan() { Expression filterExpr = dsl.equal(field, literal("John")); String indexName = "test"; - ElasticsearchIndex index = new ElasticsearchIndex(client, settings, indexName); + OpenSearchIndex index = new OpenSearchIndex(client, settings, indexName); PhysicalPlan plan = index.implement( project( indexScan( @@ -239,7 +239,7 @@ void shouldImplLogicalIndexScan() { named)); assertTrue(plan instanceof ProjectOperator); - assertTrue(((ProjectOperator) plan).getInput() instanceof ElasticsearchIndexScan); + assertTrue(((ProjectOperator) plan).getInput() instanceof OpenSearchIndexScan); } @Test @@ -254,7 +254,7 @@ void shouldNotPushDownFilterFarFromRelation() { DOUBLE))); String indexName = "test"; - ElasticsearchIndex index = new ElasticsearchIndex(client, settings, indexName); + OpenSearchIndex index = new OpenSearchIndex(client, settings, indexName); PhysicalPlan plan = index.implement( filter( aggregation( @@ -279,7 +279,7 @@ void shouldImplLogicalIndexScanAgg() { DOUBLE))); String indexName = "test"; - ElasticsearchIndex index = new ElasticsearchIndex(client, settings, indexName); + OpenSearchIndex index = new OpenSearchIndex(client, settings, indexName); // IndexScanAgg without Filter PhysicalPlan plan = index.implement( @@ -291,7 +291,7 @@ void shouldImplLogicalIndexScanAgg() { ), filterExpr)); - assertTrue(plan.getChild().get(0) instanceof ElasticsearchIndexScan); + assertTrue(plan.getChild().get(0) instanceof OpenSearchIndexScan); // IndexScanAgg with Filter plan = index.implement( @@ -300,7 +300,7 @@ void shouldImplLogicalIndexScanAgg() { filterExpr, aggregators, groupByExprs)); - assertTrue(plan instanceof ElasticsearchIndexScan); + assertTrue(plan instanceof OpenSearchIndexScan); } @Test @@ -315,7 +315,7 @@ void shouldNotPushDownAggregationFarFromRelation() { DOUBLE))); String indexName = "test"; - ElasticsearchIndex index = new ElasticsearchIndex(client, settings, indexName); + OpenSearchIndex index = new OpenSearchIndex(client, settings, indexName); PhysicalPlan plan = index.implement( aggregation( @@ -336,7 +336,7 @@ void shouldImplIndexScanWithSort() { Expression sortExpr = ref("name", STRING); String indexName = "test"; - ElasticsearchIndex index = new ElasticsearchIndex(client, settings, indexName); + OpenSearchIndex index = new OpenSearchIndex(client, settings, indexName); PhysicalPlan plan = index.implement( project( indexScan( @@ -346,7 +346,7 @@ void shouldImplIndexScanWithSort() { named)); assertTrue(plan instanceof ProjectOperator); - assertTrue(((ProjectOperator) plan).getInput() instanceof ElasticsearchIndexScan); + assertTrue(((ProjectOperator) plan).getInput() instanceof OpenSearchIndexScan); } @Test @@ -357,7 +357,7 @@ void shouldImplIndexScanWithLimit() { NamedExpression named = named("n", field); String indexName = "test"; - ElasticsearchIndex index = new ElasticsearchIndex(client, settings, indexName); + OpenSearchIndex index = new OpenSearchIndex(client, settings, indexName); PhysicalPlan plan = index.implement( project( indexScan( @@ -367,7 +367,7 @@ void shouldImplIndexScanWithLimit() { named)); assertTrue(plan instanceof ProjectOperator); - assertTrue(((ProjectOperator) plan).getInput() instanceof ElasticsearchIndexScan); + assertTrue(((ProjectOperator) plan).getInput() instanceof OpenSearchIndexScan); } @Test @@ -379,7 +379,7 @@ void shouldImplIndexScanWithSortAndLimit() { Expression sortExpr = ref("name", STRING); String indexName = "test"; - ElasticsearchIndex index = new ElasticsearchIndex(client, settings, indexName); + OpenSearchIndex index = new OpenSearchIndex(client, settings, indexName); PhysicalPlan plan = index.implement( project( indexScan( @@ -391,7 +391,7 @@ void shouldImplIndexScanWithSortAndLimit() { named)); assertTrue(plan instanceof ProjectOperator); - assertTrue(((ProjectOperator) plan).getInput() instanceof ElasticsearchIndexScan); + assertTrue(((ProjectOperator) plan).getInput() instanceof OpenSearchIndexScan); } @Test @@ -399,7 +399,7 @@ void shouldNotPushDownLimitFarFromRelationButUpdateScanSize() { when(settings.getSettingValue(Settings.Key.QUERY_SIZE_LIMIT)).thenReturn(200); String indexName = "test"; - ElasticsearchIndex index = new ElasticsearchIndex(client, settings, indexName); + OpenSearchIndex index = new OpenSearchIndex(client, settings, indexName); PhysicalPlan plan = index.implement(index.optimize( project( limit( @@ -423,7 +423,7 @@ void shouldPushDownProjects() { when(settings.getSettingValue(Settings.Key.QUERY_SIZE_LIMIT)).thenReturn(200); String indexName = "test"; - ElasticsearchIndex index = new ElasticsearchIndex(client, settings, indexName); + OpenSearchIndex index = new OpenSearchIndex(client, settings, indexName); PhysicalPlan plan = index.implement( project( indexScan( @@ -432,10 +432,10 @@ indexName, projects(ref("intV", INTEGER)) named("i", ref("intV", INTEGER)))); assertTrue(plan instanceof ProjectOperator); - assertTrue(((ProjectOperator) plan).getInput() instanceof ElasticsearchIndexScan); + assertTrue(((ProjectOperator) plan).getInput() instanceof OpenSearchIndexScan); final FetchSourceContext fetchSource = - ((ElasticsearchIndexScan) ((ProjectOperator) plan).getInput()).getRequest() + ((OpenSearchIndexScan) ((ProjectOperator) plan).getInput()).getRequest() .getSourceBuilder().fetchSource(); assertThat(fetchSource.includes(), arrayContaining("intV")); assertThat(fetchSource.excludes(), emptyArray()); diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchStorageEngineTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchStorageEngineTest.java similarity index 70% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchStorageEngineTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchStorageEngineTest.java index 8972f6ea2c7..9b6ff27b373 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/ElasticsearchStorageEngineTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/OpenSearchStorageEngineTest.java @@ -14,15 +14,15 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage; import static com.amazon.opendistroforelasticsearch.sql.utils.SystemIndexUtils.TABLE_INFO; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.system.ElasticsearchSystemIndex; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.system.OpenSearchSystemIndex; import com.amazon.opendistroforelasticsearch.sql.storage.Table; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -30,24 +30,24 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -class ElasticsearchStorageEngineTest { +class OpenSearchStorageEngineTest { - @Mock private ElasticsearchClient client; + @Mock private OpenSearchClient client; @Mock private Settings settings; @Test public void getTable() { - ElasticsearchStorageEngine engine = new ElasticsearchStorageEngine(client, settings); + OpenSearchStorageEngine engine = new OpenSearchStorageEngine(client, settings); Table table = engine.getTable("test"); assertNotNull(table); } @Test public void getSystemTable() { - ElasticsearchStorageEngine engine = new ElasticsearchStorageEngine(client, settings); + OpenSearchStorageEngine engine = new OpenSearchStorageEngine(client, settings); Table table = engine.getTable(TABLE_INFO); assertNotNull(table); - assertTrue(table instanceof ElasticsearchSystemIndex); + assertTrue(table instanceof OpenSearchSystemIndex); } } diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/ExpressionScriptEngineTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/ExpressionScriptEngineTest.java similarity index 84% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/ExpressionScriptEngineTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/ExpressionScriptEngineTest.java index eda964f6dd2..dcd8aee876d 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/ExpressionScriptEngineTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/ExpressionScriptEngineTest.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script; import static java.util.Collections.emptyMap; import static org.hamcrest.MatcherAssert.assertThat; @@ -24,14 +24,10 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter.ExpressionFilterScriptFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.ExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.expression.DSL; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; -import org.elasticsearch.script.AggregationScript; -import org.elasticsearch.script.FilterScript; -import org.elasticsearch.script.ScriptContext; -import org.elasticsearch.script.ScriptEngine; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter.ExpressionFilterScriptFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.ExpressionSerializer; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; @@ -39,6 +35,10 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.script.AggregationScript; +import org.opensearch.script.FilterScript; +import org.opensearch.script.ScriptContext; +import org.opensearch.script.ScriptEngine; @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) @ExtendWith(MockitoExtension.class) diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/AggregationQueryBuilderTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/AggregationQueryBuilderTest.java similarity index 94% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/AggregationQueryBuilderTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/AggregationQueryBuilderTest.java index e0b6aee9984..124d323b3ea 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/AggregationQueryBuilderTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/AggregationQueryBuilderTest.java @@ -15,19 +15,19 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.DOUBLE; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT_KEYWORD; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.agg; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.avg; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.group; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.sort; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.literal; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.named; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.ref; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.agg; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.avg; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.group; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.sort; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -36,13 +36,13 @@ import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.ExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.expression.DSL; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.NamedExpression; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.AvgAggregator; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.NamedAggregator; import com.amazon.opendistroforelasticsearch.sql.expression.config.ExpressionConfig; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.ExpressionSerializer; import com.fasterxml.jackson.databind.ObjectMapper; import java.util.AbstractMap; import java.util.Arrays; @@ -183,7 +183,7 @@ void should_build_composite_aggregation_for_field_reference_of_keyword() { buildQuery( Arrays.asList( named("avg(age)", new AvgAggregator(Arrays.asList(ref("age", INTEGER)), INTEGER))), - Arrays.asList(named("name", ref("name", ES_TEXT_KEYWORD))))); + Arrays.asList(named("name", ref("name", OPENSEARCH_TEXT_KEYWORD))))); } @Test @@ -191,10 +191,10 @@ void should_build_type_mapping_for_field_reference_of_keyword() { assertThat( buildTypeMapping(Arrays.asList( named("avg(age)", new AvgAggregator(Arrays.asList(ref("age", INTEGER)), INTEGER))), - Arrays.asList(named("name", ref("name", ES_TEXT_KEYWORD)))), + Arrays.asList(named("name", ref("name", OPENSEARCH_TEXT_KEYWORD)))), containsInAnyOrder( map("avg(age)", INTEGER), - map("name", ES_TEXT_KEYWORD) + map("name", OPENSEARCH_TEXT_KEYWORD) )); } diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScriptFactoryTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScriptFactoryTest.java similarity index 91% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScriptFactoryTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScriptFactoryTest.java index afd5691aced..7800ab2a53d 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScriptFactoryTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScriptFactoryTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -28,15 +28,15 @@ import java.util.Collections; import java.util.Map; import org.apache.lucene.index.LeafReaderContext; -import org.elasticsearch.script.AggregationScript; -import org.elasticsearch.search.lookup.LeafSearchLookup; -import org.elasticsearch.search.lookup.SearchLookup; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.script.AggregationScript; +import org.opensearch.search.lookup.LeafSearchLookup; +import org.opensearch.search.lookup.SearchLookup; @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) @ExtendWith(MockitoExtension.class) diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScriptTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScriptTest.java similarity index 91% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScriptTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScriptTest.java index 0b8bb411873..f1493d98f91 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/ExpressionAggregationScriptTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/ExpressionAggregationScriptTest.java @@ -15,13 +15,13 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT_KEYWORD; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.literal; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.ref; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD; import static java.util.Collections.emptyMap; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.ArgumentMatchers.any; @@ -36,16 +36,16 @@ import java.util.Map; import lombok.RequiredArgsConstructor; import org.apache.lucene.index.LeafReaderContext; -import org.elasticsearch.index.fielddata.ScriptDocValues; -import org.elasticsearch.search.lookup.LeafDocLookup; -import org.elasticsearch.search.lookup.LeafSearchLookup; -import org.elasticsearch.search.lookup.SearchLookup; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.index.fielddata.ScriptDocValues; +import org.opensearch.search.lookup.LeafDocLookup; +import org.opensearch.search.lookup.LeafSearchLookup; +import org.opensearch.search.lookup.SearchLookup; @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) @ExtendWith(MockitoExtension.class) @@ -85,7 +85,7 @@ void can_execute_expression_with_text_keyword_field() { assertThat() .docValues("name.keyword", "John") .evaluate( - dsl.equal(ref("name", ES_TEXT_KEYWORD), literal("John"))) + dsl.equal(ref("name", OPENSEARCH_TEXT_KEYWORD), literal("John"))) .shouldMatch(true); } diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/GroupSortOrderTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/GroupSortOrderTest.java similarity index 92% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/GroupSortOrderTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/GroupSortOrderTest.java index 396da081710..c78c683df75 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/GroupSortOrderTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/GroupSortOrderTest.java @@ -15,23 +15,23 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils.Utils.sort; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.named; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.ref; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.utils.Utils.sort; import static org.junit.jupiter.api.Assertions.assertEquals; import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort; import com.amazon.opendistroforelasticsearch.sql.expression.NamedExpression; import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; -import org.elasticsearch.search.sort.SortOrder; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.search.sort.SortOrder; @ExtendWith(MockitoExtension.class) class GroupSortOrderTest { diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/BucketAggregationBuilderTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/BucketAggregationBuilderTest.java similarity index 79% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/BucketAggregationBuilderTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/BucketAggregationBuilderTest.java index 1498a04ca46..3d2d9761d76 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/BucketAggregationBuilderTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/BucketAggregationBuilderTest.java @@ -15,27 +15,21 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation.dsl; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation.dsl; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT_KEYWORD; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.named; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.ref; -import static org.elasticsearch.common.xcontent.ToXContent.EMPTY_PARAMS; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.opensearch.common.xcontent.ToXContent.EMPTY_PARAMS; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.ExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.expression.NamedExpression; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.ExpressionSerializer; import java.util.Arrays; import java.util.List; import lombok.SneakyThrows; import org.apache.commons.lang3.tuple.Pair; -import org.elasticsearch.common.bytes.BytesReference; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.search.aggregations.bucket.composite.CompositeValuesSourceBuilder; -import org.elasticsearch.search.sort.SortOrder; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; @@ -43,6 +37,12 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.common.bytes.BytesReference; +import org.opensearch.common.xcontent.XContentBuilder; +import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.search.aggregations.bucket.composite.CompositeValuesSourceBuilder; +import org.opensearch.search.sort.SortOrder; @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) @ExtendWith(MockitoExtension.class) @@ -85,7 +85,7 @@ void should_build_bucket_with_keyword_field() { + "}", buildQuery( Arrays.asList( - asc(named("name", ref("name", ES_TEXT_KEYWORD)))))); + asc(named("name", ref("name", OPENSEARCH_TEXT_KEYWORD)))))); } @SneakyThrows diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/MetricAggregationBuilderTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/MetricAggregationBuilderTest.java similarity index 97% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/MetricAggregationBuilderTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/MetricAggregationBuilderTest.java index 964664bfa18..29abda011bc 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/aggregation/dsl/MetricAggregationBuilderTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/aggregation/dsl/MetricAggregationBuilderTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.aggregation.dsl; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.aggregation.dsl; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.literal; @@ -25,7 +25,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.when; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.ExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.AvgAggregator; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.CountAggregator; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.MaxAggregator; @@ -33,6 +32,7 @@ import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.NamedAggregator; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.SumAggregator; import com.amazon.opendistroforelasticsearch.sql.expression.function.FunctionName; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.ExpressionSerializer; import com.fasterxml.jackson.databind.ObjectMapper; import java.util.Arrays; import java.util.List; diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScriptFactoryTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScriptFactoryTest.java similarity index 90% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScriptFactoryTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScriptFactoryTest.java index 041ff9a694b..ab9fcecd8dc 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScriptFactoryTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScriptFactoryTest.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -26,15 +26,15 @@ import java.util.Collections; import java.util.Map; import org.apache.lucene.index.LeafReaderContext; -import org.elasticsearch.script.FilterScript; -import org.elasticsearch.search.lookup.LeafSearchLookup; -import org.elasticsearch.search.lookup.SearchLookup; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.script.FilterScript; +import org.opensearch.search.lookup.LeafSearchLookup; +import org.opensearch.search.lookup.SearchLookup; @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) @ExtendWith(MockitoExtension.class) diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScriptTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScriptTest.java similarity index 94% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScriptTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScriptTest.java index bf97dfd5ef3..b9f4eca8fd1 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/ExpressionFilterScriptTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/ExpressionFilterScriptTest.java @@ -14,15 +14,15 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.FLOAT; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.TIMESTAMP; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT_KEYWORD; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.literal; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.ref; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD; import static java.util.Collections.emptyList; import static java.util.Collections.emptyMap; import static java.util.Collections.singletonList; @@ -44,10 +44,6 @@ import java.util.Map; import lombok.RequiredArgsConstructor; import org.apache.lucene.index.LeafReaderContext; -import org.elasticsearch.index.fielddata.ScriptDocValues; -import org.elasticsearch.search.lookup.LeafDocLookup; -import org.elasticsearch.search.lookup.LeafSearchLookup; -import org.elasticsearch.search.lookup.SearchLookup; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; @@ -55,6 +51,10 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.opensearch.index.fielddata.ScriptDocValues; +import org.opensearch.search.lookup.LeafDocLookup; +import org.opensearch.search.lookup.LeafSearchLookup; +import org.opensearch.search.lookup.SearchLookup; @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) @ExtendWith(MockitoExtension.class) @@ -101,7 +101,7 @@ void can_execute_expression_with_text_keyword_field() { assertThat() .docValues("name.keyword", "John") .filterBy( - dsl.equal(ref("name", ES_TEXT_KEYWORD), literal("John"))) + dsl.equal(ref("name", OPENSEARCH_TEXT_KEYWORD), literal("John"))) .shouldMatch(); } diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/FilterQueryBuilderTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/FilterQueryBuilderTest.java similarity index 95% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/FilterQueryBuilderTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/FilterQueryBuilderTest.java index 4de1956cdc8..50d69d11175 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/FilterQueryBuilderTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/FilterQueryBuilderTest.java @@ -14,23 +14,23 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT_KEYWORD; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.literal; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.ref; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import com.amazon.opendistroforelasticsearch.sql.common.utils.StringUtils; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.ExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.expression.DSL; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.FunctionExpression; import com.amazon.opendistroforelasticsearch.sql.expression.config.ExpressionConfig; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.ExpressionSerializer; import com.google.common.collect.ImmutableMap; import java.util.Map; import org.json.JSONObject; @@ -246,7 +246,7 @@ void should_use_keyword_for_multi_field_in_equality_expression() { + "}", buildQuery( dsl.equal( - ref("name", ES_TEXT_KEYWORD), literal("John")))); + ref("name", OPENSEARCH_TEXT_KEYWORD), literal("John")))); } @Test @@ -262,7 +262,7 @@ void should_use_keyword_for_multi_field_in_like_expression() { + "}", buildQuery( dsl.like( - ref("name", ES_TEXT_KEYWORD), literal("John%")))); + ref("name", OPENSEARCH_TEXT_KEYWORD), literal("John%")))); } private static void assertJsonEquals(String expected, String actual) { diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/lucene/LuceneQueryTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/lucene/LuceneQueryTest.java similarity index 94% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/lucene/LuceneQueryTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/lucene/LuceneQueryTest.java index f8d194f76ab..b3e451785ec 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/lucene/LuceneQueryTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/lucene/LuceneQueryTest.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter.lucene; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter.lucene; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static org.junit.jupiter.api.Assertions.assertFalse; diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/lucene/RangeQueryTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/lucene/RangeQueryTest.java similarity index 87% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/lucene/RangeQueryTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/lucene/RangeQueryTest.java index c1ed7e53935..c61b9b65738 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/filter/lucene/RangeQueryTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/filter/lucene/RangeQueryTest.java @@ -14,13 +14,13 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter.lucene; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter.lucene; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; import static org.junit.jupiter.api.Assertions.assertThrows; import com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.filter.lucene.RangeQuery.Comparison; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.filter.lucene.RangeQuery.Comparison; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; import org.junit.jupiter.api.Test; diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/sort/SortQueryBuilderTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/sort/SortQueryBuilderTest.java similarity index 95% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/sort/SortQueryBuilderTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/sort/SortQueryBuilderTest.java index 2ad0146a34f..8eea93280df 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/script/sort/SortQueryBuilderTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/script/sort/SortQueryBuilderTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.sort; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.sort; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static org.hamcrest.MatcherAssert.assertThat; diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/serialization/DefaultExpressionSerializerTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/serialization/DefaultExpressionSerializerTest.java similarity index 97% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/serialization/DefaultExpressionSerializerTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/serialization/DefaultExpressionSerializerTest.java index 0691c5e0d2e..7b99803dc52 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/serialization/DefaultExpressionSerializerTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/serialization/DefaultExpressionSerializerTest.java @@ -14,7 +14,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.literal; diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndexScanTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndexScanTest.java similarity index 76% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndexScanTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndexScanTest.java index 77d0e167a07..53702950b6b 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndexScanTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndexScanTest.java @@ -15,14 +15,14 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.system; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.system; import static com.amazon.opendistroforelasticsearch.sql.data.model.ExprValueUtils.stringValue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.when; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.request.system.ElasticsearchSystemRequest; +import com.amazon.opendistroforelasticsearch.sql.opensearch.request.system.OpenSearchSystemRequest; import java.util.Collections; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -30,15 +30,15 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -class ElasticsearchSystemIndexScanTest { +class OpenSearchSystemIndexScanTest { @Mock - private ElasticsearchSystemRequest request; + private OpenSearchSystemRequest request; @Test public void queryData() { when(request.search()).thenReturn(Collections.singletonList(stringValue("text"))); - final ElasticsearchSystemIndexScan systemIndexScan = new ElasticsearchSystemIndexScan(request); + final OpenSearchSystemIndexScan systemIndexScan = new OpenSearchSystemIndexScan(request); systemIndexScan.open(); assertTrue(systemIndexScan.hasNext()); @@ -48,7 +48,7 @@ public void queryData() { @Test public void explain() { when(request.toString()).thenReturn("request"); - final ElasticsearchSystemIndexScan systemIndexScan = new ElasticsearchSystemIndexScan(request); + final OpenSearchSystemIndexScan systemIndexScan = new OpenSearchSystemIndexScan(request); assertEquals("request", systemIndexScan.explain()); } diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndexTest.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndexTest.java similarity index 81% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndexTest.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndexTest.java index 14814a54817..f4a9070299a 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/storage/system/ElasticsearchSystemIndexTest.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/storage/system/OpenSearchSystemIndexTest.java @@ -15,7 +15,7 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.system; +package com.amazon.opendistroforelasticsearch.sql.opensearch.storage.system; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; import static com.amazon.opendistroforelasticsearch.sql.expression.DSL.named; @@ -30,8 +30,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; import com.amazon.opendistroforelasticsearch.sql.expression.NamedExpression; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; import com.amazon.opendistroforelasticsearch.sql.planner.physical.PhysicalPlan; import com.amazon.opendistroforelasticsearch.sql.planner.physical.ProjectOperator; import java.util.Map; @@ -41,14 +41,14 @@ import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) -class ElasticsearchSystemIndexTest { +class OpenSearchSystemIndexTest { @Mock - private ElasticsearchClient client; + private OpenSearchClient client; @Test void testGetFieldTypesOfMetaTable() { - ElasticsearchSystemIndex systemIndex = new ElasticsearchSystemIndex(client, TABLE_INFO); + OpenSearchSystemIndex systemIndex = new OpenSearchSystemIndex(client, TABLE_INFO); final Map fieldTypes = systemIndex.getFieldTypes(); assertThat(fieldTypes, anyOf( hasEntry("TABLE_CAT", STRING) @@ -57,7 +57,7 @@ void testGetFieldTypesOfMetaTable() { @Test void testGetFieldTypesOfMappingTable() { - ElasticsearchSystemIndex systemIndex = new ElasticsearchSystemIndex(client, mappingTable( + OpenSearchSystemIndex systemIndex = new OpenSearchSystemIndex(client, mappingTable( "test_index")); final Map fieldTypes = systemIndex.getFieldTypes(); assertThat(fieldTypes, anyOf( @@ -67,7 +67,7 @@ void testGetFieldTypesOfMappingTable() { @Test void implement() { - ElasticsearchSystemIndex systemIndex = new ElasticsearchSystemIndex(client, TABLE_INFO); + OpenSearchSystemIndex systemIndex = new OpenSearchSystemIndex(client, TABLE_INFO); NamedExpression projectExpr = named("TABLE_NAME", ref("TABLE_NAME", STRING)); final PhysicalPlan plan = systemIndex.implement( @@ -76,6 +76,6 @@ void implement() { projectExpr )); assertTrue(plan instanceof ProjectOperator); - assertTrue(plan.getChild().get(0) instanceof ElasticsearchSystemIndexScan); + assertTrue(plan.getChild().get(0) instanceof OpenSearchSystemIndexScan); } } \ No newline at end of file diff --git a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/utils/Utils.java b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/utils/Utils.java similarity index 85% rename from elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/utils/Utils.java rename to opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/utils/Utils.java index bde6c054ac8..50a95e9b0f1 100644 --- a/elasticsearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/elasticsearch/utils/Utils.java +++ b/opensearch/src/test/java/com/amazon/opendistroforelasticsearch/sql/opensearch/utils/Utils.java @@ -15,17 +15,17 @@ * */ -package com.amazon.opendistroforelasticsearch.sql.elasticsearch.utils; +package com.amazon.opendistroforelasticsearch.sql.opensearch.utils; import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexAgg; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.planner.logical.ElasticsearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.expression.Expression; import com.amazon.opendistroforelasticsearch.sql.expression.NamedExpression; import com.amazon.opendistroforelasticsearch.sql.expression.ReferenceExpression; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.AvgAggregator; import com.amazon.opendistroforelasticsearch.sql.expression.aggregation.NamedAggregator; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexAgg; +import com.amazon.opendistroforelasticsearch.sql.opensearch.planner.logical.OpenSearchLogicalIndexScan; import com.amazon.opendistroforelasticsearch.sql.planner.logical.LogicalPlan; import com.google.common.collect.ImmutableSet; import java.util.Arrays; @@ -42,7 +42,7 @@ public class Utils { * Build ElasticsearchLogicalIndexScan. */ public static LogicalPlan indexScan(String tableName, Expression filter) { - return ElasticsearchLogicalIndexScan.builder().relationName(tableName).filter(filter).build(); + return OpenSearchLogicalIndexScan.builder().relationName(tableName).filter(filter).build(); } /** @@ -50,7 +50,7 @@ public static LogicalPlan indexScan(String tableName, Expression filter) { */ public static LogicalPlan indexScan(String tableName, Pair... sorts) { - return ElasticsearchLogicalIndexScan.builder().relationName(tableName) + return OpenSearchLogicalIndexScan.builder().relationName(tableName) .sortList(Arrays.asList(sorts)) .build(); } @@ -61,7 +61,7 @@ public static LogicalPlan indexScan(String tableName, public static LogicalPlan indexScan(String tableName, Expression filter, Pair... sorts) { - return ElasticsearchLogicalIndexScan.builder().relationName(tableName) + return OpenSearchLogicalIndexScan.builder().relationName(tableName) .filter(filter) .sortList(Arrays.asList(sorts)) .build(); @@ -72,7 +72,7 @@ public static LogicalPlan indexScan(String tableName, */ public static LogicalPlan indexScan(String tableName, Integer offset, Integer limit, Set projectList) { - return ElasticsearchLogicalIndexScan.builder().relationName(tableName) + return OpenSearchLogicalIndexScan.builder().relationName(tableName) .offset(offset) .limit(limit) .projectList(projectList) @@ -86,7 +86,7 @@ public static LogicalPlan indexScan(String tableName, Expression filter, Integer offset, Integer limit, Set projectList) { - return ElasticsearchLogicalIndexScan.builder().relationName(tableName) + return OpenSearchLogicalIndexScan.builder().relationName(tableName) .filter(filter) .offset(offset) .limit(limit) @@ -102,7 +102,7 @@ public static LogicalPlan indexScan(String tableName, Integer offset, Integer limit, List> sorts, Set projectList) { - return ElasticsearchLogicalIndexScan.builder().relationName(tableName) + return OpenSearchLogicalIndexScan.builder().relationName(tableName) .filter(filter) .sortList(sorts) .offset(offset) @@ -116,7 +116,7 @@ public static LogicalPlan indexScan(String tableName, */ public static LogicalPlan indexScan(String tableName, Set projects) { - return ElasticsearchLogicalIndexScan.builder() + return OpenSearchLogicalIndexScan.builder() .relationName(tableName) .projectList(projects) .build(); @@ -127,7 +127,7 @@ public static LogicalPlan indexScan(String tableName, */ public static LogicalPlan indexScan(String tableName, Expression filter, Set projects) { - return ElasticsearchLogicalIndexScan.builder() + return OpenSearchLogicalIndexScan.builder() .relationName(tableName) .filter(filter) .projectList(projects) @@ -139,7 +139,7 @@ public static LogicalPlan indexScan(String tableName, Expression filter, */ public static LogicalPlan indexScanAgg(String tableName, List aggregators, List groupByList) { - return ElasticsearchLogicalIndexAgg.builder().relationName(tableName) + return OpenSearchLogicalIndexAgg.builder().relationName(tableName) .aggregatorList(aggregators).groupByList(groupByList).build(); } @@ -149,7 +149,7 @@ public static LogicalPlan indexScanAgg(String tableName, List a public static LogicalPlan indexScanAgg(String tableName, List aggregators, List groupByList, List> sortList) { - return ElasticsearchLogicalIndexAgg.builder().relationName(tableName) + return OpenSearchLogicalIndexAgg.builder().relationName(tableName) .aggregatorList(aggregators).groupByList(groupByList).sortList(sortList).build(); } @@ -160,7 +160,7 @@ public static LogicalPlan indexScanAgg(String tableName, Expression filter, List aggregators, List groupByList) { - return ElasticsearchLogicalIndexAgg.builder().relationName(tableName).filter(filter) + return OpenSearchLogicalIndexAgg.builder().relationName(tableName).filter(filter) .aggregatorList(aggregators).groupByList(groupByList).build(); } diff --git a/elasticsearch/src/test/resources/mappings/accounts.json b/opensearch/src/test/resources/mappings/accounts.json similarity index 100% rename from elasticsearch/src/test/resources/mappings/accounts.json rename to opensearch/src/test/resources/mappings/accounts.json diff --git a/elasticsearch/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/opensearch/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker similarity index 100% rename from elasticsearch/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker rename to opensearch/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker diff --git a/plugin/build.gradle b/plugin/build.gradle index c28f9bd9541..b5263a2919b 100644 --- a/plugin/build.gradle +++ b/plugin/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'jacoco' - id 'elasticsearch.esplugin' + id 'opensearch.opensearchplugin' } ext { @@ -14,9 +14,9 @@ repositories { mavenCentral() } -esplugin { +opensearchplugin { name 'opendistro-sql' - description 'Open Distro for Elasticsearch SQL' + description 'OpenSearch SQL' classname 'com.amazon.opendistroforelasticsearch.sql.plugin.SQLPlugin' licenseFile rootProject.file("LICENSE.txt") noticeFile rootProject.file("NOTICE") @@ -42,7 +42,7 @@ dependencies { compile group: 'org.springframework', name: 'spring-beans', version: '5.2.5.RELEASE' compile project(":ppl") compile project(':legacy') - compile project(':elasticsearch') + compile project(':opensearch') } @@ -66,7 +66,7 @@ tasks.withType(licenseHeaders.class) { // from police-man plugin, see https://github.com/policeman-tools/forbidden-apis/wiki/GradleUsage forbiddenApis.ignoreFailures = true // TODO: fix forbidden code patterns -// introduced by elasticsearch plugin +// introduced by OpenSearch plugin // see https://github.com/elastic/elasticsearch/blob/master/buildSrc/src/main/java/org/elasticsearch/gradle/precommit/ForbiddenPatternsTask.java forbiddenPatterns { setEnabled(false) @@ -75,7 +75,7 @@ forbiddenPatterns { // TODO: fix license. skip dependency license checks dependencyLicenses.enabled = false -// We don't need to follow ES testing naming conventions. +// We don't need to follow OpenSearch testing naming conventions. // see https://github.com/elastic/elasticsearch/blob/323f312bbc829a63056a79ebe45adced5099f6e6/buildSrc/src/main/java/org/elasticsearch/gradle/precommit/TestingConventionsTasks.java // enable testingConventions check will cause errors like: "Classes ending with [Tests] must subclass [LuceneTestCase]" testingConventions.enabled = false @@ -97,7 +97,7 @@ afterEvaluate { into '/usr/share/elasticsearch/plugins' from(zipTree(bundlePlugin.archivePath)) { - into esplugin.name + into opensearchplugin.name } user 'root' diff --git a/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/SQLPlugin.java b/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/SQLPlugin.java index f299fee22ac..be18cb392ec 100644 --- a/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/SQLPlugin.java +++ b/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/SQLPlugin.java @@ -15,9 +15,6 @@ package com.amazon.opendistroforelasticsearch.sql.plugin; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.setting.ElasticsearchSettings; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.script.ExpressionScriptEngine; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.serialization.DefaultExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.legacy.esdomain.LocalClusterState; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.AsyncRestExecutor; import com.amazon.opendistroforelasticsearch.sql.legacy.metrics.Metrics; @@ -25,6 +22,9 @@ import com.amazon.opendistroforelasticsearch.sql.legacy.plugin.RestSqlSettingsAction; import com.amazon.opendistroforelasticsearch.sql.legacy.plugin.RestSqlStatsAction; import com.amazon.opendistroforelasticsearch.sql.legacy.plugin.SqlSettings; +import com.amazon.opendistroforelasticsearch.sql.opensearch.setting.OpenSearchSettings; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.script.ExpressionScriptEngine; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.serialization.DefaultExpressionSerializer; import com.amazon.opendistroforelasticsearch.sql.plugin.rest.RestPPLQueryAction; import com.amazon.opendistroforelasticsearch.sql.plugin.rest.RestPPLStatsAction; import com.google.common.collect.ImmutableList; @@ -34,38 +34,38 @@ import java.util.List; import java.util.Objects; import java.util.function.Supplier; -import org.elasticsearch.client.Client; -import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver; -import org.elasticsearch.cluster.node.DiscoveryNodes; -import org.elasticsearch.cluster.service.ClusterService; -import org.elasticsearch.common.io.stream.NamedWriteableRegistry; -import org.elasticsearch.common.settings.ClusterSettings; -import org.elasticsearch.common.settings.IndexScopedSettings; -import org.elasticsearch.common.settings.Setting; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.settings.SettingsFilter; -import org.elasticsearch.common.util.concurrent.EsExecutors; -import org.elasticsearch.common.xcontent.NamedXContentRegistry; -import org.elasticsearch.env.Environment; -import org.elasticsearch.env.NodeEnvironment; -import org.elasticsearch.plugins.ActionPlugin; -import org.elasticsearch.plugins.Plugin; -import org.elasticsearch.plugins.ScriptPlugin; -import org.elasticsearch.repositories.RepositoriesService; -import org.elasticsearch.rest.RestController; -import org.elasticsearch.rest.RestHandler; -import org.elasticsearch.script.ScriptContext; -import org.elasticsearch.script.ScriptEngine; -import org.elasticsearch.script.ScriptService; -import org.elasticsearch.threadpool.ExecutorBuilder; -import org.elasticsearch.threadpool.FixedExecutorBuilder; -import org.elasticsearch.threadpool.ThreadPool; -import org.elasticsearch.watcher.ResourceWatcherService; +import org.opensearch.client.Client; +import org.opensearch.cluster.metadata.IndexNameExpressionResolver; +import org.opensearch.cluster.node.DiscoveryNodes; +import org.opensearch.cluster.service.ClusterService; +import org.opensearch.common.io.stream.NamedWriteableRegistry; +import org.opensearch.common.settings.ClusterSettings; +import org.opensearch.common.settings.IndexScopedSettings; +import org.opensearch.common.settings.Setting; +import org.opensearch.common.settings.Settings; +import org.opensearch.common.settings.SettingsFilter; +import org.opensearch.common.util.concurrent.OpenSearchExecutors; +import org.opensearch.common.xcontent.NamedXContentRegistry; +import org.opensearch.env.Environment; +import org.opensearch.env.NodeEnvironment; +import org.opensearch.plugins.ActionPlugin; +import org.opensearch.plugins.Plugin; +import org.opensearch.plugins.ScriptPlugin; +import org.opensearch.repositories.RepositoriesService; +import org.opensearch.rest.RestController; +import org.opensearch.rest.RestHandler; +import org.opensearch.script.ScriptContext; +import org.opensearch.script.ScriptEngine; +import org.opensearch.script.ScriptService; +import org.opensearch.threadpool.ExecutorBuilder; +import org.opensearch.threadpool.FixedExecutorBuilder; +import org.opensearch.threadpool.ThreadPool; +import org.opensearch.watcher.ResourceWatcherService; public class SQLPlugin extends Plugin implements ActionPlugin, ScriptPlugin { /** - * Sql plugin specific settings in ES cluster settings. + * Sql plugin specific settings in OpenSearch cluster settings. */ private final SqlSettings sqlSettings = new SqlSettings(); @@ -81,7 +81,7 @@ public String name() { } public String description() { - return "Use sql to query elasticsearch."; + return "Use sql to query OpenSearch."; } @Override @@ -119,7 +119,7 @@ public Collection createComponents(Client client, ClusterService cluster Supplier repositoriesServiceSupplier) { this.clusterService = clusterService; - this.pluginSettings = new ElasticsearchSettings(clusterService.getClusterSettings()); + this.pluginSettings = new OpenSearchSettings(clusterService.getClusterSettings()); LocalClusterState.state().setClusterService(clusterService); LocalClusterState.state().setSqlSettings(sqlSettings); @@ -136,7 +136,7 @@ public List> getExecutorBuilders(Settings settings) { new FixedExecutorBuilder( settings, AsyncRestExecutor.SQL_WORKER_THREAD_POOL_NAME, - EsExecutors.allocatedProcessors(settings), + OpenSearchExecutors.allocatedProcessors(settings), 1000, null ) @@ -147,7 +147,7 @@ public List> getExecutorBuilders(Settings settings) { public List> getSettings() { ImmutableList> settings = new ImmutableList.Builder>().addAll(sqlSettings.getSettings()) - .addAll(ElasticsearchSettings.pluginSettings()).build(); + .addAll(OpenSearchSettings.pluginSettings()).build(); return settings; } diff --git a/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/request/PPLQueryRequestFactory.java b/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/request/PPLQueryRequestFactory.java index 211f3520cd6..83fad0d57d4 100644 --- a/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/request/PPLQueryRequestFactory.java +++ b/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/request/PPLQueryRequestFactory.java @@ -22,9 +22,9 @@ import com.amazon.opendistroforelasticsearch.sql.protocol.response.format.Format; import java.util.Map; import java.util.Optional; -import org.elasticsearch.rest.RestRequest; import org.json.JSONException; import org.json.JSONObject; +import org.opensearch.rest.RestRequest; /** * Factory of {@link PPLQueryRequest}. @@ -48,7 +48,7 @@ public static PPLQueryRequest getPPLRequest(RestRequest request) { return parsePPLRequestFromPayload(request); default: throw new IllegalArgumentException( - "ES PPL doesn't supported HTTP " + request.method().name()); + "OpenSearch PPL doesn't supported HTTP " + request.method().name()); } } diff --git a/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/ElasticsearchPluginConfig.java b/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/OpenSearchPluginConfig.java similarity index 51% rename from plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/ElasticsearchPluginConfig.java rename to plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/OpenSearchPluginConfig.java index a0b7cea26b6..bdad50d36b2 100644 --- a/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/ElasticsearchPluginConfig.java +++ b/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/OpenSearchPluginConfig.java @@ -17,29 +17,29 @@ package com.amazon.opendistroforelasticsearch.sql.plugin.rest; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.client.ElasticsearchNodeClient; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.ElasticsearchExecutionEngine; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector.ElasticsearchExecutionProtector; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.executor.protector.ExecutionProtector; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.monitor.ElasticsearchMemoryHealthy; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.monitor.ElasticsearchResourceMonitor; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.storage.ElasticsearchStorageEngine; import com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine; import com.amazon.opendistroforelasticsearch.sql.monitor.ResourceMonitor; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.client.OpenSearchNodeClient; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.OpenSearchExecutionEngine; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector.ExecutionProtector; +import com.amazon.opendistroforelasticsearch.sql.opensearch.executor.protector.OpenSearchExecutionProtector; +import com.amazon.opendistroforelasticsearch.sql.opensearch.monitor.OpenSearchMemoryHealthy; +import com.amazon.opendistroforelasticsearch.sql.opensearch.monitor.OpenSearchResourceMonitor; +import com.amazon.opendistroforelasticsearch.sql.opensearch.storage.OpenSearchStorageEngine; import com.amazon.opendistroforelasticsearch.sql.storage.StorageEngine; -import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.cluster.service.ClusterService; +import org.opensearch.client.node.NodeClient; +import org.opensearch.cluster.service.ClusterService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** - * Elasticsearch plugin config that injects cluster service and node client from plugin - * and initialize Elasticsearch storage and execution engine. + * OpenSearch plugin config that injects cluster service and node client from plugin + * and initialize OpenSearch storage and execution engine. */ @Configuration -public class ElasticsearchPluginConfig { +public class OpenSearchPluginConfig { @Autowired private ClusterService clusterService; @@ -51,27 +51,27 @@ public class ElasticsearchPluginConfig { private Settings settings; @Bean - public ElasticsearchClient client() { - return new ElasticsearchNodeClient(clusterService, nodeClient); + public OpenSearchClient client() { + return new OpenSearchNodeClient(clusterService, nodeClient); } @Bean public StorageEngine storageEngine() { - return new ElasticsearchStorageEngine(client(), settings); + return new OpenSearchStorageEngine(client(), settings); } @Bean public ExecutionEngine executionEngine() { - return new ElasticsearchExecutionEngine(client(), protector()); + return new OpenSearchExecutionEngine(client(), protector()); } @Bean public ResourceMonitor resourceMonitor() { - return new ElasticsearchResourceMonitor(settings, new ElasticsearchMemoryHealthy()); + return new OpenSearchResourceMonitor(settings, new OpenSearchMemoryHealthy()); } @Bean public ExecutionProtector protector() { - return new ElasticsearchExecutionProtector(resourceMonitor()); + return new OpenSearchExecutionProtector(resourceMonitor()); } } diff --git a/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/RestPPLQueryAction.java b/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/RestPPLQueryAction.java index 75e07ca8153..7dc07acc317 100644 --- a/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/RestPPLQueryAction.java +++ b/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/RestPPLQueryAction.java @@ -16,17 +16,15 @@ package com.amazon.opendistroforelasticsearch.sql.plugin.rest; import static com.amazon.opendistroforelasticsearch.sql.protocol.response.format.JsonResponseFormatter.Style.PRETTY; -import static org.elasticsearch.rest.RestStatus.BAD_REQUEST; -import static org.elasticsearch.rest.RestStatus.INTERNAL_SERVER_ERROR; -import static org.elasticsearch.rest.RestStatus.OK; -import static org.elasticsearch.rest.RestStatus.SERVICE_UNAVAILABLE; +import static org.opensearch.rest.RestStatus.BAD_REQUEST; +import static org.opensearch.rest.RestStatus.INTERNAL_SERVER_ERROR; +import static org.opensearch.rest.RestStatus.OK; +import static org.opensearch.rest.RestStatus.SERVICE_UNAVAILABLE; import com.amazon.opendistroforelasticsearch.sql.common.antlr.SyntaxCheckException; import com.amazon.opendistroforelasticsearch.sql.common.response.ResponseListener; import com.amazon.opendistroforelasticsearch.sql.common.setting.Settings; import com.amazon.opendistroforelasticsearch.sql.common.utils.LogUtils; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.error.ErrorMessageFactory; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.security.SecurityAccess; import com.amazon.opendistroforelasticsearch.sql.exception.ExpressionEvaluationException; import com.amazon.opendistroforelasticsearch.sql.exception.QueryEngineException; import com.amazon.opendistroforelasticsearch.sql.exception.SemanticCheckException; @@ -34,6 +32,8 @@ import com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine.QueryResponse; import com.amazon.opendistroforelasticsearch.sql.legacy.metrics.MetricName; import com.amazon.opendistroforelasticsearch.sql.legacy.metrics.Metrics; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.error.ErrorMessageFactory; +import com.amazon.opendistroforelasticsearch.sql.opensearch.security.SecurityAccess; import com.amazon.opendistroforelasticsearch.sql.plugin.request.PPLQueryRequestFactory; import com.amazon.opendistroforelasticsearch.sql.ppl.PPLService; import com.amazon.opendistroforelasticsearch.sql.ppl.config.PPLServiceConfig; @@ -54,15 +54,15 @@ import java.util.function.Supplier; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.cluster.service.ClusterService; -import org.elasticsearch.index.IndexNotFoundException; -import org.elasticsearch.rest.BaseRestHandler; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestChannel; -import org.elasticsearch.rest.RestController; -import org.elasticsearch.rest.RestRequest; -import org.elasticsearch.rest.RestStatus; +import org.opensearch.client.node.NodeClient; +import org.opensearch.cluster.service.ClusterService; +import org.opensearch.index.IndexNotFoundException; +import org.opensearch.rest.BaseRestHandler; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestChannel; +import org.opensearch.rest.RestController; +import org.opensearch.rest.RestRequest; +import org.opensearch.rest.RestStatus; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class RestPPLQueryAction extends BaseRestHandler { @@ -90,7 +90,7 @@ public class RestPPLQueryAction extends BaseRestHandler { */ public RestPPLQueryAction(RestController restController, ClusterService clusterService, Settings pluginSettings, - org.elasticsearch.common.settings.Settings clusterSettings) { + org.opensearch.common.settings.Settings clusterSettings) { super(); this.clusterService = clusterService; this.pluginSettings = pluginSettings; @@ -147,7 +147,7 @@ protected RestChannelConsumer prepareRequest(RestRequest request, NodeClient nod * create the bean in protocol scope. The limitations are * alt-1, add annotation for bean @Scope(value = SCOPE_PROTOTYPE, proxyMode = TARGET_CLASS), it * works by add the proxy, - * but when running in Elasticsearch, all the operation need security permission whic is hard + * but when running in OpenSearch, all the operation need security permission whic is hard * to control. * alt-2, using ObjectFactory with @Autowired, it also works, but require add to all the * configuration. @@ -159,7 +159,7 @@ private PPLService createPPLService(NodeClient client) { context.registerBean(ClusterService.class, () -> clusterService); context.registerBean(NodeClient.class, () -> client); context.registerBean(Settings.class, () -> pluginSettings); - context.register(ElasticsearchPluginConfig.class); + context.register(OpenSearchPluginConfig.class); context.register(PPLServiceConfig.class); context.refresh(); return context.getBean(PPLService.class); diff --git a/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/RestPPLStatsAction.java b/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/RestPPLStatsAction.java index c306f9ca931..496cb5f2d35 100644 --- a/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/RestPPLStatsAction.java +++ b/plugin/src/main/java/com/amazon/opendistroforelasticsearch/sql/plugin/rest/RestPPLStatsAction.java @@ -17,7 +17,7 @@ package com.amazon.opendistroforelasticsearch.sql.plugin.rest; -import static org.elasticsearch.rest.RestStatus.SERVICE_UNAVAILABLE; +import static org.opensearch.rest.RestStatus.SERVICE_UNAVAILABLE; import com.amazon.opendistroforelasticsearch.sql.legacy.executor.format.ErrorMessageFactory; import com.amazon.opendistroforelasticsearch.sql.legacy.metrics.Metrics; @@ -29,13 +29,13 @@ import java.util.Set; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.elasticsearch.client.node.NodeClient; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.rest.BaseRestHandler; -import org.elasticsearch.rest.BytesRestResponse; -import org.elasticsearch.rest.RestController; -import org.elasticsearch.rest.RestRequest; -import org.elasticsearch.rest.RestStatus; +import org.opensearch.client.node.NodeClient; +import org.opensearch.common.settings.Settings; +import org.opensearch.rest.BaseRestHandler; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.RestController; +import org.opensearch.rest.RestRequest; +import org.opensearch.rest.RestStatus; /** * PPL Node level status. diff --git a/ppl/build.gradle b/ppl/build.gradle index 69a27264a58..19a6c0ff9b1 100644 --- a/ppl/build.gradle +++ b/ppl/build.gradle @@ -5,10 +5,6 @@ plugins { id 'antlr' } -repositories { - mavenCentral() -} - generateGrammarSource { arguments += ['-visitor', '-package', 'com.amazon.opendistroforelasticsearch.sql.ppl.antlr.parser'] source = sourceSets.main.antlr @@ -27,7 +23,7 @@ dependencies { compile "org.antlr:antlr4-runtime:4.7.1" // https://github.com/google/guava/wiki/CVE-2018-10237 compile group: 'com.google.guava', name: 'guava', version: '29.0-jre' - compile group: 'org.elasticsearch', name: 'elasticsearch-x-content', version: "${es_version}" + compile group: 'org.opensearch', name: 'opensearch-x-content', version: "${es_version}" compile group: 'org.json', name: 'json', version: '20180813' compile group: 'org.springframework', name: 'spring-context', version: '5.2.5.RELEASE' compile group: 'org.springframework', name: 'spring-beans', version: '5.2.5.RELEASE' diff --git a/ppl/src/main/java/com/amazon/opendistroforelasticsearch/sql/ppl/domain/PPLQueryRequest.java b/ppl/src/main/java/com/amazon/opendistroforelasticsearch/sql/ppl/domain/PPLQueryRequest.java index 3310af313b1..12b92c6f9ff 100644 --- a/ppl/src/main/java/com/amazon/opendistroforelasticsearch/sql/ppl/domain/PPLQueryRequest.java +++ b/ppl/src/main/java/com/amazon/opendistroforelasticsearch/sql/ppl/domain/PPLQueryRequest.java @@ -16,7 +16,6 @@ package com.amazon.opendistroforelasticsearch.sql.ppl.domain; import com.amazon.opendistroforelasticsearch.sql.protocol.response.format.Format; -import com.google.common.base.Strings; import java.util.Locale; import java.util.Optional; import lombok.Getter; diff --git a/ppl/src/main/java/com/amazon/opendistroforelasticsearch/sql/ppl/utils/ArgumentFactory.java b/ppl/src/main/java/com/amazon/opendistroforelasticsearch/sql/ppl/utils/ArgumentFactory.java index 8b5d9e5dd46..49c1c6dd92a 100644 --- a/ppl/src/main/java/com/amazon/opendistroforelasticsearch/sql/ppl/utils/ArgumentFactory.java +++ b/ppl/src/main/java/com/amazon/opendistroforelasticsearch/sql/ppl/utils/ArgumentFactory.java @@ -31,7 +31,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; - import org.antlr.v4.runtime.ParserRuleContext; diff --git a/ppl/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/parser/AstBuilderTest.java b/ppl/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/parser/AstBuilderTest.java index 5c2bc96ed62..b71eab20655 100644 --- a/ppl/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/parser/AstBuilderTest.java +++ b/ppl/src/test/java/com/amazon/opendistroforelasticsearch/sql/ppl/parser/AstBuilderTest.java @@ -356,8 +356,8 @@ public void testIndexName() { @Test public void testIdentifierAsIndexNameStartWithDot() { - assertEqual("source=.kibana", - relation(".kibana")); + assertEqual("source=.opensearch_dashboards", + relation(".opensearch_dashboards")); } @Test diff --git a/protocol/build.gradle b/protocol/build.gradle index 61bd5ded89d..e4fc2a2aa59 100644 --- a/protocol/build.gradle +++ b/protocol/build.gradle @@ -4,10 +4,6 @@ plugins { id 'jacoco' } -repositories { - mavenCentral() -} - dependencies { // https://github.com/google/guava/wiki/CVE-2018-10237 compile group: 'com.google.guava', name: 'guava', version: '29.0-jre' @@ -16,7 +12,7 @@ dependencies { compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-cbor', version: '2.11.4' implementation 'com.google.code.gson:gson:2.8.6' compile project(':core') - compile project(':elasticsearch') + compile project(':opensearch') testImplementation('org.junit.jupiter:junit-jupiter:5.6.2') testCompile group: 'org.hamcrest', name: 'hamcrest-library', version: '2.1' diff --git a/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/CsvResponseFormatter.java b/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/CsvResponseFormatter.java index 34ea70a7e94..cf4725c2780 100644 --- a/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/CsvResponseFormatter.java +++ b/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/CsvResponseFormatter.java @@ -15,17 +15,6 @@ package com.amazon.opendistroforelasticsearch.sql.protocol.response.format; -import com.amazon.opendistroforelasticsearch.sql.protocol.response.QueryResult; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import lombok.Getter; -import lombok.RequiredArgsConstructor; - public class CsvResponseFormatter extends FlatResponseFormatter { public CsvResponseFormatter() { super(",", true); diff --git a/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/FlatResponseFormatter.java b/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/FlatResponseFormatter.java index 5763b4373fc..542c04eb864 100644 --- a/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/FlatResponseFormatter.java +++ b/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/FlatResponseFormatter.java @@ -98,7 +98,7 @@ private List> getData(QueryResult response, boolean sanitize) { } /** - * Sanitize headers because Elasticsearch allows special character present in field names. + * Sanitize headers because OpenSearch allows special character present in field names. */ private List sanitizeHeaders(List headers) { if (sanitize) { diff --git a/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/JdbcResponseFormatter.java b/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/JdbcResponseFormatter.java index 52f8c1d703d..c620e1a04e1 100644 --- a/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/JdbcResponseFormatter.java +++ b/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/JdbcResponseFormatter.java @@ -18,10 +18,10 @@ import com.amazon.opendistroforelasticsearch.sql.common.antlr.SyntaxCheckException; import com.amazon.opendistroforelasticsearch.sql.data.type.ExprType; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.error.ErrorMessage; -import com.amazon.opendistroforelasticsearch.sql.elasticsearch.response.error.ErrorMessageFactory; import com.amazon.opendistroforelasticsearch.sql.exception.QueryEngineException; import com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine.Schema; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.error.ErrorMessage; +import com.amazon.opendistroforelasticsearch.sql.opensearch.response.error.ErrorMessageFactory; import com.amazon.opendistroforelasticsearch.sql.protocol.response.QueryResult; import java.util.List; import lombok.Builder; diff --git a/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/RawResponseFormatter.java b/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/RawResponseFormatter.java index 230b3ef0dba..0f24970e4e2 100644 --- a/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/RawResponseFormatter.java +++ b/protocol/src/main/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/RawResponseFormatter.java @@ -15,17 +15,6 @@ package com.amazon.opendistroforelasticsearch.sql.protocol.response.format; -import com.amazon.opendistroforelasticsearch.sql.protocol.response.QueryResult; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import lombok.Getter; -import lombok.RequiredArgsConstructor; - /** * Response formatter to format response to csv or raw format. */ diff --git a/protocol/src/test/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/JdbcResponseFormatterTest.java b/protocol/src/test/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/JdbcResponseFormatterTest.java index e421016c002..9b7d6cd52b4 100644 --- a/protocol/src/test/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/JdbcResponseFormatterTest.java +++ b/protocol/src/test/java/com/amazon/opendistroforelasticsearch/sql/protocol/response/format/JdbcResponseFormatterTest.java @@ -24,10 +24,10 @@ import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRING; import static com.amazon.opendistroforelasticsearch.sql.data.type.ExprCoreType.STRUCT; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT; -import static com.amazon.opendistroforelasticsearch.sql.elasticsearch.data.type.ElasticsearchDataType.ES_TEXT_KEYWORD; import static com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine.Schema; import static com.amazon.opendistroforelasticsearch.sql.executor.ExecutionEngine.Schema.Column; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT; +import static com.amazon.opendistroforelasticsearch.sql.opensearch.data.type.OpenSearchDataType.OPENSEARCH_TEXT_KEYWORD; import static com.amazon.opendistroforelasticsearch.sql.protocol.response.format.JsonResponseFormatter.Style.COMPACT; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -39,10 +39,10 @@ import com.google.common.collect.ImmutableMap; import com.google.gson.JsonParser; import java.util.Arrays; -import org.elasticsearch.ElasticsearchException; import org.junit.jupiter.api.DisplayNameGeneration; import org.junit.jupiter.api.DisplayNameGenerator; import org.junit.jupiter.api.Test; +import org.opensearch.OpenSearchException; @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) class JdbcResponseFormatterTest { @@ -54,8 +54,8 @@ void format_response() { QueryResult response = new QueryResult( new Schema(ImmutableList.of( new Column("name", "name", STRING), - new Column("address1", "address1", ES_TEXT), - new Column("address2", "address2", ES_TEXT_KEYWORD), + new Column("address1", "address1", OPENSEARCH_TEXT), + new Column("address2", "address2", OPENSEARCH_TEXT_KEYWORD), new Column("location", "location", STRUCT), new Column("employer", "employer", ARRAY), new Column("age", "age", INTEGER))), @@ -156,20 +156,20 @@ void format_server_error_response() { } @Test - void format_server_error_response_due_to_elasticsearch() { + void format_server_error_response_due_to_opensearch() { assertJsonEquals( "{\"error\":" + "{\"" - + "type\":\"ElasticsearchException\"," - + "\"reason\":\"Error occurred in Elasticsearch engine: all shards failed\"," - + "\"details\":\"ElasticsearchException[all shards failed]; " + + "type\":\"OpenSearchException\"," + + "\"reason\":\"Error occurred in OpenSearch engine: all shards failed\"," + + "\"details\":\"OpenSearchException[all shards failed]; " + "nested: IllegalStateException[Execution error];; " + "java.lang.IllegalStateException: Execution error\\n" + "For more details, please send request for Json format to see the raw response " - + "from elasticsearch engine.\"" + + "from OpenSearch engine.\"" + "}," + "\"status\":503}", - formatter.format(new ElasticsearchException("all shards failed", + formatter.format(new OpenSearchException("all shards failed", new IllegalStateException("Execution error"))) ); } diff --git a/settings.gradle b/settings.gradle index 97aeab1de0d..beb5652864b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -19,7 +19,7 @@ include 'plugin' include 'ppl' include 'integ-test' include 'common' -include 'elasticsearch' +include 'opensearch' include 'core' include 'protocol' include 'doctest' diff --git a/sql-jdbc/README.md b/sql-jdbc/README.md index 78f42b91550..28accbad529 100644 --- a/sql-jdbc/README.md +++ b/sql-jdbc/README.md @@ -1,6 +1,6 @@ -## Open Distro for ElasticSearch - JDBC +## OpenSearch - JDBC -This is the driver for JDBC connectivity to a cluster running with Open Distro for Elasticsearch SQL support. +This is the driver for JDBC connectivity to a cluster running with OpenSearch SQL support. ## Specifications diff --git a/sql-jdbc/docs/tableau.md b/sql-jdbc/docs/tableau.md index ffbe0fcfeec..4becb997bb6 100644 --- a/sql-jdbc/docs/tableau.md +++ b/sql-jdbc/docs/tableau.md @@ -1,10 +1,10 @@ -# Connecting Tableau with Open Distro for Elasticsearch +# Connecting Tableau with OpenSearch ## Download and Installation * Download and install [Tableau Desktop](https://www.tableau.com/en-ca/products/desktop/download). -* Install and configure [Open Distro for Elasticsearch](https://opendistro.github.io/for-elasticsearch-docs/docs/install/). -* Download the [Open Distro for ElasticSearch JDBC Driver](https://github.com/opendistro-for-elasticsearch/sql/blob/master/sql-jdbc/README.md#download-and-installation). +* Install and configure [OpenSearch](https://opendistro.github.io/for-elasticsearch-docs/docs/install/). +* Download the [OpenSearch JDBC Driver](https://github.com/opensearch-project/sql/blob/master/sql-jdbc/README.md#download-and-installation). ## Setup @@ -47,7 +47,7 @@ For futher details check [using a .tdc file with Tableau](https://kb.tableau.com ### Connection information You will need: -* [JDBC connection string](https://github.com/opendistro-for-elasticsearch/sql/blob/master/sql-jdbc/README.md#connection-url-and-other-settings) to enter in the URL field when you connect. +* [JDBC connection string](https://github.com/opensearch-project/sql/blob/master/sql-jdbc/README.md#connection-url-and-other-settings) to enter in the URL field when you connect. Sample connection string for connecting to localhost: `jdbc:opensearch://localhost:9200`. diff --git a/sql-jdbc/release-notes/opendistro-elasticsearch-jdbc.release-notes.md b/sql-jdbc/release-notes/opendistro-elasticsearch-jdbc.release-notes.md index 5b459611f6f..f9dec0c9e73 100644 --- a/sql-jdbc/release-notes/opendistro-elasticsearch-jdbc.release-notes.md +++ b/sql-jdbc/release-notes/opendistro-elasticsearch-jdbc.release-notes.md @@ -15,7 +15,7 @@ #### Documentation * Feature [#37](https://github.com/opendistro-for-elasticsearch/sql-jdbc/pull/37): Tableau documentation -* Feature [#35](https://github.com/opendistro-for-elasticsearch/sql-jdbc/pull/35): Add documentation for connecting Tableau with OpenDistro for Elasticsearch using JDBC Driver +* Feature [#35](https://github.com/opendistro-for-elasticsearch/sql-jdbc/pull/35): Add documentation for connecting Tableau with OpenSearch using JDBC Driver ### Bugfixes * BugFix [#47](https://github.com/opendistro-for-elasticsearch/sql-jdbc/pull/47): Result set metadata returns Elasticsearch type (issue: [#43](https://github.com/opendistro-for-elasticsearch/sql-jdbc/issues/43)) diff --git a/sql-jdbc/src/main/java/com/amazon/opendistroforelasticsearch/jdbc/types/TypeConverters.java b/sql-jdbc/src/main/java/com/amazon/opendistroforelasticsearch/jdbc/types/TypeConverters.java index 6d155903781..f4f4aa9f4c7 100644 --- a/sql-jdbc/src/main/java/com/amazon/opendistroforelasticsearch/jdbc/types/TypeConverters.java +++ b/sql-jdbc/src/main/java/com/amazon/opendistroforelasticsearch/jdbc/types/TypeConverters.java @@ -45,7 +45,7 @@ public class TypeConverters { private static Map tcMap = new HashMap<>(); static { - // TODO - JDBCType.VARBINARY - byte[] -> Try ES data type + // TODO - JDBCType.VARBINARY - byte[] -> Try OpenSearch data type tcMap.put(JDBCType.TIMESTAMP, new TimestampTypeConverter()); tcMap.put(JDBCType.DATE, new DateTypeConverter()); tcMap.put(JDBCType.TIME, new TimeTypeConverter()); diff --git a/sql/build.gradle b/sql/build.gradle index d57f050fef8..ce2d05e7979 100644 --- a/sql/build.gradle +++ b/sql/build.gradle @@ -5,10 +5,6 @@ plugins { id 'antlr' } -repositories { - mavenCentral() -} - generateGrammarSource { arguments += ['-visitor', '-package', 'com.amazon.opendistroforelasticsearch.sql.sql.antlr.parser'] source = sourceSets.main.antlr diff --git a/sql/src/main/java/com/amazon/opendistroforelasticsearch/sql/sql/parser/AstSortBuilder.java b/sql/src/main/java/com/amazon/opendistroforelasticsearch/sql/sql/parser/AstSortBuilder.java index 1dfd615eaf1..c6c48fa3486 100644 --- a/sql/src/main/java/com/amazon/opendistroforelasticsearch/sql/sql/parser/AstSortBuilder.java +++ b/sql/src/main/java/com/amazon/opendistroforelasticsearch/sql/sql/parser/AstSortBuilder.java @@ -17,15 +17,12 @@ package com.amazon.opendistroforelasticsearch.sql.sql.parser; import static com.amazon.opendistroforelasticsearch.sql.ast.dsl.AstDSL.booleanLiteral; -import static com.amazon.opendistroforelasticsearch.sql.ast.dsl.AstDSL.qualifiedName; -import static com.amazon.opendistroforelasticsearch.sql.ast.expression.DataType.INTEGER; import static com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort.NullOrder.NULL_FIRST; import static com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort.SortOrder.DESC; import static com.amazon.opendistroforelasticsearch.sql.sql.antlr.parser.OpenDistroSQLParser.OrderByClauseContext; import com.amazon.opendistroforelasticsearch.sql.ast.expression.Argument; import com.amazon.opendistroforelasticsearch.sql.ast.expression.Field; -import com.amazon.opendistroforelasticsearch.sql.ast.expression.Literal; import com.amazon.opendistroforelasticsearch.sql.ast.expression.UnresolvedExpression; import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort; import com.amazon.opendistroforelasticsearch.sql.ast.tree.Sort.NullOrder; diff --git a/sql/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/antlr/SQLSyntaxParserTest.java b/sql/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/antlr/SQLSyntaxParserTest.java index 0f2605d7d66..860ad17dc37 100644 --- a/sql/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/antlr/SQLSyntaxParserTest.java +++ b/sql/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/antlr/SQLSyntaxParserTest.java @@ -64,7 +64,7 @@ public void canParseIndexNameWithDate() { @Test public void canParseHiddenIndexName() { - assertNotNull(parser.parse("SELECT * FROM .kibana")); + assertNotNull(parser.parse("SELECT * FROM .opensearch_dashboards")); } @Test diff --git a/sql/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/parser/AstQualifiedNameBuilderTest.java b/sql/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/parser/AstQualifiedNameBuilderTest.java index ebbfd0ee5fc..c3780295250 100644 --- a/sql/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/parser/AstQualifiedNameBuilderTest.java +++ b/sql/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/parser/AstQualifiedNameBuilderTest.java @@ -40,8 +40,8 @@ public void canBuildRegularIdentifierForSQLStandard() { } @Test - public void canBuildRegularIdentifierForElasticsearch() { - buildFromTableName(".kibana").expectQualifiedName(".kibana"); + public void canBuildRegularIdentifierForOpenSearch() { + buildFromTableName(".opensearch_dashboards").expectQualifiedName(".opensearch_dashboards"); buildFromIdentifier("@timestamp").expectQualifiedName("@timestamp"); buildFromIdentifier("logs-2020-01").expectQualifiedName("logs-2020-01"); buildFromIdentifier("*logs*").expectQualifiedName("*logs*");