@@ -2075,28 +2075,27 @@ fn parse_print() {
2075
2075
#[ test]
2076
2076
fn parse_mssql_go_keyword ( ) {
2077
2077
let single_go_keyword = "USE some_database;\n GO" ;
2078
- let stmts = ms ( ) . parse_sql_statements ( single_go_keyword) . unwrap ( ) ;
2079
- assert_eq ! ( stmts. len( ) , 2 ) ;
2080
- assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) , ) ;
2078
+ let stmts = ms ( ) . multiple_statements_parse_to ( single_go_keyword, 2 , "USE some_database\n GO" ) ;
2079
+ assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2081
2080
2082
2081
let go_with_count = "SELECT 1;\n GO 5" ;
2083
- let stmts = ms ( ) . parse_sql_statements ( go_with_count) . unwrap ( ) ;
2084
- assert_eq ! ( stmts. len( ) , 2 ) ;
2082
+ let stmts = ms ( ) . multiple_statements_parse_to ( go_with_count, 2 , "SELECT 1\n GO 5" ) ;
2085
2083
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 5 ) } ) ) ;
2086
2084
2087
2085
let go_statement_delimiter = "SELECT 1\n GO" ;
2088
- let stmts = ms ( ) . parse_sql_statements ( go_statement_delimiter) . unwrap ( ) ;
2089
- assert_eq ! ( stmts. len( ) , 2 ) ;
2086
+ let stmts = ms ( ) . multiple_statements_parse_to ( go_statement_delimiter, 2 , "SELECT 1; \n GO" ) ;
2090
2087
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2091
2088
2092
2089
let bare_go = "GO" ;
2093
- let stmts = ms ( ) . parse_sql_statements ( bare_go) . unwrap ( ) ;
2094
- assert_eq ! ( stmts. len( ) , 1 ) ;
2095
- assert_eq ! ( stmts[ 0 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2090
+ let stmt = ms ( ) . one_statement_parses_to ( bare_go, "GO" ) ;
2091
+ assert_eq ! ( stmt, Statement :: Go ( GoStatement { count: None } ) ) ;
2096
2092
2097
2093
let go_then_statements = "/* whitespace */ GO\n RAISERROR('This is a test', 16, 1);" ;
2098
- let stmts = ms ( ) . parse_sql_statements ( go_then_statements) . unwrap ( ) ;
2099
- assert_eq ! ( stmts. len( ) , 2 ) ;
2094
+ let stmts = ms ( ) . multiple_statements_parse_to (
2095
+ go_then_statements,
2096
+ 2 ,
2097
+ "GO\n RAISERROR('This is a test', 16, 1)" ,
2098
+ ) ;
2100
2099
assert_eq ! ( stmts[ 0 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2101
2100
assert_eq ! (
2102
2101
stmts[ 1 ] ,
@@ -2112,41 +2111,45 @@ fn parse_mssql_go_keyword() {
2112
2111
) ;
2113
2112
2114
2113
let multiple_gos = "SELECT 1;\n GO 5\n SELECT 2;\n GO" ;
2115
- let stmts = ms ( ) . parse_sql_statements ( multiple_gos) . unwrap ( ) ;
2116
- assert_eq ! ( stmts. len( ) , 4 ) ;
2114
+ let stmts = ms ( ) . multiple_statements_parse_to ( multiple_gos, 4 , "SELECT 1\n GO 5\n SELECT 2\n GO" ) ;
2117
2115
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 5 ) } ) ) ;
2118
2116
assert_eq ! ( stmts[ 3 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2119
2117
2120
2118
let single_line_comment_preceding_go = "USE some_database; -- okay\n GO" ;
2121
- let stmts = ms ( )
2122
- . parse_sql_statements ( single_line_comment_preceding_go)
2123
- . unwrap ( ) ;
2124
- assert_eq ! ( stmts. len( ) , 2 ) ;
2119
+ let stmts = ms ( ) . multiple_statements_parse_to (
2120
+ single_line_comment_preceding_go,
2121
+ 2 ,
2122
+ "USE some_database\n GO" ,
2123
+ ) ;
2125
2124
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2126
2125
2127
2126
let multi_line_comment_preceding_go = "USE some_database; /* okay */\n GO" ;
2128
- let stmts = ms ( )
2129
- . parse_sql_statements ( multi_line_comment_preceding_go)
2130
- . unwrap ( ) ;
2131
- assert_eq ! ( stmts. len( ) , 2 ) ;
2127
+ let stmts = ms ( ) . multiple_statements_parse_to (
2128
+ multi_line_comment_preceding_go,
2129
+ 2 ,
2130
+ "USE some_database\n GO" ,
2131
+ ) ;
2132
2132
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2133
2133
2134
2134
let single_line_comment_following_go = "USE some_database;\n GO -- okay" ;
2135
- let stmts = ms ( ) . parse_sql_statements ( single_line_comment_following_go) . unwrap ( ) ;
2136
- assert_eq ! ( stmts. len( ) , 2 ) ;
2135
+ let stmts = ms ( ) . multiple_statements_parse_to (
2136
+ single_line_comment_following_go,
2137
+ 2 ,
2138
+ "USE some_database\n GO" ,
2139
+ ) ;
2137
2140
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2138
2141
2139
2142
let multi_line_comment_following = "USE some_database;\n GO/* okay */42" ;
2140
- let stmts = ms ( )
2141
- . parse_sql_statements ( multi_line_comment_following)
2142
- . unwrap ( ) ;
2143
- assert_eq ! ( stmts. len( ) , 2 ) ;
2143
+ let stmts = ms ( ) . multiple_statements_parse_to (
2144
+ multi_line_comment_following,
2145
+ 2 ,
2146
+ "USE some_database\n GO 42" ,
2147
+ ) ;
2144
2148
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 42 ) } ) ) ;
2145
2149
2146
2150
let actually_column_alias = "SELECT NULL GO" ;
2147
- let stmts = ms ( ) . parse_sql_statements ( actually_column_alias) . unwrap ( ) ;
2148
- assert_eq ! ( stmts. len( ) , 1 ) ;
2149
- match & stmts[ 0 ] {
2151
+ let stmt = ms ( ) . one_statement_parses_to ( actually_column_alias, "SELECT NULL AS GO" ) ;
2152
+ match & stmt {
2150
2153
Statement :: Query ( query) => {
2151
2154
let select = query. body . as_select ( ) . unwrap ( ) ;
2152
2155
assert_eq ! (
0 commit comments