You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by "xiangfu0 (via GitHub)" <gi...@apache.org> on 2023/04/25 08:43:54 UTC
[GitHub] [pinot] xiangfu0 opened a new pull request, #10685: [multistage] Decorrelate plan before optimizer
xiangfu0 opened a new pull request, #10685:
URL: https://github.com/apache/pinot/pull/10685
We need to decorrelate before optimizer inserting all the exchange nodes.
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] walterddr commented on a diff in pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "walterddr (via GitHub)" <gi...@apache.org>.
walterddr commented on code in PR #10685:
URL: https://github.com/apache/pinot/pull/10685#discussion_r1178002040
##########
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/queries/ResourceBasedQueriesTest.java:
##########
@@ -375,9 +375,13 @@ private static Object[][] testResourceQueryTestCaseProviderWithMetadata()
: replaceTableName(testCaseName, queryCase._sql);
int segmentCount = 0;
- for (String tableName : testCaseEntry.getValue()._tables.keySet()) {
- segmentCount +=
- _tableToSegmentMap.getOrDefault(testCaseName + "_" + tableName + "_OFFLINE", new HashSet<>()).size();
+ if (queryCase._expectedNumSegments != null) {
Review Comment:
hmm. I am not sure this is the right way to test. a simple final result check should already be sufficient (if not we should make the test case so that it is impossible to do it other than running 2 joins)
but for now i think this would be useful
- in the future we want to assert segment pruner behavior
- if we were to use this for the table scan twice purpose please add a `"comment"` in the JSON to indicate so
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] xiangfu0 commented on a diff in pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on code in PR #10685:
URL: https://github.com/apache/pinot/pull/10685#discussion_r1176774515
##########
pinot-common/src/main/java/org/apache/pinot/common/request/context/RequestContextUtils.java:
##########
@@ -119,7 +119,11 @@ public static FilterContext getFilter(Expression thriftExpression) {
return new FilterContext(FilterContext.Type.PREDICATE, null,
new EqPredicate(getExpression(thriftExpression), getStringValue(RequestUtils.getLiteralExpression(true))));
case LITERAL:
- // TODO: Handle literals.
+ // Skip "WHERE true"
Review Comment:
@Jackie-Jiang @walterddr
Somehow the sample query I added, after decorrelate, the parsed query will generate a predicate `"WHERE true"`.
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] walterddr commented on a diff in pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "walterddr (via GitHub)" <gi...@apache.org>.
walterddr commented on code in PR #10685:
URL: https://github.com/apache/pinot/pull/10685#discussion_r1178006743
##########
pinot-common/src/main/java/org/apache/pinot/common/request/context/RequestContextUtils.java:
##########
@@ -119,7 +119,11 @@ public static FilterContext getFilter(Expression thriftExpression) {
return new FilterContext(FilterContext.Type.PREDICATE, null,
new EqPredicate(getExpression(thriftExpression), getStringValue(RequestUtils.getLiteralExpression(true))));
case LITERAL:
- // TODO: Handle literals.
+ // Skip "WHERE true"
Review Comment:
oh.... shoot. that's unfortunate. for now a temp solution is to skip literal WHERE "true" . please still keep the TODO for handle literal since it is not actually handled
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] walterddr commented on a diff in pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "walterddr (via GitHub)" <gi...@apache.org>.
walterddr commented on code in PR #10685:
URL: https://github.com/apache/pinot/pull/10685#discussion_r1179286510
##########
pinot-query-planner/src/main/java/org/apache/calcite/rel/rules/PinotLiteralFilterRule.java:
##########
@@ -0,0 +1,85 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.calcite.rel.rules;
+
+import java.util.Collections;
+import org.apache.calcite.plan.RelOptRule;
+import org.apache.calcite.plan.RelOptRuleCall;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.core.Filter;
+import org.apache.calcite.rel.logical.LogicalFilter;
+import org.apache.calcite.rex.RexCall;
+import org.apache.calcite.rex.RexNode;
+import org.apache.calcite.tools.RelBuilder;
+import org.apache.calcite.tools.RelBuilderFactory;
+
+
+public class PinotLiteralFilterRule extends RelOptRule {
Review Comment:
can't we use calcite's `ReduceExpressionsRule`?
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] xiangfu0 commented on a diff in pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on code in PR #10685:
URL: https://github.com/apache/pinot/pull/10685#discussion_r1179663696
##########
pinot-query-planner/src/main/java/org/apache/calcite/rel/rules/PinotLiteralFilterRule.java:
##########
@@ -0,0 +1,85 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.calcite.rel.rules;
+
+import java.util.Collections;
+import org.apache.calcite.plan.RelOptRule;
+import org.apache.calcite.plan.RelOptRuleCall;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.core.Filter;
+import org.apache.calcite.rel.logical.LogicalFilter;
+import org.apache.calcite.rex.RexCall;
+import org.apache.calcite.rex.RexNode;
+import org.apache.calcite.tools.RelBuilder;
+import org.apache.calcite.tools.RelBuilderFactory;
+
+
+public class PinotLiteralFilterRule extends RelOptRule {
Review Comment:
Fixed.
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] xiangfu0 commented on a diff in pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on code in PR #10685:
URL: https://github.com/apache/pinot/pull/10685#discussion_r1177403675
##########
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/queries/ResourceBasedQueriesTest.java:
##########
@@ -375,9 +375,13 @@ private static Object[][] testResourceQueryTestCaseProviderWithMetadata()
: replaceTableName(testCaseName, queryCase._sql);
int segmentCount = 0;
- for (String tableName : testCaseEntry.getValue()._tables.keySet()) {
- segmentCount +=
- _tableToSegmentMap.getOrDefault(testCaseName + "_" + tableName + "_OFFLINE", new HashSet<>()).size();
+ if (queryCase._expectedNumSegments != null) {
Review Comment:
The thing is that this query has two joins so one table is scanned twice.
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] codecov-commenter commented on pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #10685:
URL: https://github.com/apache/pinot/pull/10685#issuecomment-1521530222
## [Codecov](https://codecov.io/gh/apache/pinot/pull/10685?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 [#10685](https://codecov.io/gh/apache/pinot/pull/10685?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (6b77fba) into [master](https://codecov.io/gh/apache/pinot/commit/96d34fd280b154c9d6f8435ac787b7bebd1e631e?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (96d34fd) will **decrease** coverage by `56.47%`.
> The diff coverage is `0.00%`.
```diff
@@ Coverage Diff @@
## master #10685 +/- ##
=============================================
- Coverage 70.29% 13.82% -56.47%
+ Complexity 6514 439 -6075
=============================================
Files 2108 2054 -54
Lines 113904 111432 -2472
Branches 17192 16898 -294
=============================================
- Hits 80065 15406 -64659
- Misses 28229 94768 +66539
+ Partials 5610 1258 -4352
```
| Flag | Coverage Δ | |
|---|---|---|
| integration1 | `?` | |
| integration2 | `?` | |
| unittests1 | `?` | |
| unittests2 | `13.82% <0.00%> (-0.03%)` | :arrow_down: |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
| [Impacted Files](https://codecov.io/gh/apache/pinot/pull/10685?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
|---|---|---|
| [...ot/common/request/context/RequestContextUtils.java](https://codecov.io/gh/apache/pinot/pull/10685?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vcmVxdWVzdC9jb250ZXh0L1JlcXVlc3RDb250ZXh0VXRpbHMuamF2YQ==) | `0.00% <0.00%> (-65.15%)` | :arrow_down: |
| [.../java/org/apache/pinot/query/QueryEnvironment.java](https://codecov.io/gh/apache/pinot/pull/10685?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtcXVlcnktcGxhbm5lci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvcXVlcnkvUXVlcnlFbnZpcm9ubWVudC5qYXZh) | `0.00% <0.00%> (-93.48%)` | :arrow_down: |
... and [1661 files with indirect coverage changes](https://codecov.io/gh/apache/pinot/pull/10685/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
:mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] xiangfu0 commented on a diff in pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on code in PR #10685:
URL: https://github.com/apache/pinot/pull/10685#discussion_r1178542614
##########
pinot-common/src/main/java/org/apache/pinot/common/request/context/RequestContextUtils.java:
##########
@@ -119,7 +119,11 @@ public static FilterContext getFilter(Expression thriftExpression) {
return new FilterContext(FilterContext.Type.PREDICATE, null,
new EqPredicate(getExpression(thriftExpression), getStringValue(RequestUtils.getLiteralExpression(true))));
case LITERAL:
- // TODO: Handle literals.
+ // Skip "WHERE true"
Review Comment:
Added a PinotLiteralFilterRule to handle this in optimizer.
##########
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/queries/ResourceBasedQueriesTest.java:
##########
@@ -375,9 +375,13 @@ private static Object[][] testResourceQueryTestCaseProviderWithMetadata()
: replaceTableName(testCaseName, queryCase._sql);
int segmentCount = 0;
- for (String tableName : testCaseEntry.getValue()._tables.keySet()) {
- segmentCount +=
- _tableToSegmentMap.getOrDefault(testCaseName + "_" + tableName + "_OFFLINE", new HashSet<>()).size();
+ if (queryCase._expectedNumSegments != null) {
Review Comment:
done
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] walterddr commented on a diff in pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "walterddr (via GitHub)" <gi...@apache.org>.
walterddr commented on code in PR #10685:
URL: https://github.com/apache/pinot/pull/10685#discussion_r1178002040
##########
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/queries/ResourceBasedQueriesTest.java:
##########
@@ -375,9 +375,13 @@ private static Object[][] testResourceQueryTestCaseProviderWithMetadata()
: replaceTableName(testCaseName, queryCase._sql);
int segmentCount = 0;
- for (String tableName : testCaseEntry.getValue()._tables.keySet()) {
- segmentCount +=
- _tableToSegmentMap.getOrDefault(testCaseName + "_" + tableName + "_OFFLINE", new HashSet<>()).size();
+ if (queryCase._expectedNumSegments != null) {
Review Comment:
hmm. I am not sure this is the right way to test. a simple final result check should already be sufficient (if not we should make the test case so that it is impossible to do it other than running 2 joins)
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] walterddr commented on a diff in pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "walterddr (via GitHub)" <gi...@apache.org>.
walterddr commented on code in PR #10685:
URL: https://github.com/apache/pinot/pull/10685#discussion_r1176845359
##########
pinot-common/src/main/java/org/apache/pinot/common/request/context/RequestContextUtils.java:
##########
@@ -119,7 +119,11 @@ public static FilterContext getFilter(Expression thriftExpression) {
return new FilterContext(FilterContext.Type.PREDICATE, null,
new EqPredicate(getExpression(thriftExpression), getStringValue(RequestUtils.getLiteralExpression(true))));
case LITERAL:
- // TODO: Handle literals.
+ // Skip "WHERE true"
Review Comment:
it should be eliminated by filter optimization. instead of keeping the where true
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] xiangfu0 commented on a diff in pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on code in PR #10685:
URL: https://github.com/apache/pinot/pull/10685#discussion_r1177405613
##########
pinot-common/src/main/java/org/apache/pinot/common/request/context/RequestContextUtils.java:
##########
@@ -119,7 +119,11 @@ public static FilterContext getFilter(Expression thriftExpression) {
return new FilterContext(FilterContext.Type.PREDICATE, null,
new EqPredicate(getExpression(thriftExpression), getStringValue(RequestUtils.getLiteralExpression(true))));
case LITERAL:
- // TODO: Handle literals.
+ // Skip "WHERE true"
Review Comment:
It's actually not a filter, but the join condition. I will take a deeper look.
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] xiangfu0 merged pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 merged PR #10685:
URL: https://github.com/apache/pinot/pull/10685
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] walterddr commented on a diff in pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "walterddr (via GitHub)" <gi...@apache.org>.
walterddr commented on code in PR #10685:
URL: https://github.com/apache/pinot/pull/10685#discussion_r1177138148
##########
pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/queries/ResourceBasedQueriesTest.java:
##########
@@ -375,9 +375,13 @@ private static Object[][] testResourceQueryTestCaseProviderWithMetadata()
: replaceTableName(testCaseName, queryCase._sql);
int segmentCount = 0;
- for (String tableName : testCaseEntry.getValue()._tables.keySet()) {
- segmentCount +=
- _tableToSegmentMap.getOrDefault(testCaseName + "_" + tableName + "_OFFLINE", new HashSet<>()).size();
+ if (queryCase._expectedNumSegments != null) {
Review Comment:
what is this assert specifically doing? is it to test the segment level pruner?
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
[GitHub] [pinot] xiangfu0 commented on a diff in pull request #10685: [multistage] Decorrelate plan before optimizer
Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on code in PR #10685:
URL: https://github.com/apache/pinot/pull/10685#discussion_r1178456009
##########
pinot-query-planner/src/main/java/org/apache/calcite/rel/rules/PinotLiteralFilterRule.java:
##########
@@ -0,0 +1,85 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.calcite.rel.rules;
+
+import java.util.Collections;
+import org.apache.calcite.plan.RelOptRule;
+import org.apache.calcite.plan.RelOptRuleCall;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.core.Filter;
+import org.apache.calcite.rel.logical.LogicalFilter;
+import org.apache.calcite.rex.RexCall;
+import org.apache.calcite.rex.RexNode;
+import org.apache.calcite.tools.RelBuilder;
+import org.apache.calcite.tools.RelBuilderFactory;
+
+
+public class PinotLiteralFilterRule extends RelOptRule {
Review Comment:
@walterddr added a rule to remove the LiteralFilter
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org