Skip to content

Commit

Permalink
Use assignments instead of variable name in Elasticsearch
Browse files Browse the repository at this point in the history
  • Loading branch information
assaf2 authored and findepi committed Mar 8, 2022
1 parent 8a1c4d7 commit 9aeb65d
Showing 1 changed file with 5 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
import java.util.stream.Collectors;

import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Verify.verifyNotNull;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.collect.ImmutableMap.toImmutableMap;
import static io.trino.plugin.elasticsearch.ElasticsearchTableHandle.Type.QUERY;
Expand Down Expand Up @@ -546,7 +547,10 @@ public Optional<ConstraintApplicationResult<ConnectorTableHandle>> applyFilter(C
// TODO Support ESCAPE character when it's pushed down by the engine
if (LIKE_PATTERN_FUNCTION_NAME.equals(call.getFunctionName()) && call.getArguments().size() == 2 &&
call.getArguments().get(0) instanceof Variable && call.getArguments().get(1) instanceof Constant) {
String columnName = ((Variable) call.getArguments().get(0)).getName();
String variableName = ((Variable) call.getArguments().get(0)).getName();
ElasticsearchColumnHandle column = (ElasticsearchColumnHandle) constraint.getAssignments().get(variableName);
verifyNotNull(column, "No assignment for %s", variableName);
String columnName = column.getName();
Object pattern = ((Constant) call.getArguments().get(1)).getValue();
if (!newRegexes.containsKey(columnName) && pattern instanceof Slice) {
IndexMetadata metadata = client.getIndexMetadata(handle.getIndex());
Expand Down

0 comments on commit 9aeb65d

Please sign in to comment.