spuerx 9 gadi atpakaļ
vecāks
revīzija
544fcb0342

+ 5 - 5
src/test/java/org/elasticsearch/SqlParserOrderByTest.java

@@ -29,16 +29,16 @@ public class SqlParserOrderByTest {
         targetSort = SortBuilders.fieldSort("price").order(SortOrder.ASC).missing(0);
         Assert.assertEquals(parseResult.getOrderBy().get(0).toString(), targetSort.toString());
 
-        sql = "select id,productStatus from index.trx_order order by nvl(inner_doc(product.price), 0) asc";
+        sql = "select id,productStatus from index.trx_order order by nvl(product.price, 0) asc";
         sql2DslParser = new ElasticSql2DslParser();
         parseResult = sql2DslParser.parse(sql);
         targetSort = SortBuilders.fieldSort("product.price").order(SortOrder.ASC).missing(0);
         Assert.assertEquals(parseResult.getOrderBy().get(0).toString(), targetSort.toString());
 
-        sql = "select id,productStatus from index.trx_order order by nvl(nested_doc(product.price), 0) asc";
+        sql = "select id,productStatus from index.trx_order order by nvl($product.price, 0) asc";
         sql2DslParser = new ElasticSql2DslParser();
         parseResult = sql2DslParser.parse(sql);
-        targetSort = SortBuilders.fieldSort("price").order(SortOrder.ASC).missing(0).setNestedPath("product");
+        targetSort = SortBuilders.fieldSort("product.price").order(SortOrder.ASC).missing(0).setNestedPath("product");
         Assert.assertEquals(parseResult.getOrderBy().get(0).toString(), targetSort.toString());
 
 
@@ -48,12 +48,12 @@ public class SqlParserOrderByTest {
         targetSort = SortBuilders.fieldSort("product.price").order(SortOrder.ASC).missing(0);
         Assert.assertEquals(parseResult.getOrderBy().get(0).toString(), targetSort.toString());
 
-        sql = "select id,productStatus from index.trx_order order by product.price asc,nested_doc(productTags.sortNo) desc";
+        sql = "select id,productStatus from index.trx_order order by product.price asc, $productTags.sortNo desc";
         sql2DslParser = new ElasticSql2DslParser();
         parseResult = sql2DslParser.parse(sql);
         targetSort = SortBuilders.fieldSort("product.price").order(SortOrder.ASC);
         Assert.assertEquals(parseResult.getOrderBy().get(0).toString(), targetSort.toString());
-        targetSort = SortBuilders.fieldSort("sortNo").order(SortOrder.DESC).setNestedPath("productTags");
+        targetSort = SortBuilders.fieldSort("productTags.sortNo").order(SortOrder.DESC).setNestedPath("productTags");
         Assert.assertEquals(parseResult.getOrderBy().get(1).toString(), targetSort.toString());
     }
 

+ 6 - 6
src/test/java/org/elasticsearch/SqlParserSelectFieldTest.java

@@ -52,17 +52,17 @@ public class SqlParserSelectFieldTest {
 
     @Test
     public void testInnerDocField() {
-        String sql = "select id,inner_doc(product.productStatus) from index.trx_order";
+        String sql = "select id,product.productStatus from index.trx_order";
         ElasticSql2DslParser sql2DslParser = new ElasticSql2DslParser();
         ElasticSqlParseResult parseResult = sql2DslParser.parse(sql);
         Assert.assertEquals(parseResult.getQueryFieldList().get(0), "id");
         Assert.assertEquals(parseResult.getQueryFieldList().get(1), "product.productStatus");
 
-        sql = "select inner_doc(trx.product.productStatus) from index.trx_order trx";
+        sql = "select trx.product.productStatus from index.trx_order trx";
         parseResult = sql2DslParser.parse(sql);
         Assert.assertEquals(parseResult.getQueryFieldList().get(0), "product.productStatus");
 
-        sql = "select inner_doc(tmp.product.productStatus) from index.trx_order trx";
+        sql = "select tmp.product.productStatus from index.trx_order trx";
         parseResult = sql2DslParser.parse(sql);
         Assert.assertEquals(parseResult.getQueryFieldList().get(0), "tmp.product.productStatus");
 
@@ -78,17 +78,17 @@ public class SqlParserSelectFieldTest {
 
     @Test
     public void testNestedDocField() {
-        String sql = "select id,nested_doc(product.productStatus) from index.trx_order";
+        String sql = "select id,$product.productStatus from index.trx_order";
         ElasticSql2DslParser sql2DslParser = new ElasticSql2DslParser();
         ElasticSqlParseResult parseResult = sql2DslParser.parse(sql);
         Assert.assertEquals(parseResult.getQueryFieldList().get(0), "id");
         Assert.assertEquals(parseResult.getQueryFieldList().get(1), "product.productStatus");
 
-        sql = "select nested_doc(trx.product.productStatus) from index.trx_order trx";
+        sql = "select trx.$product.productStatus from index.trx_order trx";
         parseResult = sql2DslParser.parse(sql);
         Assert.assertEquals(parseResult.getQueryFieldList().get(0), "product.productStatus");
 
-        sql = "select nested_doc(tmp.product.productStatus) from index.trx_order trx";
+        sql = "select $tmp.product.productStatus from index.trx_order trx";
         parseResult = sql2DslParser.parse(sql);
         Assert.assertEquals(parseResult.getQueryFieldList().get(0), "tmp.product.productStatus");
 

+ 1 - 24
src/test/java/org/elasticsearch/SqlParserWhereConditionTest.java

@@ -119,33 +119,10 @@ public class SqlParserWhereConditionTest {
         Assert.assertEquals(parseResult.getWhereCondition().toString(), targetFilter.toString());
     }
 
-    @Test
-    public void testMixFilter() {
-        String sql = "select p.displayName,p.id,p.code,p.trxPrice,p.investPeriod,p.investPeriodUnit,p.product.*"
-                + " from trx_index.product_multiple_trx as p"
-                + " where p.status = 'SUCCESS'"
-                + " and p.price > 48000"
-                + " and p.price < 60000"
-                + " and inner_doc(p.product.productType) = 'TRANSFER_REQUEST'"
-                + " and inner_doc(p.product.productCategory) in ('203', '204', '903')"
-                + " and inner_doc(p.product.interestRate) >= 0.041"
-                + " and inner_doc(p.product.investPeriodInDays) between 90 and 180"
-                + " and p.updatedAt >= date('yyyy-MM-dd', '2016-01-01')"
-                + " and p.updatedAt < '2017-01-01'"
-                + " and (p.product.salesArea in ('2', '3', '4') or p.product.productCategory in ('901', '902'))"
-                + " and (p.salesRegion is null or p.salesRegion = '2')"
-                + " and nested_doc(p.productTags.type) in (?, ?)"
-                + " order by nvl(p.price, 0) asc, nvl(inner_doc(p.product.interestRate), 0) desc";
-
-
-        ElasticSql2DslParser sql2DslParser = new ElasticSql2DslParser();
-        ElasticSqlParseResult parseResult = sql2DslParser.parse(sql, new Object[]{"RM", "CX"});
-        System.out.println(parseResult.toString());
-    }
 
     @Test
     public void test$Expr() {
-        String sql = "select * from index where a.$b.c.$d > 2";
+        String sql = "select * from index where a.$b.c.$d.e > 2";
         ElasticSql2DslParser sql2DslParser = new ElasticSql2DslParser();
         ElasticSqlParseResult parseResult = sql2DslParser.parse(sql);
         System.out.println(parseResult.toString());