diff --git a/prqlc/bindings/prqlc-python/src/lib.rs b/prqlc/bindings/prqlc-python/src/lib.rs index 7b83e4bb2215..b7e45ac1ae38 100644 --- a/prqlc/bindings/prqlc-python/src/lib.rs +++ b/prqlc/bindings/prqlc-python/src/lib.rs @@ -183,7 +183,7 @@ mod test { assert_snapshot!( compile("from employees | filter (age | in 20..30)", opts).unwrap(), - @r" + @" SELECT * FROM @@ -206,7 +206,7 @@ mod test { let prql = r#"from artists | select {name, id} | filter (id | in [1, 2, 3])"#; assert_snapshot!( - prql_to_pl(prql).and_then(|x| pl_to_rq(x.as_str())).and_then(|x|rq_to_sql(x.as_str(), opts)).unwrap(), @r" + prql_to_pl(prql).and_then(|x| pl_to_rq(x.as_str())).and_then(|x|rq_to_sql(x.as_str(), opts)).unwrap(), @" SELECT name, id @@ -221,7 +221,7 @@ mod test { fn prql_pl_prql_roundtrip() { let prql = r#"from artists | select {name, id} | filter (id | in [1, 2, 3])"#; assert_snapshot!( - prql_to_pl(prql).and_then(|x| pl_to_prql(x.as_str())).unwrap(), @r" + prql_to_pl(prql).and_then(|x| pl_to_prql(x.as_str())).unwrap(), @" from artists select {name, id} filter (id | in [1, 2, 3]) diff --git a/prqlc/prqlc-parser/src/lexer/test.rs b/prqlc/prqlc-parser/src/lexer/test.rs index 59d909257dee..c95b89db6d61 100644 --- a/prqlc/prqlc-parser/src/lexer/test.rs +++ b/prqlc/prqlc-parser/src/lexer/test.rs @@ -26,7 +26,7 @@ fn line_wrap() { // Basic line wrap test assert_debug_snapshot!(test_line_wrap_tokens(r"5 + - \ 3 "), @r" + \ 3 "), @" Tokens( [ 0..1: Literal(Integer(5)), @@ -77,7 +77,7 @@ fn debug_display() { Tokens(lexer().parse(input).output().unwrap().to_vec()) } - assert_debug_snapshot!(test_tokens("5 + 3"), @r" + assert_debug_snapshot!(test_tokens("5 + 3"), @" Tokens( [ 0..1: Literal(Integer(5)), @@ -221,7 +221,7 @@ fn range() { Tokens(lexer().parse(input).output().unwrap().to_vec()) } - assert_debug_snapshot!(test_range_tokens("1..2"), @r" + assert_debug_snapshot!(test_range_tokens("1..2"), @" Tokens( [ 0..1: Literal(Integer(1)), @@ -231,7 +231,7 @@ fn range() { ) "); - assert_debug_snapshot!(test_range_tokens("..2"), @r" + assert_debug_snapshot!(test_range_tokens("..2"), @" Tokens( [ 0..2: Range { bind_left: true, bind_right: true }, @@ -240,7 +240,7 @@ fn range() { ) "); - assert_debug_snapshot!(test_range_tokens("1.."), @r" + assert_debug_snapshot!(test_range_tokens("1.."), @" Tokens( [ 0..1: Literal(Integer(1)), @@ -267,7 +267,7 @@ fn range() { fn test_lex_source() { use insta::assert_debug_snapshot; - assert_debug_snapshot!(lex_source("5 + 3"), @r" + assert_debug_snapshot!(lex_source("5 + 3"), @" Ok( Tokens( [ @@ -291,20 +291,20 @@ fn test_annotation_tokens() { // Test basic annotation token let result = super::lex_source("@{binding_strength=1}"); assert_debug_snapshot!(result, @r#" - Ok( - Tokens( - [ - 0..0: Start, - 0..1: Annotate, - 1..2: Control('{'), - 2..18: Ident("binding_strength"), - 18..19: Control('='), - 19..20: Literal(Integer(1)), - 20..21: Control('}'), - ], - ), - ) - "#); + Ok( + Tokens( + [ + 0..0: Start, + 0..1: Annotate, + 1..2: Control('{'), + 2..18: Ident("binding_strength"), + 18..19: Control('='), + 19..20: Literal(Integer(1)), + 20..21: Control('}'), + ], + ), + ) + "#); // Test multi-line annotation let result = super::lex_source( @@ -314,32 +314,32 @@ fn test_annotation_tokens() { "#, ); assert_debug_snapshot!(result, @r#" - Ok( - Tokens( - [ - 0..0: Start, - 0..1: NewLine, - 9..10: Annotate, - 10..11: Control('{'), - 11..27: Ident("binding_strength"), - 27..28: Control('='), - 28..29: Literal(Integer(1)), - 29..30: Control('}'), - 30..31: NewLine, - 39..42: Keyword("let"), - 43..46: Ident("add"), - 47..48: Control('='), - 49..50: Ident("a"), - 51..52: Ident("b"), - 53..55: ArrowThin, - 56..57: Ident("a"), - 58..59: Control('+'), - 60..61: Ident("b"), - 61..62: NewLine, - ], - ), - ) - "#); + Ok( + Tokens( + [ + 0..0: Start, + 0..1: NewLine, + 9..10: Annotate, + 10..11: Control('{'), + 11..27: Ident("binding_strength"), + 27..28: Control('='), + 28..29: Literal(Integer(1)), + 29..30: Control('}'), + 30..31: NewLine, + 39..42: Keyword("let"), + 43..46: Ident("add"), + 47..48: Control('='), + 49..50: Ident("a"), + 51..52: Ident("b"), + 53..55: ArrowThin, + 56..57: Ident("a"), + 58..59: Control('+'), + 60..61: Ident("b"), + 61..62: NewLine, + ], + ), + ) + "#); } #[test] diff --git a/prqlc/prqlc/src/cli/mod.rs b/prqlc/prqlc/src/cli/mod.rs index 33028d187c7c..d4e8cc2bff51 100644 --- a/prqlc/prqlc/src/cli/mod.rs +++ b/prqlc/prqlc/src/cli/mod.rs @@ -708,7 +708,7 @@ sort full "", ); - assert_snapshot!(&result.unwrap_err().to_string(), @r" + assert_snapshot!(&result.unwrap_err().to_string(), @" Error: ╭─[ :1:1 ] │ @@ -742,7 +742,7 @@ sort full "main", ) .unwrap(); - assert_snapshot!(String::from_utf8(result).unwrap().trim(), @r" + assert_snapshot!(String::from_utf8(result).unwrap().trim(), @" WITH x AS ( SELECT y, @@ -769,7 +769,7 @@ sort full ) .unwrap(); - assert_snapshot!(String::from_utf8(output).unwrap().trim(), @r" + assert_snapshot!(String::from_utf8(output).unwrap().trim(), @" name: Project stmts: - VarDef: @@ -816,7 +816,7 @@ sort full // TODO: terser output; maybe serialize span as `0..4`? Remove the // `!Ident` complication? - assert_snapshot!(String::from_utf8(output).unwrap().trim(), @r" + assert_snapshot!(String::from_utf8(output).unwrap().trim(), @" - kind: Start span: start: 0 @@ -859,7 +859,7 @@ sort full ) .unwrap(); - assert_snapshot!(String::from_utf8(output).unwrap().trim(), @r" + assert_snapshot!(String::from_utf8(output).unwrap().trim(), @" - kind: Start span: start: 0 diff --git a/prqlc/prqlc/src/cli/test.rs b/prqlc/prqlc/src/cli/test.rs index d463cb9c119a..c08ba3064de5 100644 --- a/prqlc/prqlc/src/cli/test.rs +++ b/prqlc/prqlc/src/cli/test.rs @@ -13,7 +13,7 @@ use walkdir::WalkDir; #[cfg(not(windows))] // Windows has slightly different output (e.g. `prqlc.exe`), so we exclude. #[test] fn help() { - assert_cmd_snapshot!(prqlc_command().arg("--help"), @r" + assert_cmd_snapshot!(prqlc_command().arg("--help"), @" success: true exit_code: 0 ----- stdout ----- @@ -42,7 +42,7 @@ fn help() { "); // without arguments - assert_cmd_snapshot!(prqlc_command(), @r" + assert_cmd_snapshot!(prqlc_command(), @" success: true exit_code: 0 ----- stdout ----- @@ -73,7 +73,7 @@ fn help() { #[test] fn get_targets() { - assert_cmd_snapshot!(prqlc_command().arg("list-targets"), @r" + assert_cmd_snapshot!(prqlc_command().arg("list-targets"), @" success: true exit_code: 0 ----- stdout ----- @@ -100,7 +100,7 @@ fn get_targets() { fn compile() { assert_cmd_snapshot!(prqlc_command() .args(["compile", "--hide-signature-comment"]) - .pass_stdin("from tracks"), @r" + .pass_stdin("from tracks"), @" success: true exit_code: 0 ----- stdout ----- @@ -116,7 +116,7 @@ fn compile() { #[cfg(not(windows))] // Windows has slightly different output (e.g. `prqlc.exe`), so we exclude. #[test] fn compile_help() { - assert_cmd_snapshot!(prqlc_command().args(["compile", "--help"]), @r" + assert_cmd_snapshot!(prqlc_command().args(["compile", "--help"]), @" success: true exit_code: 0 ----- stdout ----- @@ -194,7 +194,7 @@ let long_query = ( take 20 ) from long_query - "#), @r" + "#), @" success: true exit_code: 0 ----- stdout ----- @@ -278,7 +278,7 @@ fn compile_project() { "main", ]); - assert_cmd_snapshot!(cmd, @r" + assert_cmd_snapshot!(cmd, @" success: true exit_code: 0 ----- stdout ----- @@ -332,7 +332,7 @@ fn compile_project() { project_path().to_str().unwrap(), "-", "favorite_artists", - ]), @r" + ]), @" success: true exit_code: 0 ----- stdout ----- @@ -359,7 +359,7 @@ fn compile_project() { #[test] fn format() { // Test stdin formatting - assert_cmd_snapshot!(prqlc_command().args(["fmt"]).pass_stdin("from tracks | take 20"), @r" + assert_cmd_snapshot!(prqlc_command().args(["fmt"]).pass_stdin("from tracks | take 20"), @" success: true exit_code: 0 ----- stdout ----- @@ -604,7 +604,7 @@ fn normalize_prqlc(cmd: &mut Command) -> &mut Command { #[test] fn compile_no_prql_files() { - assert_cmd_snapshot!(prqlc_command().args(["compile", "README.md"]), @r" + assert_cmd_snapshot!(prqlc_command().args(["compile", "README.md"]), @" success: false exit_code: 1 ----- stdout ----- @@ -616,7 +616,7 @@ fn compile_no_prql_files() { #[test] fn lex() { - assert_cmd_snapshot!(prqlc_command().args(["lex"]).pass_stdin("from tracks"), @r" + assert_cmd_snapshot!(prqlc_command().args(["lex"]).pass_stdin("from tracks"), @" success: true exit_code: 0 ----- stdout ----- diff --git a/prqlc/prqlc/src/codegen/ast.rs b/prqlc/prqlc/src/codegen/ast.rs index 86d4728b6af5..8a2d72a4336f 100644 --- a/prqlc/prqlc/src/codegen/ast.rs +++ b/prqlc/prqlc/src/codegen/ast.rs @@ -556,7 +556,7 @@ mod test { exprs: vec![short.clone(), long.clone(), long, short.clone()], })); // colons are a workaround to avoid trimming - assert_snapshot!(pipeline.write(opt.clone()).unwrap(), @r" + assert_snapshot!(pipeline.write(opt.clone()).unwrap(), @" ( short some_really_long_and_really_long_name diff --git a/prqlc/prqlc/src/lib.rs b/prqlc/prqlc/src/lib.rs index 910035810ee7..e16e85557b08 100644 --- a/prqlc/prqlc/src/lib.rs +++ b/prqlc/prqlc/src/lib.rs @@ -570,7 +570,7 @@ mod tests { #[test] fn test_target_from_str() { - assert_debug_snapshot!(Target::from_str("sql.postgres"), @r" + assert_debug_snapshot!(Target::from_str("sql.postgres"), @" Ok( Sql( Some( diff --git a/prqlc/prqlc/src/semantic/mod.rs b/prqlc/prqlc/src/semantic/mod.rs index 15402110cf9c..3d9f23396b63 100644 --- a/prqlc/prqlc/src/semantic/mod.rs +++ b/prqlc/prqlc/src/semantic/mod.rs @@ -191,7 +191,7 @@ pub mod test { window range:-4..4 ( derive {next_four_days = sum b} ) - "###).unwrap().relation.columns, @r" + "###).unwrap().relation.columns, @" - Single: day - Single: b - Wildcard @@ -205,7 +205,7 @@ pub mod test { from a=albums filter is_sponsored select {a.*} - "###).unwrap().relation.columns, @r" + "###).unwrap().relation.columns, @" - Single: is_sponsored - Wildcard ") @@ -216,7 +216,7 @@ pub mod test { assert_yaml_snapshot!(parse_resolve_and_lower(r###" from x select {a, a, a = a + 1} - "###).unwrap().relation.columns, @r" + "###).unwrap().relation.columns, @" - Single: ~ - Single: ~ - Single: a @@ -229,7 +229,7 @@ pub mod test { prql target:sql.mssql version:"0" from employees - "#).unwrap(), @r" + "#).unwrap(), @" def: version: ^0 other: diff --git a/prqlc/prqlc/src/semantic/resolver/transforms.rs b/prqlc/prqlc/src/semantic/resolver/transforms.rs index 20bd4210287a..778b6cc9b435 100644 --- a/prqlc/prqlc/src/semantic/resolver/transforms.rs +++ b/prqlc/prqlc/src/semantic/resolver/transforms.rs @@ -1182,7 +1182,7 @@ mod tests { group invoice_no ( take 1 ) - ").unwrap(), @r" + ").unwrap(), @" def: version: ~ other: {} @@ -1271,7 +1271,7 @@ mod tests { sort (-issued_at) sort {issued_at} sort {-issued_at} - ").unwrap(), @r" + ").unwrap(), @" def: version: ~ other: {} diff --git a/prqlc/prqlc/src/sql/dialect.rs b/prqlc/prqlc/src/sql/dialect.rs index 245a8ad74e6a..0100b4ab52fe 100644 --- a/prqlc/prqlc/src/sql/dialect.rs +++ b/prqlc/prqlc/src/sql/dialect.rs @@ -761,13 +761,13 @@ mod tests { #[test] fn test_dialect_from_str() { - assert_debug_snapshot!(Dialect::from_str("postgres"), @r" + assert_debug_snapshot!(Dialect::from_str("postgres"), @" Ok( Postgres, ) "); - assert_debug_snapshot!(Dialect::from_str("foo"), @r" + assert_debug_snapshot!(Dialect::from_str("foo"), @" Err( VariantNotFound, ) @@ -876,8 +876,8 @@ mod tests { #[test] fn bigquery_translate_space() { let bq = BigQueryDialect; - assert_snapshot!(bq.translate_chrono_item(Item::Space(" ")).unwrap(), @" "); - assert_snapshot!(bq.translate_chrono_item(Item::Space(" ")).unwrap(), @" "); + assert_snapshot!(bq.translate_chrono_item(Item::Space(" ")).unwrap(), @""); + assert_snapshot!(bq.translate_chrono_item(Item::Space(" ")).unwrap(), @""); } #[test] diff --git a/prqlc/prqlc/src/sql/gen_expr.rs b/prqlc/prqlc/src/sql/gen_expr.rs index 2fe0786b16f3..90a0b3907fc2 100644 --- a/prqlc/prqlc/src/sql/gen_expr.rs +++ b/prqlc/prqlc/src/sql/gen_expr.rs @@ -1220,53 +1220,53 @@ mod test { assert!(range_of_ranges(vec![range_1_10.clone()])?.end.is_some()); - assert_yaml_snapshot!(range_of_ranges(vec![range_1_10.clone()])?, @r" + assert_yaml_snapshot!(range_of_ranges(vec![range_1_10.clone()])?, @" start: 1 end: 10 "); - assert_yaml_snapshot!(range_of_ranges(vec![range_1_10.clone(), range_1_10.clone()])?, @r" + assert_yaml_snapshot!(range_of_ranges(vec![range_1_10.clone(), range_1_10.clone()])?, @" start: 1 end: 10 "); - assert_yaml_snapshot!(range_of_ranges(vec![range_1_10.clone(), range_5_6.clone()])?, @r" + assert_yaml_snapshot!(range_of_ranges(vec![range_1_10.clone(), range_5_6.clone()])?, @" start: 5 end: 6 "); - assert_yaml_snapshot!(range_of_ranges(vec![range_5_6.clone(), range_1_10.clone()])?, @r" + assert_yaml_snapshot!(range_of_ranges(vec![range_5_6.clone(), range_1_10.clone()])?, @" start: 5 end: 6 "); // empty range - assert_yaml_snapshot!(range_of_ranges(vec![range_5_6.clone(), range_5_6.clone()])?, @r" + assert_yaml_snapshot!(range_of_ranges(vec![range_5_6.clone(), range_5_6.clone()])?, @" start: ~ end: 0 "); - assert_yaml_snapshot!(range_of_ranges(vec![range_5_inf.clone(), range_5_inf.clone()])?, @r" + assert_yaml_snapshot!(range_of_ranges(vec![range_5_inf.clone(), range_5_inf.clone()])?, @" start: 9 end: ~ "); - assert_yaml_snapshot!(range_of_ranges(vec![range_1_10, range_5_inf])?, @r" + assert_yaml_snapshot!(range_of_ranges(vec![range_1_10, range_5_inf])?, @" start: 5 end: 10 "); - assert_yaml_snapshot!(range_of_ranges(vec![range_5_6, range_inf_8.clone()])?, @r" + assert_yaml_snapshot!(range_of_ranges(vec![range_5_6, range_inf_8.clone()])?, @" start: 5 end: 6 "); - assert_yaml_snapshot!(range_of_ranges(vec![range_inf_8.clone(), range_inf_8])?, @r" + assert_yaml_snapshot!(range_of_ranges(vec![range_inf_8.clone(), range_inf_8])?, @" start: ~ end: 8 "); - assert_yaml_snapshot!(range_of_ranges(vec![range_5_5])?, @r" + assert_yaml_snapshot!(range_of_ranges(vec![range_5_5])?, @" start: 5 end: 5 "); diff --git a/prqlc/prqlc/src/sql/gen_query.rs b/prqlc/prqlc/src/sql/gen_query.rs index c1e99c869942..b0bbabd82147 100644 --- a/prqlc/prqlc/src/sql/gen_query.rs +++ b/prqlc/prqlc/src/sql/gen_query.rs @@ -778,7 +778,7 @@ mod test { let sql_ast = crate::tests::compile(query).unwrap(); - assert_snapshot!(sql_ast, @r" + assert_snapshot!(sql_ast, @" WITH table_0 AS ( SELECT title, @@ -819,7 +819,7 @@ mod test { let sql_ast = crate::tests::compile(query).unwrap(); - assert_snapshot!(sql_ast, @r" + assert_snapshot!(sql_ast, @" WITH table_0 AS ( SELECT *, @@ -845,7 +845,7 @@ mod test { filter (average bar) > 3 "#; - assert_snapshot!(crate::tests::compile(query).unwrap(), @r" + assert_snapshot!(crate::tests::compile(query).unwrap(), @" WITH table_0 AS ( SELECT *, @@ -873,7 +873,7 @@ mod test { aggregate {c=count this} "#; - assert_snapshot!(crate::tests::compile(query).unwrap(), @r" + assert_snapshot!(crate::tests::compile(query).unwrap(), @" WITH table_0 AS ( SELECT DISTINCT ON (id, name) * diff --git a/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__aggregation.snap b/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__aggregation.snap index 445ece957fdc..dd3b9b52358b 100644 --- a/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__aggregation.snap +++ b/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__aggregation.snap @@ -1,6 +1,6 @@ --- source: prqlc/prqlc/tests/integration/queries.rs -expression: "# mssql:skip\n# mysql:skip\n# clickhouse:skip\n# glaredb:skip (the string_agg function is not supported)\nfrom tracks\nfilter genre_id == 100\nderive empty_name = name == ''\naggregate {sum track_id, concat_array name, all empty_name, any empty_name}\n" +expression: "# mysql:skip\n# clickhouse:skip\n# glaredb:skip (the string_agg function is not supported)\nfrom tracks\nfilter genre_id == 100\nderive empty_name = name == ''\naggregate {sum track_id, concat_array name, all empty_name, any empty_name}\n" input_file: prqlc/prqlc/tests/integration/queries/aggregation.prql --- 0,,1,0 diff --git a/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__append_select_nulls.snap b/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__append_select_nulls.snap index 791e1e62bc0b..8f874008be0a 100644 --- a/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__append_select_nulls.snap +++ b/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__append_select_nulls.snap @@ -1,6 +1,6 @@ --- source: prqlc/prqlc/tests/integration/queries.rs -expression: "# duckdb:skip\n# postgres:skip\n\nfrom invoices\nselect {an_id = invoice_id, name = null}\ntake 2\nappend (\n from employees\n select {an_id = null, name = first_name}\n take 2\n)\n" +expression: "from invoices\nselect {an_id = invoice_id, name = null}\ntake 2\nappend (\n from employees\n select {an_id = null, name = first_name}\n take 2\n)\n" input_file: prqlc/prqlc/tests/integration/queries/append_select_nulls.prql --- 1, diff --git a/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__date_to_text.snap b/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__date_to_text.snap index fb6bf4d79bd3..e8bb8884eba5 100644 --- a/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__date_to_text.snap +++ b/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__date_to_text.snap @@ -2,7 +2,6 @@ source: prqlc/prqlc/tests/integration/queries.rs expression: "# generic:skip\n# glaredb:skip\n# sqlite:skip\n# mssql:test\nfrom invoices\ntake 20\nselect {\n d1 = (invoice_date | date.to_text \"%Y/%m/%d\"),\n d2 = (invoice_date | date.to_text \"%F\"),\n d3 = (invoice_date | date.to_text \"%D\"),\n d4 = (invoice_date | date.to_text \"%H:%M:%S.%f\"),\n d5 = (invoice_date | date.to_text \"%r\"),\n d6 = (invoice_date | date.to_text \"%A %B %-d %Y\"),\n d7 = (invoice_date | date.to_text \"%a, %-d %b %Y at %I:%M:%S %p\"),\n d8 = (invoice_date | date.to_text \"%+\"),\n d9 = (invoice_date | date.to_text \"%-d/%-m/%y\"),\n d10 = (invoice_date | date.to_text \"%-Hh %Mmin\"),\n d11 = (invoice_date | date.to_text \"%M'%S\\\"\"),\n d12 = (invoice_date | date.to_text \"100%% in %d days\"),\n}\n" input_file: prqlc/prqlc/tests/integration/queries/date_to_text.prql -snapshot_kind: text --- 2009/01/01,2009-01-01,01/01/09,00:00:00.000000,12:00:00 AM,Thursday January 1 2009,Thu, 1 Jan 2009 at 12:00:00 AM,2009-01-01T00:00:00.000000Z,1/1/09,0h 00min,00'00",100% in 01 days 2009/01/02,2009-01-02,01/02/09,00:00:00.000000,12:00:00 AM,Friday January 2 2009,Fri, 2 Jan 2009 at 12:00:00 AM,2009-01-02T00:00:00.000000Z,2/1/09,0h 00min,00'00",100% in 02 days diff --git a/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__window.snap b/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__window.snap index 1bf85e1aa630..53f11c39de55 100644 --- a/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__window.snap +++ b/prqlc/prqlc/tests/integration/snapshots/integration__queries__results__window.snap @@ -1,6 +1,6 @@ --- source: prqlc/prqlc/tests/integration/queries.rs -expression: "# mssql:skip Conversion(\"cannot interpret I64(Some(1)) as an i32 value\")', connection.rs:200:34\n# duckdb:skip problems with DISTINCT ON (duckdb internal error: [with INPUT_TYPE = int; RESULT_TYPE = unsigned char]: Assertion `min_val <= input' failed.)\n# clickhouse:skip problems with DISTINCT ON\n# postgres:skip problems with DISTINCT ON\n# glaredb:skip — TODO: started raising an error on 2024-05-20, from https://github.com/PRQL/prql/actions/runs/9154902656/job/25198160283:\n # ERROR: This feature is not implemented: Unsupported ast node in sqltorel:\n # Substring { expr: Identifier(Ident { value: \"title\", quote_style: None }),\n # substring_from: Some(Value(Number(\"2\", false))), substring_for:\n # Some(Value(Number(\"5\", false))), special: true }\nfrom tracks\ngroup genre_id (\n sort milliseconds\n derive {\n num = row_number this,\n total = count this,\n last_val = last track_id,\n }\n take 10\n)\nsort {genre_id, milliseconds}\nselect {track_id, genre_id, num, total, last_val}\nfilter genre_id >= 22\n" +expression: "# clickhouse:skip problems with DISTINCT ON\n# glaredb:skip — TODO: started raising an error on 2024-05-20, from https://github.com/PRQL/prql/actions/runs/9154902656/job/25198160283:\n # ERROR: This feature is not implemented: Unsupported ast node in sqltorel:\n # Substring { expr: Identifier(Ident { value: \"title\", quote_style: None }),\n # substring_from: Some(Value(Number(\"2\", false))), substring_for:\n # Some(Value(Number(\"5\", false))), special: true }\nfrom tracks\ngroup genre_id (\n sort milliseconds\n derive {\n num = row_number this,\n total = count this,\n last_val = last track_id,\n }\n take 10\n)\nsort {genre_id, milliseconds}\nselect {track_id, genre_id, num, total, last_val}\nfilter genre_id >= 22\n" input_file: prqlc/prqlc/tests/integration/queries/window.prql --- 3219,22,1,17,3219 diff --git a/prqlc/prqlc/tests/integration/sql.rs b/prqlc/prqlc/tests/integration/sql.rs index 462e988d0026..0d17db4cf583 100644 --- a/prqlc/prqlc/tests/integration/sql.rs +++ b/prqlc/prqlc/tests/integration/sql.rs @@ -6004,13 +6004,13 @@ fn test_select_this() { select this "###, ) - .unwrap(), @r###" + .unwrap(), @" SELECT a, b FROM x - "###); + "); } #[test] @@ -6022,13 +6022,13 @@ fn test_select_this_wildcard() { select this.* "###, ) - .unwrap(), @r###" + .unwrap(), @" SELECT a, b FROM x - "###); + "); } #[test] @@ -6040,7 +6040,7 @@ fn test_sort_this_wildcard() { sort this.* "###, ) - .unwrap(), @r###" + .unwrap(), @" SELECT a, b @@ -6049,7 +6049,7 @@ fn test_sort_this_wildcard() { ORDER BY a, b - "###); + "); } #[test] @@ -6245,14 +6245,14 @@ select { "###, ) .unwrap(), @" -SELECT - 4 + 1 + 2 + 3 AS with_initial, - 4 + 3 AS with_initial_one, - 4 AS with_initial_zero, - 1 + 2 + 3 AS no_initial, - 3 AS no_initial_one -FROM - foo + SELECT + 4 + 1 + 2 + 3 AS with_initial, + 4 + 3 AS with_initial_one, + 4 AS with_initial_zero, + 1 + 2 + 3 AS no_initial, + 3 AS no_initial_one + FROM + foo "); } @@ -6265,7 +6265,7 @@ select { no_initial_err = tuple_reduce add {} } "###, - ).unwrap_err(), @r###" + ).unwrap_err(), @" Error: ╭─[ :4:37 ] │ @@ -6275,7 +6275,7 @@ select { │ │ Help: try adding an initial: parameter ───╯ - "###); + "); } #[test]