Skip to content
This repository was archived by the owner on Sep 4, 2019. It is now read-only.

Commit a5baf42

Browse files
author
jiangnan
committed
fix #4
1 parent 82e52d5 commit a5baf42

File tree

4 files changed

+8
-15
lines changed

4 files changed

+8
-15
lines changed

src/main/java/io/github/iamazy/elasticsearch/dsl/sql/druid/ElasticSqlExprParser.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,8 @@
22

33
import com.alibaba.druid.sql.ast.SQLExpr;
44
import com.alibaba.druid.sql.ast.expr.*;
5-
import com.alibaba.druid.sql.ast.statement.SQLSelectQuery;
65
import com.alibaba.druid.sql.parser.*;
7-
import com.alibaba.druid.util.FnvHash;
8-
import com.alibaba.druid.util.JdbcConstants;
96
import com.google.common.collect.Lists;
10-
11-
import java.math.BigInteger;
127
import java.util.List;
138

149
/**

src/main/java/io/github/iamazy/elasticsearch/dsl/sql/model/ElasticSqlParseResult.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
import java.io.IOException;
3030
import java.util.*;
31+
import java.util.stream.Collectors;
3132

3233

3334
/**
@@ -103,8 +104,9 @@ public SearchResponse toResponse(RestHighLevelClient restHighLevelClient, Reques
103104

104105
public SearchRequest toRequest() {
105106
SearchRequest searchRequest = new SearchRequest();
106-
if (CollectionUtils.isNotEmpty(indices)) {
107-
searchRequest.indices(indices.toArray(new String[0]));
107+
List<String> indexList=indices.parallelStream().map(index->index.replace("`","")).collect(Collectors.toList());
108+
if (CollectionUtils.isNotEmpty(indexList)) {
109+
searchRequest.indices(indexList.toArray(new String[0]));
108110
}
109111
if (StringUtils.isNotBlank(type)) {
110112
searchRequest.types(type);

src/main/java/io/github/iamazy/elasticsearch/dsl/sql/parser/sql/QueryFromParser.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package io.github.iamazy.elasticsearch.dsl.sql.parser.sql;
22

3-
import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr;
43
import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
54
import com.alibaba.druid.sql.ast.expr.SQLPropertyExpr;
65
import com.alibaba.druid.sql.ast.expr.SQLQueryExpr;
@@ -55,11 +54,6 @@ private void extractFrom(SQLExprTableSource tableSource,ElasticDslContext dslCon
5554
dslContext.getParseResult().setType(idxExpr.getName());
5655
return;
5756
}
58-
if(tableSource.getExpr() instanceof SQLBinaryOpExpr){
59-
String index=tableSource.getExpr().toString().replace(" ","");
60-
dslContext.getParseResult().setIndices(Lists.newArrayList(index));
61-
return;
62-
}
6357

6458
throw new ElasticSql2DslException("[syntax error] From table should like [index].[type]");
6559
}

src/test/java/io/github/iamazy/elasticsearch/dsl/sql/SqlParserSelectFieldTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22

33
import io.github.iamazy.elasticsearch.dsl.sql.model.ElasticSqlParseResult;
44
import io.github.iamazy.elasticsearch.dsl.sql.parser.ElasticSql2DslParser;
5-
import org.elasticsearch.action.admin.indices.mapping.get.GetMappingsRequest;
65
import org.junit.Test;
76

7+
import java.util.Arrays;
8+
89
/**
910
* @author iamazy
1011
* @date 2019/2/20
@@ -75,10 +76,11 @@ public void test2(){
7576

7677
@Test
7778
public void test3(){
78-
String sql="select * from apple-aaa order by minPrice desc, advicePrice asc";
79+
String sql="select * from `apple-aaa-01-.*` order by minPrice desc, advicePrice asc";
7980
ElasticSql2DslParser sql2DslParser=new ElasticSql2DslParser();
8081
ElasticSqlParseResult parseResult = sql2DslParser.parse(sql);
8182
System.out.println(parseResult.toPrettyDsl(parseResult.toRequest()));
83+
System.out.println(Arrays.toString(parseResult.toRequest().indices()));
8284
}
8385

8486

0 commit comments

Comments
 (0)