Convert AST literal to storage value
(&self, literal: &crate::ast::Literal)
| 3877 | |
| 3878 | /// Convert AST literal to storage value |
| 3879 | fn literal_to_value(&self, literal: &crate::ast::Literal) -> Value { |
| 3880 | match literal { |
| 3881 | crate::ast::Literal::String(s) => Value::String(s.clone()), |
| 3882 | crate::ast::Literal::Integer(i) => Value::Number(*i as f64), |
| 3883 | crate::ast::Literal::Float(f) => Value::Number(*f), |
| 3884 | crate::ast::Literal::Boolean(b) => Value::Boolean(*b), |
| 3885 | crate::ast::Literal::Null => Value::Null, |
| 3886 | crate::ast::Literal::DateTime(dt) => Value::String(dt.clone()), |
| 3887 | crate::ast::Literal::Duration(dur) => Value::String(dur.clone()), |
| 3888 | crate::ast::Literal::TimeWindow(tw) => Value::String(tw.clone()), |
| 3889 | crate::ast::Literal::Vector(vec) => { |
| 3890 | Value::Vector(vec.iter().map(|&f| f as f32).collect()) |
| 3891 | } |
| 3892 | crate::ast::Literal::List(list) => { |
| 3893 | let converted: Vec<Value> = |
| 3894 | list.iter().map(|lit| self.literal_to_value(lit)).collect(); |
| 3895 | Value::List(converted) |
| 3896 | } |
| 3897 | } |
| 3898 | } |
| 3899 | |
| 3900 | /// Execute a sequential node scan with specific graph |
| 3901 | fn execute_node_seq_scan_with_graph( |
no test coverage detected