diff --git a/src/log-query/src/log_query.rs b/src/log-query/src/log_query.rs index fce7d8a712..37ab87070c 100644 --- a/src/log-query/src/log_query.rs +++ b/src/log-query/src/log_query.rs @@ -336,6 +336,8 @@ pub enum EqualValue { Boolean(bool), /// Exact match with a number value. Int(i64), + /// Exact match with an unsigned integer value. + UInt(u64), /// Exact match with a float value. Float(f64), } @@ -364,6 +366,12 @@ impl From for EqualValue { } } +impl From for EqualValue { + fn from(value: u64) -> Self { + EqualValue::UInt(value) + } +} + #[derive(Clone, Debug, Serialize, Deserialize)] pub enum ContentFilter { // Search-based filters diff --git a/src/query/src/log_query/planner.rs b/src/query/src/log_query/planner.rs index b25a116959..99bb47e94c 100644 --- a/src/query/src/log_query/planner.rs +++ b/src/query/src/log_query/planner.rs @@ -201,7 +201,7 @@ impl LogQueryPlanner { .try_collect::>()?; if filter_exprs.is_empty() { - return Ok(None); + return Ok(Some(col_expr.is_true())); } // Combine all filters with AND logic @@ -475,6 +475,7 @@ impl LogQueryPlanner { EqualValue::Float(n) => lit(ScalarValue::Float64(Some(n))), EqualValue::Int(n) => lit(ScalarValue::Int64(Some(n))), EqualValue::Boolean(b) => lit(ScalarValue::Boolean(Some(b))), + EqualValue::UInt(n) => lit(ScalarValue::UInt64(Some(n))), } }