sigmod commented on a change in pull request #32060:
URL: https://github.com/apache/spark/pull/32060#discussion_r608420223
##########
File path:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/trees/TreeNode.scala
##########
@@ -90,6 +139,66 @@ abstract class TreeNode[BaseType <: TreeNode[BaseType]]
extends Product {
*/
private val tags: mutable.Map[TreeNodeTag[_], Any] = mutable.Map.empty
+ /**
+ * A bit set of tree patterns for this TreeNode and its subtree. If this
TreeNode node and its
+ * subtree contains a pattern `P`, the corresponding bit for `P.id` is set
in this BitSet.
+ */
+ override lazy val treePatternBits: BitSet = {
+ val bits: BitSet = new BitSet(TreePattern.maxId)
+ // Propagate node pattern bits
+ val nodePatternIterator = nodePatterns.iterator
+ while (nodePatternIterator.hasNext) {
+ bits.set(nodePatternIterator.next().id)
+ }
+ // Propagate children's pattern bits
+ val childIterator = children.iterator
Review comment:
The same reason as above.
--
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:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]