Returns the descriptor of the scan slot that directly or indirectly produces the values of 'this' SlotRef. Traverses the source exprs of intermediate slot descriptors to resolve materialization points (e.g., aggregations). Returns null if 'e' or any source expr of 'e' is not a SlotRef or cast SlotRe
()
| 1757 | * Returns null if 'e' or any source expr of 'e' is not a SlotRef or cast SlotRef. |
| 1758 | */ |
| 1759 | public SlotDescriptor findSrcScanSlot() { |
| 1760 | Expr sourceExpr = findSrcExpr(); |
| 1761 | if (sourceExpr == null) { |
| 1762 | return null; |
| 1763 | } |
| 1764 | SlotRef slotRef = sourceExpr.unwrapSlotRef(false); |
| 1765 | if (slotRef == null) { |
| 1766 | return null; |
| 1767 | } |
| 1768 | return slotRef.getDesc(); |
| 1769 | } |
| 1770 | |
| 1771 | /** |
| 1772 | * Pushes negation to the individual operands of a predicate |
no test coverage detected