| 307 | } |
| 308 | |
| 309 | fn plan_ann(sql: &str) -> SqlPlan { |
| 310 | let (preprocessed_sql, temporal) = match preprocess(sql).unwrap() { |
| 311 | Some(p) => (p.sql, p.temporal), |
| 312 | None => (sql.to_string(), crate::TemporalScope::default()), |
| 313 | }; |
| 314 | let statements = parse_sql(&preprocessed_sql).unwrap(); |
| 315 | let Statement::Query(query) = &statements[0] else { |
| 316 | panic!("expected query statement"); |
| 317 | }; |
| 318 | plan_query(query, &TestCatalog, &FunctionRegistry::new(), temporal).unwrap() |
| 319 | } |
| 320 | |
| 321 | fn plan_ann_err(sql: &str) -> crate::error::SqlError { |
| 322 | let (preprocessed_sql, temporal) = match preprocess(sql).unwrap() { |