Skip to content

Commit 2cb2048

Browse files
committed
fix anoymizer for search command
Signed-off-by: xinyual <xinyual@amazon.com>
1 parent 23dc638 commit 2cb2048

14 files changed

Lines changed: 67 additions & 11 deletions

File tree

core/src/main/java/org/opensearch/sql/ast/dsl/AstDSL.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public UnresolvedPlan describe(String tableName) {
112112
}
113113

114114
public static UnresolvedPlan search(UnresolvedPlan input, String queryString) {
115-
return new Search(input, queryString);
115+
return new Search(input, queryString, null);
116116
}
117117

118118
public UnresolvedPlan subqueryAlias(UnresolvedPlan child, String alias) {

core/src/main/java/org/opensearch/sql/ast/expression/SearchAnd.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ public String toQueryString() {
2727
return left.toQueryString() + " AND " + right.toQueryString();
2828
}
2929

30+
@Override
31+
public String toAnonymizedString() {
32+
return left.toAnonymizedString() + " AND " + right.toAnonymizedString();
33+
}
34+
3035
@Override
3136
public List<? extends UnresolvedExpression> getChild() {
3237
return Arrays.asList(left, right);

core/src/main/java/org/opensearch/sql/ast/expression/SearchComparison.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ public String toQueryString() {
6363
}
6464
}
6565

66+
@Override
67+
public String toAnonymizedString() {
68+
return "identifier " + operator.symbol + " ***";
69+
}
70+
6671
@Override
6772
public List<? extends UnresolvedExpression> getChild() {
6873
return Arrays.asList(field, value);

core/src/main/java/org/opensearch/sql/ast/expression/SearchExpression.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ public abstract class SearchExpression extends UnresolvedExpression {
1717
*/
1818
public abstract String toQueryString();
1919

20+
/**
21+
* Convert the search expression to anonymized string
22+
*
23+
* @return the anonymized string
24+
*/
25+
public abstract String toAnonymizedString();
26+
2027
@Override
2128
public <R, C> R accept(AbstractNodeVisitor<R, C> nodeVisitor, C context) {
2229
return nodeVisitor.visitChildren(this, context);

core/src/main/java/org/opensearch/sql/ast/expression/SearchGroup.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ public String toQueryString() {
2626
return "(" + expression.toQueryString() + ")";
2727
}
2828

29+
@Override
30+
public String toAnonymizedString() {
31+
return "(" + expression.toAnonymizedString() + ")";
32+
}
33+
2934
@Override
3035
public List<? extends UnresolvedExpression> getChild() {
3136
return Collections.singletonList(expression);

core/src/main/java/org/opensearch/sql/ast/expression/SearchIn.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ public String toQueryString() {
3333
return fieldName + ":( " + valueList + " )";
3434
}
3535

36+
@Override
37+
public String toAnonymizedString() {
38+
return "identifier IN ***";
39+
}
40+
3641
@Override
3742
public List<? extends UnresolvedExpression> getChild() {
3843
List<UnresolvedExpression> children = new ArrayList<>();

core/src/main/java/org/opensearch/sql/ast/expression/SearchLiteral.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ public String toQueryString() {
5555
return QueryStringUtils.escapeLuceneSpecialCharacters(text);
5656
}
5757

58+
@Override
59+
public String toAnonymizedString() {
60+
return "***";
61+
}
62+
5863
@Override
5964
public List<? extends UnresolvedExpression> getChild() {
6065
return Collections.singletonList(literal);

core/src/main/java/org/opensearch/sql/ast/expression/SearchNot.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ public String toQueryString() {
2626
return "NOT(" + expression.toQueryString() + ")";
2727
}
2828

29+
@Override
30+
public String toAnonymizedString() {
31+
return "NOT(" + expression.toAnonymizedString() + ")";
32+
}
33+
2934
@Override
3035
public List<? extends UnresolvedExpression> getChild() {
3136
return Collections.singletonList(expression);

core/src/main/java/org/opensearch/sql/ast/expression/SearchOr.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ public String toQueryString() {
2727
return left.toQueryString() + " OR " + right.toQueryString();
2828
}
2929

30+
@Override
31+
public String toAnonymizedString() {
32+
return left.toAnonymizedString() + " OR " + right.toAnonymizedString();
33+
}
34+
3035
@Override
3136
public List<? extends UnresolvedExpression> getChild() {
3237
return Arrays.asList(left, right);

core/src/main/java/org/opensearch/sql/ast/tree/Search.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import lombok.RequiredArgsConstructor;
1313
import lombok.ToString;
1414
import org.opensearch.sql.ast.AbstractNodeVisitor;
15+
import org.opensearch.sql.ast.expression.SearchExpression;
1516

1617
/**
1718
* Logical plan node for Search operation. Represents search expressions that get converted to
@@ -25,6 +26,7 @@ public class Search extends UnresolvedPlan {
2526

2627
private final UnresolvedPlan child;
2728
private final String queryString;
29+
private final SearchExpression originalExpression;
2830

2931
@Override
3032
public List<UnresolvedPlan> getChild() {
@@ -38,6 +40,6 @@ public <T, C> T accept(AbstractNodeVisitor<T, C> nodeVisitor, C context) {
3840

3941
@Override
4042
public UnresolvedPlan attach(UnresolvedPlan child) {
41-
return new Search(child, queryString);
43+
return new Search(child, queryString, originalExpression);
4244
}
4345
}

0 commit comments

Comments
 (0)