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

Function extract_point_keys

nodedb-sql/src/planner/dml_helpers.rs:150–164  ·  view source on GitHub ↗

Extract point-operation keys from WHERE clause (WHERE pk = literal OR pk IN (...)).

(selection: Option<&ast::Expr>, info: &CollectionInfo)

Source from the content-addressed store, hash-verified

148
149/// Extract point-operation keys from WHERE clause (WHERE pk = literal OR pk IN (...)).
150pub fn extract_point_keys(selection: Option<&ast::Expr>, info: &CollectionInfo) -> Vec<SqlValue> {
151 let pk = match &info.primary_key {
152 Some(pk) => pk.clone(),
153 None => return Vec::new(),
154 };
155
156 let expr = match selection {
157 Some(e) => e,
158 None => return Vec::new(),
159 };
160
161 let mut keys = Vec::new();
162 collect_pk_equalities(expr, &pk, &mut keys);
163 keys
164}
165
166fn collect_pk_equalities(expr: &ast::Expr, pk: &str, keys: &mut Vec<SqlValue>) {
167 match expr {

Callers 2

plan_updateFunction · 0.85
plan_deleteFunction · 0.85

Calls 2

collect_pk_equalitiesFunction · 0.85
cloneMethod · 0.45

Tested by

no test coverage detected