Skip to content

Commit 96ba533

Browse files
committed
update billing usage month args case-insensitive
1 parent e4cca11 commit 96ba533

1 file changed

Lines changed: 29 additions & 8 deletions

File tree

src/query/task_support/src/table_functions/billing_usage_daily.rs

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -224,14 +224,24 @@ impl BillingUsageDailyArgsParsed {
224224
));
225225
}
226226

227-
let month = args
228-
.get("month")
229-
.and_then(|v| v.as_string().cloned())
230-
.ok_or_else(|| {
231-
ErrorCode::BadArguments(
232-
"billing_usage_daily requires named string argument: month".to_string(),
233-
)
234-
})?;
227+
let mut month = None;
228+
for (k, v) in &args {
229+
match k.to_lowercase().as_str() {
230+
"month" => month = v.as_string().cloned(),
231+
_ => {
232+
return Err(ErrorCode::BadArguments(format!(
233+
"unknown param {} for billing_usage_daily",
234+
k
235+
)));
236+
}
237+
}
238+
}
239+
240+
let month = month.ok_or_else(|| {
241+
ErrorCode::BadArguments(
242+
"billing_usage_daily requires named string argument: month".to_string(),
243+
)
244+
})?;
235245

236246
validate_month(&month)?;
237247
Ok(Self { month })
@@ -360,6 +370,17 @@ mod tests {
360370
assert_eq!(parsed.month, "2026-03");
361371
}
362372

373+
#[test]
374+
fn test_parse_args_accepts_uppercase_named_month() {
375+
let args = TableArgs::new_named(HashMap::from([(
376+
"MONTH".to_string(),
377+
Scalar::String("2026-03".to_string()),
378+
)]));
379+
380+
let parsed = BillingUsageDailyArgsParsed::parse(&args).unwrap();
381+
assert_eq!(parsed.month, "2026-03");
382+
}
383+
363384
#[test]
364385
fn test_parse_args_rejects_non_named_or_invalid_month() {
365386
let positioned = TableArgs::new_positioned(vec![Scalar::String("2026-03".to_string())]);

0 commit comments

Comments
 (0)