(
doc: &[u8],
field: &str,
expr: Option<&crate::expr::SqlExpr>,
)
| 393 | } |
| 394 | |
| 395 | fn extract_value_bytes( |
| 396 | doc: &[u8], |
| 397 | field: &str, |
| 398 | expr: Option<&crate::expr::SqlExpr>, |
| 399 | ) -> Option<Vec<u8>> { |
| 400 | if let Some(expr) = expr { |
| 401 | let val = eval_expr_on_doc(doc, expr)?; |
| 402 | return nodedb_types::json_msgpack::value_to_msgpack(&val).ok(); |
| 403 | } |
| 404 | let (start, end) = extract_field(doc, 0, field)?; |
| 405 | Some(doc[start..end].to_vec()) |
| 406 | } |
| 407 | |
| 408 | /// Check if msgpack bytes represent null. Msgpack null is the single byte 0xc0. |
| 409 | fn value_bytes_are_null(bytes: &[u8]) -> bool { |
no test coverage detected