Skip to content

Commit

Permalink
add failing test for recursive with query
Browse files Browse the repository at this point in the history
  • Loading branch information
tyrelr committed Dec 24, 2022
1 parent 283f4a9 commit 6f7b5d9
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions tests/sqlite/describe.rs
Original file line number Diff line number Diff line change
Expand Up @@ -806,3 +806,46 @@ async fn it_describes_func_strftime() -> anyhow::Result<()> {
assert_eq!(info.nullable(0), Some(true), "{}", query);
Ok(())
}

#[sqlx_macros::test]
async fn it_describes_with_recursive() -> anyhow::Result<()> {
let mut conn = new::<Sqlite>().await?;

let query = "
WITH RECURSIVE schedule(begin_date) AS (
SELECT datetime('2022-10-01')
WHERE datetime('2022-10-01') < datetime('2022-11-03')
UNION ALL
SELECT datetime(begin_date,'+1 day')
FROM schedule
WHERE datetime(begin_date) < datetime(?2)
)
SELECT
begin_date
FROM schedule
GROUP BY begin_date
";
let info = conn.describe(query).await?;
assert_eq!(info.column(0).type_info().name(), "TEXT", "{}", query);
assert_eq!(info.nullable(0), Some(true), "{}", query);

let query = "
WITH RECURSIVE schedule(begin_date) AS MATERIALIZED (
SELECT datetime('2022-10-01')
WHERE datetime('2022-10-01') < datetime('2022-11-03')
UNION ALL
SELECT datetime(begin_date,'+1 day')
FROM schedule
WHERE datetime(begin_date) < datetime(?2)
)
SELECT
begin_date
FROM schedule
GROUP BY begin_date
";
let info = conn.describe(query).await?;
assert_eq!(info.column(0).type_info().name(), "TEXT", "{}", query);
assert_eq!(info.nullable(0), Some(true), "{}", query);

Ok(())
}

0 comments on commit 6f7b5d9

Please sign in to comment.