Skip to content

Commit 1df5fae

Browse files
committed
to fix field path and nested name
1 parent 1d1002a commit 1df5fae

File tree

6 files changed

+31
-29
lines changed

6 files changed

+31
-29
lines changed

es6/sql-bridge/src/test/scala/app/softnetwork/elastic/sql/SQLQuerySpec.scala

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
107107
val result = results.head
108108
result.nested shouldBe true
109109
result.distinct shouldBe false
110-
result.aggName shouldBe "nested_emails.email"
110+
result.aggName shouldBe "inner_emails.email"
111111
result.field shouldBe "email"
112112
result.sources shouldBe Seq[String]("index")
113113
result.query.getOrElse("") shouldBe
@@ -127,7 +127,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
127127
| },
128128
| "size": 0,
129129
| "aggs": {
130-
| "nested_emails": {
130+
| "inner_emails": {
131131
| "nested": {
132132
| "path": "emails"
133133
| },
@@ -152,7 +152,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
152152
val result = results.head
153153
result.nested shouldBe true
154154
result.distinct shouldBe false
155-
result.aggName shouldBe "nested_emails.count_emails"
155+
result.aggName shouldBe "inner_emails.count_emails"
156156
result.field shouldBe "count_emails"
157157
result.sources shouldBe Seq[String]("index")
158158
val query = result.query.getOrElse("")
@@ -190,7 +190,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
190190
| },
191191
| "size": 0,
192192
| "aggs": {
193-
| "nested_emails": {
193+
| "inner_emails": {
194194
| "nested": {
195195
| "path": "emails"
196196
| },
@@ -215,7 +215,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
215215
val result = results.head
216216
result.nested shouldBe true
217217
result.distinct shouldBe false
218-
result.aggName shouldBe "nested_emails.filtered_agg.count_emails"
218+
result.aggName shouldBe "inner_emails.filtered_agg.count_emails"
219219
result.field shouldBe "count_emails"
220220
result.sources shouldBe Seq[String]("index")
221221
val query = result.query.getOrElse("")
@@ -253,7 +253,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
253253
| },
254254
| "size": 0,
255255
| "aggs": {
256-
| "nested_emails": {
256+
| "inner_emails": {
257257
| "nested": {
258258
| "path": "emails"
259259
| },
@@ -289,7 +289,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
289289
val result = results.head
290290
result.nested shouldBe true
291291
result.distinct shouldBe true
292-
result.aggName shouldBe "nested_emails.count_emails"
292+
result.aggName shouldBe "inner_emails.count_emails"
293293
result.field shouldBe "count_emails"
294294
result.sources shouldBe Seq[String]("index")
295295
val query = result.query.getOrElse("")
@@ -338,7 +338,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
338338
| },
339339
| "size": 0,
340340
| "aggs": {
341-
| "nested_emails": {
341+
| "inner_emails": {
342342
| "nested": {
343343
| "path": "emails"
344344
| },
@@ -363,7 +363,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
363363
val result = results.head
364364
result.nested shouldBe true
365365
result.distinct shouldBe true
366-
result.aggName shouldBe "nested_emails.count_distinct_emails"
366+
result.aggName shouldBe "inner_emails.count_distinct_emails"
367367
result.field shouldBe "count_distinct_emails"
368368
result.sources shouldBe Seq[String]("index")
369369
val query = result.query.getOrElse("")
@@ -406,7 +406,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
406406
| },
407407
| "size": 0,
408408
| "aggs": {
409-
| "nested_emails": {
409+
| "inner_emails": {
410410
| "nested": {
411411
| "path": "emails"
412412
| },
@@ -752,7 +752,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
752752
| "min_score": 1.0,
753753
| "_source": true,
754754
| "aggs": {
755-
| "nested_products": {
755+
| "inner_products": {
756756
| "nested": {
757757
| "path": "products"
758758
| },
@@ -3439,7 +3439,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
34393439
| "field": "popularity"
34403440
| }
34413441
| },
3442-
| "nested_comments": {
3442+
| "comments": {
34433443
| "nested": {
34443444
| "path": "comments"
34453445
| },

sql/bridge/src/test/scala/app/softnetwork/elastic/sql/SQLQuerySpec.scala

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
107107
val result = results.head
108108
result.nested shouldBe true
109109
result.distinct shouldBe false
110-
result.aggName shouldBe "nested_emails.email"
110+
result.aggName shouldBe "inner_emails.email"
111111
result.field shouldBe "email"
112112
result.sources shouldBe Seq[String]("index")
113113
result.query.getOrElse("") shouldBe
@@ -127,7 +127,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
127127
| },
128128
| "size": 0,
129129
| "aggs": {
130-
| "nested_emails": {
130+
| "inner_emails": {
131131
| "nested": {
132132
| "path": "emails"
133133
| },
@@ -152,7 +152,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
152152
val result = results.head
153153
result.nested shouldBe true
154154
result.distinct shouldBe false
155-
result.aggName shouldBe "nested_emails.count_emails"
155+
result.aggName shouldBe "inner_emails.count_emails"
156156
result.field shouldBe "count_emails"
157157
result.sources shouldBe Seq[String]("index")
158158
val query = result.query.getOrElse("")
@@ -190,7 +190,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
190190
| },
191191
| "size": 0,
192192
| "aggs": {
193-
| "nested_emails": {
193+
| "inner_emails": {
194194
| "nested": {
195195
| "path": "emails"
196196
| },
@@ -215,7 +215,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
215215
val result = results.head
216216
result.nested shouldBe true
217217
result.distinct shouldBe false
218-
result.aggName shouldBe "nested_emails.filtered_agg.count_emails"
218+
result.aggName shouldBe "inner_emails.filtered_agg.count_emails"
219219
result.field shouldBe "count_emails"
220220
result.sources shouldBe Seq[String]("index")
221221
val query = result.query.getOrElse("")
@@ -253,7 +253,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
253253
| },
254254
| "size": 0,
255255
| "aggs": {
256-
| "nested_emails": {
256+
| "inner_emails": {
257257
| "nested": {
258258
| "path": "emails"
259259
| },
@@ -289,7 +289,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
289289
val result = results.head
290290
result.nested shouldBe true
291291
result.distinct shouldBe true
292-
result.aggName shouldBe "nested_emails.count_emails"
292+
result.aggName shouldBe "inner_emails.count_emails"
293293
result.field shouldBe "count_emails"
294294
result.sources shouldBe Seq[String]("index")
295295
val query = result.query.getOrElse("")
@@ -338,7 +338,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
338338
| },
339339
| "size": 0,
340340
| "aggs": {
341-
| "nested_emails": {
341+
| "inner_emails": {
342342
| "nested": {
343343
| "path": "emails"
344344
| },
@@ -363,7 +363,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
363363
val result = results.head
364364
result.nested shouldBe true
365365
result.distinct shouldBe true
366-
result.aggName shouldBe "nested_emails.count_distinct_emails"
366+
result.aggName shouldBe "inner_emails.count_distinct_emails"
367367
result.field shouldBe "count_distinct_emails"
368368
result.sources shouldBe Seq[String]("index")
369369
val query = result.query.getOrElse("")
@@ -406,7 +406,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
406406
| },
407407
| "size": 0,
408408
| "aggs": {
409-
| "nested_emails": {
409+
| "inner_emails": {
410410
| "nested": {
411411
| "path": "emails"
412412
| },
@@ -752,7 +752,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
752752
| "min_score": 1.0,
753753
| "_source": true,
754754
| "aggs": {
755-
| "nested_products": {
755+
| "inner_products": {
756756
| "nested": {
757757
| "path": "products"
758758
| },
@@ -3439,7 +3439,7 @@ class SQLQuerySpec extends AnyFlatSpec with Matchers {
34393439
| "field": "popularity"
34403440
| }
34413441
| },
3442-
| "nested_comments": {
3442+
| "comments": {
34433443
| "nested": {
34443444
| "path": "comments"
34453445
| },

sql/src/main/scala/app/softnetwork/elastic/sql/package.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -488,8 +488,6 @@ package object sql {
488488
fun.toSQL(expr)
489489
}) // FIXME use AliasUtils.normalize?
490490

491-
lazy val nestedType: Option[String] = if (nested) Some(name.split('.').head) else None
492-
493491
lazy val innerHitsName: Option[String] = if (nested) tableAlias else None
494492

495493
lazy val aliasOrName: String = fieldAlias.getOrElse(name)

sql/src/main/scala/app/softnetwork/elastic/sql/query/GroupBy.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ case class Bucket(
5555
} else {
5656
identifier.name
5757
}
58-
lazy val nested: Boolean = identifier.nested
58+
lazy val nested: Boolean = nestedElement.isDefined
5959
lazy val nestedElement: Option[NestedElement] = identifier.nestedElement
6060
lazy val nestedBucket: Option[String] =
61-
identifier.nestedType.map(t => s"nested_$t")
61+
identifier.nestedElement.map(_.innerHitsName)
6262

6363
lazy val name: String = identifier.fieldAlias.getOrElse(sourceBucket.replace(".", "_"))
6464
}

sql/src/main/scala/app/softnetwork/elastic/sql/query/Select.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ case class Field(
7373
override def validate(): Either[String, Unit] = identifier.validate()
7474

7575
lazy val nested: Boolean = identifier.nested
76+
77+
lazy val path: String = identifier.path
7678
}
7779

7880
case object Except extends Expr("except") with TokenRegex

sql/src/main/scala/app/softnetwork/elastic/sql/query/Where.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,9 @@ sealed abstract class ElasticRelation(val criteria: Criteria, val operator: Elas
554554
private[this] def rtype(criteria: Criteria): Option[String] = criteria match {
555555
case Predicate(left, _, right, _, _) => rtype(left).orElse(rtype(right))
556556
case c: Expression =>
557-
c.identifier.nestedType.orElse(c.identifier.name.split('.').headOption)
557+
c.identifier.nestedElement
558+
.map(_.innerHitsName)
559+
.orElse(c.identifier.name.split('.').headOption)
558560
case relation: ElasticRelation => relation.relationType
559561
case _ => None
560562
}

0 commit comments

Comments
 (0)