MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / worst_case_scaling_factor

Method worst_case_scaling_factor

src/expr/src/scalar.rs:1647–1672  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

1645 }
1646
1647 pub fn worst_case_scaling_factor(&self) -> f64 {
1648 let mut factor = 1.0;
1649
1650 if self.literal_equality {
1651 factor *= 0.1;
1652 }
1653
1654 if self.is_null {
1655 factor *= 0.1;
1656 }
1657
1658 if self.literal_inequality >= 2 {
1659 factor *= 0.25;
1660 } else if self.literal_inequality == 1 {
1661 factor *= 0.33;
1662 }
1663
1664 // catch various negated filters, treat them pessimistically
1665 if !(self.literal_equality || self.is_null || self.literal_inequality > 0)
1666 && self.any_filter
1667 {
1668 factor *= 0.9;
1669 }
1670
1671 factor
1672 }
1673}
1674
1675#[derive(

Callers 1

actionMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected