MCPcopy Create free account
hub / github.com/apache/datafusion / write_child

Method write_child

datafusion/physical-expr/src/expressions/binary.rs:133–150  ·  view source on GitHub ↗
(
            f: &mut std::fmt::Formatter,
            expr: &dyn PhysicalExpr,
            precedence: u8,
        )

Source from the content-addressed store, hash-verified

131 // equivalent and the parentheses are not necessary.
132
133 fn write_child(
134 f: &mut std::fmt::Formatter,
135 expr: &dyn PhysicalExpr,
136 precedence: u8,
137 ) -> std::fmt::Result {
138 if let Some(child) = expr.downcast_ref::<BinaryExpr>() {
139 let p = child.op.precedence();
140 if p == 0 || p < precedence {
141 write!(f, "({child})")?;
142 } else {
143 write!(f, "{child}")?;
144 }
145 } else {
146 write!(f, "{expr}")?;
147 }
148
149 Ok(())
150 }
151
152 let precedence = self.op.precedence();
153 write_child(f, self.left.as_ref(), precedence)?;

Callers

nothing calls this directly

Calls 2

precedenceMethod · 0.80
fmt_sqlMethod · 0.45

Tested by

no test coverage detected