diff --git a/README.md b/README.md index 13d955f2cfd..1d0400f70db 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,12 @@ # Open Distro for Elasticsearch 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. +Open Distro for Elasticsearch 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) @@ -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 { diff --git a/build.gradle b/build.gradle index 4960147400f..8ead951f957 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 = "AKIAUPQMZBE7UNXZ7YU2" + secretKey = "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" + } + } jcenter() } dependencies { - classpath "org.elasticsearch.gradle:build-tools:${es_version}" + classpath "org.opensearch.gradle:build-tools:${es_version}" } } @@ -43,7 +49,7 @@ repositories { } 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 = "AKIAUPQMZBE7UNXZ7YU2" + secretKey = "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" + } + } + } +} + // 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/docs/attributions.md b/docs/attributions.md index b157ef1c89d..27fb60a6648 100644 --- a/docs/attributions.md +++ b/docs/attributions.md @@ -2,7 +2,7 @@ This project is based on the Apache 2.0-licensed [elasticsearch-sql](https://git ## What’s OpenDistro 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 OpenDistro 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. +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..b311b1c56b8 100644 --- a/docs/dev/Architecture.md +++ b/docs/dev/Architecture.md @@ -12,14 +12,14 @@ 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. * *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) @@ -33,7 +33,7 @@ The following diagram take a sample query and explain how the query flow within 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. 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..91608c45b50 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. diff --git a/docs/dev/NewSQLEngine.md b/docs/dev/NewSQLEngine.md index 6bd067985f2..1e82248ca34 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,7 +45,7 @@ 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: @@ -53,7 +53,7 @@ For the following features unsupported in the new engine, the query will be forw * **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. * **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..f83776c43f3 100644 --- a/docs/dev/Pagination.md +++ b/docs/dev/Pagination.md @@ -17,7 +17,7 @@ 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. +* 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 Kibana 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. @@ -71,7 +71,7 @@ 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. +* 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, Kibana 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. @@ -97,7 +97,7 @@ Based on the cons of client side cursors, and the limitation imposed by Elastics 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 OpenDistro 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`. @@ -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 Elasticsearch’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: diff --git a/docs/dev/SubQuery.md b/docs/dev/SubQuery.md index e59501ffa1c..2e953a788a6 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. +Opendistro-sql use 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 diff --git a/docs/dev/Testing.md b/docs/dev/Testing.md index 2c1df6a9284..ae7528c096f 100644 --- a/docs/dev/Testing.md +++ b/docs/dev/Testing.md @@ -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 @@ -28,9 +28,9 @@ At this stage we don’t want to spend too much efforts on setting up a complica 1. **Test Data & Cases**: Use test case set with Kibana 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. ``` { @@ -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": [[...],...,[...]] @@ -167,7 +167,7 @@ $ ./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 @@ -260,7 +260,7 @@ $ ./gradlew :integ-test:comparisonTest -Dqueries=sanity_integration_tests.txt ... ``` -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..780c8e052ee 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,12 +29,12 @@ 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 & Kibana +------------------- -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 `Kibana `_ 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. @@ -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 Kibana, your workspace layout may look like this:: $ mkdir opendistro $ cd opendistro @@ -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. @@ -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. @@ -238,7 +238,7 @@ Sometimes your Gradle build fails or timeout due to Elasticsearch integration te $ ./gradlew start #Check if ES integTest process hung there. Kill it if so. - $ ps aux | grep -i elasticsearch + $ 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* @@ -297,7 +297,7 @@ For unit 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 '/[E]lasticsearch/ {print $2}'); sleep 3; nohup /bin/elasticsearch > ~/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..c016f70143a 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 ``.kibana``. 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/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..bbe0ad9e928 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 Kibana 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 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..e57dabef2da 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 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. 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/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..2499d9ac40b 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 ``.kibana``. 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..acec1d621e9 100644 --- a/docs/user/index.rst +++ b/docs/user/index.rst @@ -3,7 +3,7 @@ OpenDistro 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: +Open Distro for Elasticsearch 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..8a822692d61 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 ===================== 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:elasticsearch://" + esHost, client); + return new OpenSearchConnection("jdbc:elasticsearch://" + 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..89923c583e2 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() { @@ -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 8b17dd6793e..0e93196e46a 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:elasticsearch://localhost:12345", client); + conn = new OpenSearchConnection("jdbc:elasticsearch://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..5f690642757 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 @@ -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 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..578f2bd36d9 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 @@ -20,20 +20,20 @@ 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 @@ -64,7 +64,7 @@ public SqlResponse send(RestClient client) { /** * 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..55809e4e6ec 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. 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/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/dql/BasicQueryIT.java b/integ-test/src/test/java/com/amazon/opendistroforelasticsearch/sql/doctest/dql/BasicQueryIT.java index cc164de12ae..280456d7182 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 @@ -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,7 +79,7 @@ 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." @@ -104,7 +104,7 @@ public void from() { 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( 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..5c111242c3b 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 @@ -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." ), 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..ff8bc4b150c 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")) 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 69c58b2c5d7..f2874eddd71 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:elasticsearch://" + esHost, client()); + private DBConnection getOpenSearchConnection() { + String openSearchHost = client().getNodes().get(0).getHost().toString(); + return new OpenSearchConnection("jdbc:elasticsearch://" + 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/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 92% 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..b3cd4e8ed51 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) { @@ -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..a819dee102b 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 @@ -153,7 +153,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) { 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..ae1ca980265 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 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/ResultSetTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/executor/format/ResultSetTest.java index f1d51ca2f2c..d32388a5bdb 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,9 +46,9 @@ 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 @@ -60,10 +60,10 @@ public void testWildcardForSingleCharacter() { /** * 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,7 +74,7 @@ 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. */ 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..3a62791e517 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; 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..cbba503fceb 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; 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/SQLToOperatorConverterTest.java b/legacy/src/test/java/com/amazon/opendistroforelasticsearch/sql/legacy/unittest/planner/converter/SQLToOperatorConverterTest.java index 7ab98e9fca9..245c7dccc96 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; 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..532da8a1044 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; @@ -96,7 +96,7 @@ 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" + + String query = "SELECT date_format(timestamp, 'yyyy-MM') opensearch-table.timestamp_tg, COUNT(*) count, COUNT(DistanceKilometers) opensearch-table.DistanceKilometers_count\n" + "FROM kibana_sample_data_flights\n" + "GROUP BY date_format(timestamp, 'yyyy-MM')\n" + "ORDER BY date_format(timestamp, 'yyyy-MM') DESC\n" + @@ -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()); } 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..963bf9c84af 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,7 +14,7 @@ repositories { mavenCentral() } -esplugin { +opensearchplugin { name 'opendistro-sql' description 'Open Distro for Elasticsearch SQL' classname 'com.amazon.opendistroforelasticsearch.sql.plugin.SQLPlugin' @@ -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/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/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/parser/AstQualifiedNameBuilderTest.java b/sql/src/test/java/com/amazon/opendistroforelasticsearch/sql/sql/parser/AstQualifiedNameBuilderTest.java index ebbfd0ee5fc..1cc7ffc832a 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,7 +40,7 @@ public void canBuildRegularIdentifierForSQLStandard() { } @Test - public void canBuildRegularIdentifierForElasticsearch() { + public void canBuildRegularIdentifierForOpenSearch() { buildFromTableName(".kibana").expectQualifiedName(".kibana"); buildFromIdentifier("@timestamp").expectQualifiedName("@timestamp"); buildFromIdentifier("logs-2020-01").expectQualifiedName("logs-2020-01");