@@ -2161,28 +2161,27 @@ fn parse_print() {
2161
2161
#[ test]
2162
2162
fn parse_mssql_go_keyword ( ) {
2163
2163
let single_go_keyword = "USE some_database;\n GO" ;
2164
- let stmts = ms ( ) . parse_sql_statements ( single_go_keyword) . unwrap ( ) ;
2165
- assert_eq ! ( stmts. len( ) , 2 ) ;
2166
- assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) , ) ;
2164
+ let stmts = ms ( ) . multiple_statements_parse_to ( single_go_keyword, 2 , "USE some_database\n GO" ) ;
2165
+ assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2167
2166
2168
2167
let go_with_count = "SELECT 1;\n GO 5" ;
2169
- let stmts = ms ( ) . parse_sql_statements ( go_with_count) . unwrap ( ) ;
2170
- assert_eq ! ( stmts. len( ) , 2 ) ;
2168
+ let stmts = ms ( ) . multiple_statements_parse_to ( go_with_count, 2 , "SELECT 1\n GO 5" ) ;
2171
2169
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 5 ) } ) ) ;
2172
2170
2173
2171
let go_statement_delimiter = "SELECT 1\n GO" ;
2174
- let stmts = ms ( ) . parse_sql_statements ( go_statement_delimiter) . unwrap ( ) ;
2175
- assert_eq ! ( stmts. len( ) , 2 ) ;
2172
+ let stmts = ms ( ) . multiple_statements_parse_to ( go_statement_delimiter, 2 , "SELECT 1; \n GO" ) ;
2176
2173
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2177
2174
2178
2175
let bare_go = "GO" ;
2179
- let stmts = ms ( ) . parse_sql_statements ( bare_go) . unwrap ( ) ;
2180
- assert_eq ! ( stmts. len( ) , 1 ) ;
2181
- assert_eq ! ( stmts[ 0 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2176
+ let stmt = ms ( ) . one_statement_parses_to ( bare_go, "GO" ) ;
2177
+ assert_eq ! ( stmt, Statement :: Go ( GoStatement { count: None } ) ) ;
2182
2178
2183
2179
let go_then_statements = "/* whitespace */ GO\n RAISERROR('This is a test', 16, 1);" ;
2184
- let stmts = ms ( ) . parse_sql_statements ( go_then_statements) . unwrap ( ) ;
2185
- assert_eq ! ( stmts. len( ) , 2 ) ;
2180
+ let stmts = ms ( ) . multiple_statements_parse_to (
2181
+ go_then_statements,
2182
+ 2 ,
2183
+ "GO\n RAISERROR('This is a test', 16, 1)" ,
2184
+ ) ;
2186
2185
assert_eq ! ( stmts[ 0 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2187
2186
assert_eq ! (
2188
2187
stmts[ 1 ] ,
@@ -2198,41 +2197,45 @@ fn parse_mssql_go_keyword() {
2198
2197
) ;
2199
2198
2200
2199
let multiple_gos = "SELECT 1;\n GO 5\n SELECT 2;\n GO" ;
2201
- let stmts = ms ( ) . parse_sql_statements ( multiple_gos) . unwrap ( ) ;
2202
- assert_eq ! ( stmts. len( ) , 4 ) ;
2200
+ let stmts = ms ( ) . multiple_statements_parse_to ( multiple_gos, 4 , "SELECT 1\n GO 5\n SELECT 2\n GO" ) ;
2203
2201
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 5 ) } ) ) ;
2204
2202
assert_eq ! ( stmts[ 3 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2205
2203
2206
2204
let single_line_comment_preceding_go = "USE some_database; -- okay\n GO" ;
2207
- let stmts = ms ( )
2208
- . parse_sql_statements ( single_line_comment_preceding_go)
2209
- . unwrap ( ) ;
2210
- assert_eq ! ( stmts. len( ) , 2 ) ;
2205
+ let stmts = ms ( ) . multiple_statements_parse_to (
2206
+ single_line_comment_preceding_go,
2207
+ 2 ,
2208
+ "USE some_database\n GO" ,
2209
+ ) ;
2211
2210
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2212
2211
2213
2212
let multi_line_comment_preceding_go = "USE some_database; /* okay */\n GO" ;
2214
- let stmts = ms ( )
2215
- . parse_sql_statements ( multi_line_comment_preceding_go)
2216
- . unwrap ( ) ;
2217
- assert_eq ! ( stmts. len( ) , 2 ) ;
2213
+ let stmts = ms ( ) . multiple_statements_parse_to (
2214
+ multi_line_comment_preceding_go,
2215
+ 2 ,
2216
+ "USE some_database\n GO" ,
2217
+ ) ;
2218
2218
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2219
2219
2220
2220
let single_line_comment_following_go = "USE some_database;\n GO -- okay" ;
2221
- let stmts = ms ( ) . parse_sql_statements ( single_line_comment_following_go) . unwrap ( ) ;
2222
- assert_eq ! ( stmts. len( ) , 2 ) ;
2221
+ let stmts = ms ( ) . multiple_statements_parse_to (
2222
+ single_line_comment_following_go,
2223
+ 2 ,
2224
+ "USE some_database\n GO" ,
2225
+ ) ;
2223
2226
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2224
2227
2225
2228
let multi_line_comment_following = "USE some_database;\n GO/* okay */42" ;
2226
- let stmts = ms ( )
2227
- . parse_sql_statements ( multi_line_comment_following)
2228
- . unwrap ( ) ;
2229
- assert_eq ! ( stmts. len( ) , 2 ) ;
2229
+ let stmts = ms ( ) . multiple_statements_parse_to (
2230
+ multi_line_comment_following,
2231
+ 2 ,
2232
+ "USE some_database\n GO 42" ,
2233
+ ) ;
2230
2234
assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 42 ) } ) ) ;
2231
2235
2232
2236
let actually_column_alias = "SELECT NULL GO" ;
2233
- let stmts = ms ( ) . parse_sql_statements ( actually_column_alias) . unwrap ( ) ;
2234
- assert_eq ! ( stmts. len( ) , 1 ) ;
2235
- match & stmts[ 0 ] {
2237
+ let stmt = ms ( ) . one_statement_parses_to ( actually_column_alias, "SELECT NULL AS GO" ) ;
2238
+ match & stmt {
2236
2239
Statement :: Query ( query) => {
2237
2240
let select = query. body . as_select ( ) . unwrap ( ) ;
2238
2241
assert_eq ! (
0 commit comments