Skip to content

Commit c47be78

Browse files
committed
SQL: Improve alias vs index resolution (#33393)
Improve pattern resolution for aliases vs indices (cherry picked from commit 7b923ea)
1 parent 8214462 commit c47be78

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

x-pack/plugin/sql/src/main/java/org/elasticsearch/xpack/sql/analysis/index/IndexResolver.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import org.elasticsearch.action.admin.indices.get.GetIndexRequest.Feature;
1717
import org.elasticsearch.action.admin.indices.get.GetIndexResponse;
1818
import org.elasticsearch.action.support.IndicesOptions;
19+
import org.elasticsearch.action.support.IndicesOptions.Option;
20+
import org.elasticsearch.action.support.IndicesOptions.WildcardStates;
1921
import org.elasticsearch.client.Client;
2022
import org.elasticsearch.cluster.metadata.AliasMetaData;
2123
import org.elasticsearch.cluster.metadata.MappingMetaData;
@@ -117,6 +119,10 @@ public boolean equals(Object obj) {
117119
}
118120
}
119121

122+
private static final IndicesOptions INDICES_ONLY_OPTIONS = new IndicesOptions(
123+
EnumSet.of(Option.ALLOW_NO_INDICES, Option.IGNORE_UNAVAILABLE, Option.IGNORE_ALIASES), EnumSet.of(WildcardStates.OPEN));
124+
125+
120126
private final Client client;
121127
private final String clusterName;
122128

@@ -144,7 +150,6 @@ public void resolveNames(String indexWildcard, String javaRegex, EnumSet<IndexTy
144150
if (retrieveAliases) {
145151
GetAliasesRequest aliasRequest = new GetAliasesRequest()
146152
.local(true)
147-
.indices(indices)
148153
.aliases(indices)
149154
.indicesOptions(IndicesOptions.lenientExpandOpen());
150155

@@ -176,7 +181,7 @@ private void resolveIndices(String[] indices, String javaRegex, GetAliasesRespon
176181
.indices(indices)
177182
.features(Feature.SETTINGS)
178183
.includeDefaults(false)
179-
.indicesOptions(IndicesOptions.lenientExpandOpen());
184+
.indicesOptions(INDICES_ONLY_OPTIONS);
180185

181186
client.admin().indices().getIndex(indexRequest,
182187
ActionListener.wrap(response -> filterResults(javaRegex, aliases, response, listener),

x-pack/qa/sql/src/main/resources/command.csv-spec

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,14 @@ test_emp_copy |BASE TABLE
174174
test_emp_with_nulls|BASE TABLE
175175
;
176176

177+
showTablesIdentifierPatternOnAliases
178+
SHOW TABLES "test*,-test_emp*";
179+
180+
name:s | type:s
181+
test_alias |ALIAS
182+
test_alias_emp |ALIAS
183+
;
184+
177185
// DESCRIBE
178186

179187
describeSimpleLike

0 commit comments

Comments
 (0)