You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2022/07/17 07:06:25 UTC
[GitHub] [shardingsphere] iisheng opened a new pull request, #19287: ExpressionProjection add parameters field to support expression aggregation
iisheng opened a new pull request, #19287:
URL: https://github.com/apache/shardingsphere/pull/19287
Fixes #17402 .
Fixes #18261 .
Changes proposed in this pull request:
- ExpressionProjection add parameters field
- AggregationProjection alias field add setter method
- Add AggregationProjection constructor method
- Modify ProjectionsContext#getAggregationProjections
- Modify ProjectionEngine#createProjection
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [shardingsphere] iisheng commented on pull request #19287: ExpressionProjection add parameters field to support expression aggregation
Posted by GitBox <gi...@apache.org>.
iisheng commented on PR #19287:
URL: https://github.com/apache/shardingsphere/pull/19287#issuecomment-1192364796
> @iisheng Please sync the latest master branch code.
Down
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [shardingsphere] iisheng commented on a diff in pull request #19287: ExpressionProjection add parameters field to support expression aggregation
Posted by GitBox <gi...@apache.org>.
iisheng commented on code in PR #19287:
URL: https://github.com/apache/shardingsphere/pull/19287#discussion_r922823291
##########
shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/AggregationProjection.java:
##########
@@ -45,7 +43,8 @@ public class AggregationProjection implements Projection {
private final String innerExpression;
- private final String alias;
Review Comment:
In general, "alias" was initialized by constructor method. But when AggregationProjection belong to ExpressionProjection, I want to reset AggregationProjection's alias.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [shardingsphere] iisheng commented on a diff in pull request #19287: ExpressionProjection add parameters field to support expression aggregation
Posted by GitBox <gi...@apache.org>.
iisheng commented on code in PR #19287:
URL: https://github.com/apache/shardingsphere/pull/19287#discussion_r925127690
##########
shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/projection/engine/ProjectionEngine.java:
##########
@@ -125,8 +128,16 @@ private ColumnProjection createProjection(final ColumnProjectionSegment projecti
return new ColumnProjection(owner, projectionSegment.getColumn().getIdentifier().getValue(), projectionSegment.getAlias().orElse(null));
}
- private ExpressionProjection createProjection(final ExpressionProjectionSegment projectionSegment) {
- return new ExpressionProjection(projectionSegment.getText(), projectionSegment.getAlias().orElse(null));
+ private ExpressionProjection createProjection(final TableSegment table, final ExpressionProjectionSegment projectionSegment) {
Review Comment:
OK, I'll do that.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [shardingsphere] strongduanmu commented on a diff in pull request #19287: ExpressionProjection add parameters field to support expression aggregation
Posted by GitBox <gi...@apache.org>.
strongduanmu commented on code in PR #19287:
URL: https://github.com/apache/shardingsphere/pull/19287#discussion_r928347331
##########
shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/projection/ProjectionsContext.java:
##########
@@ -147,10 +148,28 @@ public List<AggregationProjection> getAggregationProjections() {
result.add(aggregationProjection);
result.addAll(aggregationProjection.getDerivedAggregationProjections());
}
+ if (each instanceof ExpressionProjection) {
+ addExpressionProjectionInsideAggregationProjection((ExpressionProjection) each, result);
+ }
}
return result;
}
+ private void addExpressionProjectionInsideAggregationProjection(final ExpressionProjection expressionProjection, final List<AggregationProjection> result) {
+ Collection<Projection> parameters = expressionProjection.getParameters();
Review Comment:
Why is the parameters parameter required in expressionProjection ?
##########
shardingsphere-infra/shardingsphere-infra-binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/select/projection/engine/ProjectionEngineTest.java:
##########
@@ -114,11 +120,33 @@ public void assertCreateProjectionWhenProjectionSegmentInstanceOfColumnProjectio
@Test
public void assertCreateProjectionWhenProjectionSegmentInstanceOfExpressionProjectionSegment() {
- ExpressionProjectionSegment expressionProjectionSegment = new ExpressionProjectionSegment(0, 10, "text");
- Optional<Projection> actual = new ProjectionEngine(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap(DefaultDatabase.LOGIC_NAME, schema), databaseType).createProjection(mock(TableSegment.class), expressionProjectionSegment);
- assertTrue(actual.isPresent());
- assertThat(actual.get(), instanceOf(ExpressionProjection.class));
+ List<ExpressionSegment> list = getExpressionSegments();
+ list.forEach(expressionSegment -> {
+ ExpressionProjectionSegment expressionProjectionSegment = new ExpressionProjectionSegment(0, 10, "text", expressionSegment);
+ Optional<Projection> actual = new ProjectionEngine(DefaultDatabase.LOGIC_NAME,
+ Collections.singletonMap(DefaultDatabase.LOGIC_NAME, schema), databaseType).createProjection(mock(TableSegment.class), expressionProjectionSegment);
+ assertTrue(actual.isPresent());
+ assertThat(actual.get(), instanceOf(ExpressionProjection.class));
+ if (null != expressionSegment) {
+ ExpressionProjection actualExpressionProjection = (ExpressionProjection) actual.get();
+ assertTrue(actualExpressionProjection.getParameters().size() > 0);
+ }
+ });
+ }
+
+ private List<ExpressionSegment> getExpressionSegments() {
+ List<ExpressionSegment> list = new ArrayList<>();
+ FunctionSegment functionSegment = new FunctionSegment(7, 28, "IFNULL", "IFNULL(MAX(status), 0)");
+ AggregationProjectionSegment parameter = new AggregationProjectionSegment(14, 24, AggregationType.MAX, "(status)");
+ functionSegment.getParameters().add(parameter);
+ list.add(functionSegment);
+
Review Comment:
Please remove useless blank line.
##########
shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/expression/ExpressionAssert.java:
##########
@@ -378,8 +379,12 @@ public static void assertExpression(final SQLCaseAssertContext assertContext,
ProjectionAssert.assertProjection(assertContext,
(ExpressionProjectionSegment) actual, expected.getExpressionProjection());
} else if (actual instanceof AggregationProjectionSegment) {
+ ExpectedAggregationProjection expectedAggregationProjection = expected.getAggregationProjection();
Review Comment:
Please move this logic to assertProjection.
##########
shardingsphere-infra/shardingsphere-infra-binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/select/projection/engine/ProjectionEngineTest.java:
##########
@@ -114,11 +120,33 @@ public void assertCreateProjectionWhenProjectionSegmentInstanceOfColumnProjectio
@Test
public void assertCreateProjectionWhenProjectionSegmentInstanceOfExpressionProjectionSegment() {
- ExpressionProjectionSegment expressionProjectionSegment = new ExpressionProjectionSegment(0, 10, "text");
- Optional<Projection> actual = new ProjectionEngine(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap(DefaultDatabase.LOGIC_NAME, schema), databaseType).createProjection(mock(TableSegment.class), expressionProjectionSegment);
- assertTrue(actual.isPresent());
- assertThat(actual.get(), instanceOf(ExpressionProjection.class));
+ List<ExpressionSegment> list = getExpressionSegments();
+ list.forEach(expressionSegment -> {
+ ExpressionProjectionSegment expressionProjectionSegment = new ExpressionProjectionSegment(0, 10, "text", expressionSegment);
+ Optional<Projection> actual = new ProjectionEngine(DefaultDatabase.LOGIC_NAME,
+ Collections.singletonMap(DefaultDatabase.LOGIC_NAME, schema), databaseType).createProjection(mock(TableSegment.class), expressionProjectionSegment);
+ assertTrue(actual.isPresent());
+ assertThat(actual.get(), instanceOf(ExpressionProjection.class));
+ if (null != expressionSegment) {
+ ExpressionProjection actualExpressionProjection = (ExpressionProjection) actual.get();
+ assertTrue(actualExpressionProjection.getParameters().size() > 0);
+ }
+ });
+ }
+
+ private List<ExpressionSegment> getExpressionSegments() {
+ List<ExpressionSegment> list = new ArrayList<>();
+ FunctionSegment functionSegment = new FunctionSegment(7, 28, "IFNULL", "IFNULL(MAX(status), 0)");
+ AggregationProjectionSegment parameter = new AggregationProjectionSegment(14, 24, AggregationType.MAX, "(status)");
+ functionSegment.getParameters().add(parameter);
+ list.add(functionSegment);
+
+ ExpressionSegment right = new LiteralExpressionSegment(25, 25, 1);
+ ExpressionSegment binaryOperationExpression = new BinaryOperationExpression(7, 25, parameter, right, "+", "IFNULL(status, 0)+1");
+ list.add(binaryOperationExpression);
+
Review Comment:
Please remove useless blank line.
##########
shardingsphere-infra/shardingsphere-infra-binder/src/test/java/org/apache/shardingsphere/infra/binder/segment/select/projection/ProjectionsContextTest.java:
##########
@@ -128,6 +144,13 @@ private AggregationProjection getAggregationProjection() {
return new AggregationProjection(AggregationType.COUNT, "(column)", "c", mock(DatabaseType.class));
}
+ private ExpressionProjection getContainsParametersExpressionProjection() {
+ AggregationProjection aggregationProjection = new AggregationProjection(AggregationType.MAX, "(status)", "IFNULL(MAX(status), 0)", mock(DatabaseType.class));
+ ExpressionProjection expressionProjection = new ExpressionProjection("IFNULL(MAX(status), 0)", null);
+ expressionProjection.getParameters().add(aggregationProjection);
+ return expressionProjection;
Review Comment:
Please return result here.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [shardingsphere] strongduanmu commented on pull request #19287: ExpressionProjection add parameters field to support expression aggregation
Posted by GitBox <gi...@apache.org>.
strongduanmu commented on PR #19287:
URL: https://github.com/apache/shardingsphere/pull/19287#issuecomment-1190990999
@iisheng Please sync the latest master branch code.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [shardingsphere] iisheng closed pull request #19287: ExpressionProjection add parameters field to support expression aggregation
Posted by GitBox <gi...@apache.org>.
iisheng closed pull request #19287: ExpressionProjection add parameters field to support expression aggregation
URL: https://github.com/apache/shardingsphere/pull/19287
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [shardingsphere] codecov-commenter commented on pull request #19287: ExpressionProjection add parameters field to support expression aggregation
Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on PR #19287:
URL: https://github.com/apache/shardingsphere/pull/19287#issuecomment-1186433537
# [Codecov](https://codecov.io/gh/apache/shardingsphere/pull/19287?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
> Merging [#19287](https://codecov.io/gh/apache/shardingsphere/pull/19287?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (7057429) into [master](https://codecov.io/gh/apache/shardingsphere/commit/04cbfa2a807811e15a80148351f6ca5d01c83da0?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (04cbfa2) will **decrease** coverage by `0.03%`.
> The diff coverage is `23.25%`.
```diff
@@ Coverage Diff @@
## master #19287 +/- ##
============================================
- Coverage 59.50% 59.47% -0.04%
Complexity 2371 2371
============================================
Files 3817 3817
Lines 54327 54370 +43
Branches 9244 9253 +9
============================================
+ Hits 32329 32336 +7
- Misses 19242 19275 +33
- Partials 2756 2759 +3
```
| [Impacted Files](https://codecov.io/gh/apache/shardingsphere/pull/19287?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
|---|---|---|
| [.../segment/select/projection/ProjectionsContext.java](https://codecov.io/gh/apache/shardingsphere/pull/19287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtaW5mcmEvc2hhcmRpbmdzcGhlcmUtaW5mcmEtYmluZGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGFyZGluZ3NwaGVyZS9pbmZyYS9iaW5kZXIvc2VnbWVudC9zZWxlY3QvcHJvamVjdGlvbi9Qcm9qZWN0aW9uc0NvbnRleHQuamF2YQ==) | `77.61% <0.00%> (-18.69%)` | :arrow_down: |
| [...t/select/projection/impl/ExpressionProjection.java](https://codecov.io/gh/apache/shardingsphere/pull/19287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtaW5mcmEvc2hhcmRpbmdzcGhlcmUtaW5mcmEtYmluZGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGFyZGluZ3NwaGVyZS9pbmZyYS9iaW5kZXIvc2VnbWVudC9zZWxlY3QvcHJvamVjdGlvbi9pbXBsL0V4cHJlc3Npb25Qcm9qZWN0aW9uLmphdmE=) | `0.00% <ø> (ø)` | |
| [...ent/select/projection/engine/ProjectionEngine.java](https://codecov.io/gh/apache/shardingsphere/pull/19287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtaW5mcmEvc2hhcmRpbmdzcGhlcmUtaW5mcmEtYmluZGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGFyZGluZ3NwaGVyZS9pbmZyYS9iaW5kZXIvc2VnbWVudC9zZWxlY3QvcHJvamVjdGlvbi9lbmdpbmUvUHJvamVjdGlvbkVuZ2luZS5qYXZh) | `78.37% <16.66%> (-17.13%)` | :arrow_down: |
| [.../select/projection/impl/AggregationProjection.java](https://codecov.io/gh/apache/shardingsphere/pull/19287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtaW5mcmEvc2hhcmRpbmdzcGhlcmUtaW5mcmEtYmluZGVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGFyZGluZ3NwaGVyZS9pbmZyYS9iaW5kZXIvc2VnbWVudC9zZWxlY3QvcHJvamVjdGlvbi9pbXBsL0FnZ3JlZ2F0aW9uUHJvamVjdGlvbi5qYXZh) | `83.33% <100.00%> (+33.33%)` | :arrow_up: |
| [...nd/text/distsql/ral/hint/enums/HintSourceType.java](https://codecov.io/gh/apache/shardingsphere/pull/19287/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtcHJveHkvc2hhcmRpbmdzcGhlcmUtcHJveHktYmFja2VuZC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hhcmRpbmdzcGhlcmUvcHJveHkvYmFja2VuZC90ZXh0L2Rpc3RzcWwvcmFsL2hpbnQvZW51bXMvSGludFNvdXJjZVR5cGUuamF2YQ==) | `0.00% <0.00%> (-42.86%)` | :arrow_down: |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/shardingsphere/pull/19287?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/shardingsphere/pull/19287?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [04cbfa2...7057429](https://codecov.io/gh/apache/shardingsphere/pull/19287?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [shardingsphere] iisheng commented on pull request #19287: ExpressionProjection add parameters field to support expression aggregation
Posted by GitBox <gi...@apache.org>.
iisheng commented on PR #19287:
URL: https://github.com/apache/shardingsphere/pull/19287#issuecomment-1186499073
> @iisheng Please add unit test and integration test to cover this logic.
OK
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [shardingsphere] strongduanmu commented on a diff in pull request #19287: ExpressionProjection add parameters field to support expression aggregation
Posted by GitBox <gi...@apache.org>.
strongduanmu commented on code in PR #19287:
URL: https://github.com/apache/shardingsphere/pull/19287#discussion_r922813821
##########
shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/AggregationProjection.java:
##########
@@ -45,7 +43,8 @@ public class AggregationProjection implements Projection {
private final String innerExpression;
- private final String alias;
Review Comment:
Why remove final modifier?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [shardingsphere] iisheng commented on a diff in pull request #19287: ExpressionProjection add parameters field to support expression aggregation
Posted by GitBox <gi...@apache.org>.
iisheng commented on code in PR #19287:
URL: https://github.com/apache/shardingsphere/pull/19287#discussion_r928472973
##########
shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/segment/expression/ExpressionAssert.java:
##########
@@ -378,8 +379,12 @@ public static void assertExpression(final SQLCaseAssertContext assertContext,
ProjectionAssert.assertProjection(assertContext,
(ExpressionProjectionSegment) actual, expected.getExpressionProjection());
} else if (actual instanceof AggregationProjectionSegment) {
+ ExpectedAggregationProjection expectedAggregationProjection = expected.getAggregationProjection();
Review Comment:
This logic is for get expected unit test object, should not move to assertProjection.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [shardingsphere] strongduanmu commented on a diff in pull request #19287: ExpressionProjection add parameters field to support expression aggregation
Posted by GitBox <gi...@apache.org>.
strongduanmu commented on code in PR #19287:
URL: https://github.com/apache/shardingsphere/pull/19287#discussion_r925116958
##########
shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dml/select-special-function.xml:
##########
@@ -211,4 +211,92 @@
<simple-table name="t_order" start-index="29" stop-index="35" />
</from>
</select>
+
+ <select sql-case-id="select_ifnull">
Review Comment:
This PR should not change the SQL parsing, so there is no need to add additional SQL Parser test cases.
##########
shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/projection/engine/ProjectionEngine.java:
##########
@@ -125,8 +128,16 @@ private ColumnProjection createProjection(final ColumnProjectionSegment projecti
return new ColumnProjection(owner, projectionSegment.getColumn().getIdentifier().getValue(), projectionSegment.getAlias().orElse(null));
}
- private ExpressionProjection createProjection(final ExpressionProjectionSegment projectionSegment) {
- return new ExpressionProjection(projectionSegment.getText(), projectionSegment.getAlias().orElse(null));
+ private ExpressionProjection createProjection(final TableSegment table, final ExpressionProjectionSegment projectionSegment) {
Review Comment:
We need add unit test and integration test to cover these new logics.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org