11use sqlparser:: dialect:: GenericDialect ;
22use sqlparser:: parser:: Parser ;
33
4- fn parse_and_format ( sql : & str ) -> String {
4+ fn prettify ( sql : & str ) -> String {
55 let ast = Parser :: parse_sql ( & GenericDialect { } , sql) . unwrap ( ) ;
66 format ! ( "{:#}" , ast[ 0 ] )
77}
88
99#[ test]
1010fn test_pretty_print_select ( ) {
1111 assert_eq ! (
12- parse_and_format ( "SELECT a, b, c FROM my_table WHERE x = 1 AND y = 2" ) ,
12+ prettify ( "SELECT a, b, c FROM my_table WHERE x = 1 AND y = 2" ) ,
1313 r#"
1414SELECT
1515 a,
2727#[ test]
2828fn test_pretty_print_join ( ) {
2929 assert_eq ! (
30- parse_and_format ( "SELECT a FROM table1 JOIN table2 ON table1.id = table2.id" ) ,
30+ prettify ( "SELECT a FROM table1 JOIN table2 ON table1.id = table2.id" ) ,
3131 r#"
3232SELECT
3333 a
4242#[ test]
4343fn test_pretty_print_subquery ( ) {
4444 assert_eq ! (
45- parse_and_format ( "SELECT * FROM (SELECT a, b FROM my_table) AS subquery" ) ,
45+ prettify ( "SELECT * FROM (SELECT a, b FROM my_table) AS subquery" ) ,
4646 r#"
4747SELECT
4848 *
6262#[ test]
6363fn test_pretty_print_union ( ) {
6464 assert_eq ! (
65- parse_and_format ( "SELECT a FROM table1 UNION SELECT b FROM table2" ) ,
65+ prettify ( "SELECT a FROM table1 UNION SELECT b FROM table2" ) ,
6666 r#"
6767SELECT
6868 a
8181#[ test]
8282fn test_pretty_print_group_by ( ) {
8383 assert_eq ! (
84- parse_and_format ( "SELECT a, COUNT(*) FROM my_table GROUP BY a HAVING COUNT(*) > 1" ) ,
84+ prettify ( "SELECT a, COUNT(*) FROM my_table GROUP BY a HAVING COUNT(*) > 1" ) ,
8585 r#"
8686SELECT
8787 a,
@@ -100,7 +100,7 @@ HAVING
100100#[ test]
101101fn test_pretty_print_cte ( ) {
102102 assert_eq ! (
103- parse_and_format ( "WITH cte AS (SELECT a, b FROM my_table) SELECT * FROM cte" ) ,
103+ prettify ( "WITH cte AS (SELECT a, b FROM my_table) SELECT * FROM cte" ) ,
104104 r#"
105105WITH cte AS (
106106 SELECT
121121#[ test]
122122fn test_pretty_print_case_when ( ) {
123123 assert_eq ! (
124- parse_and_format ( "SELECT CASE WHEN x > 0 THEN 'positive' WHEN x < 0 THEN 'negative' ELSE 'zero' END FROM my_table" ) ,
124+ prettify ( "SELECT CASE WHEN x > 0 THEN 'positive' WHEN x < 0 THEN 'negative' ELSE 'zero' END FROM my_table" ) ,
125125 r#"
126126SELECT
127127 CASE
141141#[ test]
142142fn test_pretty_print_window_function ( ) {
143143 assert_eq ! (
144- parse_and_format ( "SELECT id, value, ROW_NUMBER() OVER (PARTITION BY category ORDER BY value DESC) as rank FROM my_table" ) ,
144+ prettify ( "SELECT id, value, ROW_NUMBER() OVER (PARTITION BY category ORDER BY value DESC) as rank FROM my_table" ) ,
145145 r#"
146146SELECT
147147 id,
0 commit comments