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

Function apply_v_lag

nodedb-query/src/window/value_eval.rs:398–417  ·  view source on GitHub ↗
(
    rows: &mut [Vec<Value>],
    indices: &[usize],
    column_index: &HashMap<String, usize>,
    spec: &WindowFuncSpec,
    write_col: usize,
)

Source from the content-addressed store, hash-verified

396}
397
398fn apply_v_lag(
399 rows: &mut [Vec<Value>],
400 indices: &[usize],
401 column_index: &HashMap<String, usize>,
402 spec: &WindowFuncSpec,
403 write_col: usize,
404) -> Result<(), WindowError> {
405 let offset = usize_arg(spec, 1, 1);
406 let default = default_arg_value(spec, 2);
407 let values = collect_arg_values(rows, indices, column_index, spec);
408 for (pos, &i) in indices.iter().enumerate() {
409 let val = if pos >= offset {
410 values[pos - offset].clone()
411 } else {
412 default.clone()
413 };
414 set_cell(rows, i, write_col, val);
415 }
416 Ok(())
417}
418
419fn apply_v_lead(
420 rows: &mut [Vec<Value>],

Callers 1

Calls 6

default_arg_valueFunction · 0.85
collect_arg_valuesFunction · 0.85
set_cellFunction · 0.85
usize_argFunction · 0.70
iterMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected