You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ignite.apache.org by GitBox <gi...@apache.org> on 2020/04/07 19:35:59 UTC

[GitHub] [ignite] gvvinblade opened a new pull request #7638: IGNITE-12871: Calcite integration. Broadcast to hash conversion without exchange

gvvinblade opened a new pull request #7638: IGNITE-12871: Calcite integration. Broadcast to hash conversion without exchange
URL: https://github.com/apache/ignite/pull/7638
 
 
   …ut exchange.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [ignite] gvvinblade closed pull request #7638: IGNITE-12871: Calcite integration. Broadcast to hash conversion without exchange

Posted by GitBox <gi...@apache.org>.
gvvinblade closed pull request #7638: IGNITE-12871: Calcite integration. Broadcast to hash conversion without exchange
URL: https://github.com/apache/ignite/pull/7638
 
 
   

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [ignite] rkondakov commented on a change in pull request #7638: IGNITE-12871: Calcite integration. Broadcast to hash conversion without exchange

Posted by GitBox <gi...@apache.org>.
rkondakov commented on a change in pull request #7638: IGNITE-12871: Calcite integration. Broadcast to hash conversion without exchange
URL: https://github.com/apache/ignite/pull/7638#discussion_r405446488
 
 

 ##########
 File path: modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteHashFilter.java
 ##########
 @@ -0,0 +1,71 @@
+/*
+ * 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.ignite.internal.processors.query.calcite.rel;
+
+import java.util.List;
+import org.apache.calcite.plan.RelOptCluster;
+import org.apache.calcite.plan.RelTraitSet;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.SingleRel;
+import org.apache.ignite.internal.processors.query.calcite.prepare.RelTarget;
+import org.apache.ignite.internal.processors.query.calcite.prepare.RelTargetAware;
+import org.apache.ignite.internal.processors.query.calcite.trait.DistributionTraitDef;
+
+import static org.apache.calcite.rel.RelDistribution.Type.BROADCAST_DISTRIBUTED;
+import static org.apache.calcite.rel.RelDistribution.Type.HASH_DISTRIBUTED;
+
+/**
+ *
+ */
+public class IgniteHashFilter extends SingleRel implements IgniteRel, RelTargetAware {
 
 Review comment:
   IMO it is a poor name for this process. It can be easily confused with `IgniteFilter` despite it is a kind of exchange. I think we need to rename it to something more meaningful. For example in the [SQL Server PDW paper](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.473.9943&rep=rep1&type=pdf) this node is called "Trim move". What if we call it in the same manner: `TreamExchange`? Or simply `BroadcastToHashExchange`? 

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [ignite] gvvinblade commented on a change in pull request #7638: IGNITE-12871: Calcite integration. Broadcast to hash conversion without exchange

Posted by GitBox <gi...@apache.org>.
gvvinblade commented on a change in pull request #7638: IGNITE-12871: Calcite integration. Broadcast to hash conversion without exchange
URL: https://github.com/apache/ignite/pull/7638#discussion_r407574258
 
 

 ##########
 File path: modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteHashFilter.java
 ##########
 @@ -0,0 +1,71 @@
+/*
+ * 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.ignite.internal.processors.query.calcite.rel;
+
+import java.util.List;
+import org.apache.calcite.plan.RelOptCluster;
+import org.apache.calcite.plan.RelTraitSet;
+import org.apache.calcite.rel.RelNode;
+import org.apache.calcite.rel.SingleRel;
+import org.apache.ignite.internal.processors.query.calcite.prepare.RelTarget;
+import org.apache.ignite.internal.processors.query.calcite.prepare.RelTargetAware;
+import org.apache.ignite.internal.processors.query.calcite.trait.DistributionTraitDef;
+
+import static org.apache.calcite.rel.RelDistribution.Type.BROADCAST_DISTRIBUTED;
+import static org.apache.calcite.rel.RelDistribution.Type.HASH_DISTRIBUTED;
+
+/**
+ *
+ */
+public class IgniteHashFilter extends SingleRel implements IgniteRel, RelTargetAware {
 
 Review comment:
   You right the name is ugly, I tried to differ the rel node from Exchange since IgniteExchange is a special logical node, a cutting point for a splitter while IgniteHashFilter describes a physical operation. TrimExchange sounds better, it at least describes what actually is being done 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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services