MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / compare_column_values

Function compare_column_values

nodedb/src/engine/timeseries/projection.rs:74–83  ·  view source on GitHub ↗

Compare two rows by a single column's values.

(col: &ColumnData, a: usize, b: usize)

Source from the content-addressed store, hash-verified

72
73/// Compare two rows by a single column's values.
74fn compare_column_values(col: &ColumnData, a: usize, b: usize) -> std::cmp::Ordering {
75 match col {
76 ColumnData::Timestamp(v) => v[a].cmp(&v[b]),
77 ColumnData::Float64(v) => v[a].partial_cmp(&v[b]).unwrap_or(std::cmp::Ordering::Equal),
78 ColumnData::Int64(v) => v[a].cmp(&v[b]),
79 ColumnData::Symbol(v) => v[a].cmp(&v[b]),
80 // Compare dict-encoded rows by their string IDs (lexicographic by ID, not string value).
81 ColumnData::DictEncoded { ids, .. } => ids[a].cmp(&ids[b]),
82 }
83}
84
85/// Check if a query should use a tag-first projection.
86///

Callers 1

compute_sort_orderFunction · 0.85

Calls 2

cmpMethod · 0.45
partial_cmpMethod · 0.45

Tested by

no test coverage detected