@@ -1566,7 +1566,7 @@ fn test_mssql_cursor() {
15661566 CLOSE Employee_Cursor; \
15671567 DEALLOCATE Employee_Cursor\
15681568 ";
1569- let _ = ms ( ) . statements_parse_to ( full_cursor_usage, "" ) ;
1569+ let _ = ms ( ) . multiple_statements_parse_to ( full_cursor_usage, 6 , "" ) ;
15701570}
15711571
15721572#[ test]
@@ -2527,28 +2527,27 @@ DECLARE @Y AS NVARCHAR(MAX)='y'
25272527#[ test]
25282528fn parse_mssql_go_keyword ( ) {
25292529 let single_go_keyword = "USE some_database;\n GO" ;
2530- let stmts = ms ( ) . parse_sql_statements ( single_go_keyword) . unwrap ( ) ;
2531- assert_eq ! ( stmts. len( ) , 2 ) ;
2532- assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) , ) ;
2530+ let stmts = ms ( ) . multiple_statements_parse_to ( single_go_keyword, 2 , "USE some_database\n GO" ) ;
2531+ assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25332532
25342533 let go_with_count = "SELECT 1;\n GO 5" ;
2535- let stmts = ms ( ) . parse_sql_statements ( go_with_count) . unwrap ( ) ;
2536- assert_eq ! ( stmts. len( ) , 2 ) ;
2534+ let stmts = ms ( ) . multiple_statements_parse_to ( go_with_count, 2 , "SELECT 1\n GO 5" ) ;
25372535 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 5 ) } ) ) ;
25382536
25392537 let go_statement_delimiter = "SELECT 1\n GO" ;
2540- let stmts = ms ( ) . parse_sql_statements ( go_statement_delimiter) . unwrap ( ) ;
2541- assert_eq ! ( stmts. len( ) , 2 ) ;
2538+ let stmts = ms ( ) . multiple_statements_parse_to ( go_statement_delimiter, 2 , "SELECT 1; \n GO" ) ;
25422539 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25432540
25442541 let bare_go = "GO" ;
2545- let stmts = ms ( ) . parse_sql_statements ( bare_go) . unwrap ( ) ;
2546- assert_eq ! ( stmts. len( ) , 1 ) ;
2547- assert_eq ! ( stmts[ 0 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2542+ let stmt = ms ( ) . one_statement_parses_to ( bare_go, "GO" ) ;
2543+ assert_eq ! ( stmt, Statement :: Go ( GoStatement { count: None } ) ) ;
25482544
25492545 let go_then_statements = "/* whitespace */ GO\n RAISERROR('This is a test', 16, 1);" ;
2550- let stmts = ms ( ) . parse_sql_statements ( go_then_statements) . unwrap ( ) ;
2551- assert_eq ! ( stmts. len( ) , 2 ) ;
2546+ let stmts = ms ( ) . multiple_statements_parse_to (
2547+ go_then_statements,
2548+ 2 ,
2549+ "GO\n RAISERROR('This is a test', 16, 1)" ,
2550+ ) ;
25522551 assert_eq ! ( stmts[ 0 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25532552 assert_eq ! (
25542553 stmts[ 1 ] ,
@@ -2564,41 +2563,45 @@ fn parse_mssql_go_keyword() {
25642563 ) ;
25652564
25662565 let multiple_gos = "SELECT 1;\n GO 5\n SELECT 2;\n GO" ;
2567- let stmts = ms ( ) . parse_sql_statements ( multiple_gos) . unwrap ( ) ;
2568- assert_eq ! ( stmts. len( ) , 4 ) ;
2566+ let stmts = ms ( ) . multiple_statements_parse_to ( multiple_gos, 4 , "SELECT 1\n GO 5\n SELECT 2\n GO" ) ;
25692567 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 5 ) } ) ) ;
25702568 assert_eq ! ( stmts[ 3 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25712569
25722570 let single_line_comment_preceding_go = "USE some_database; -- okay\n GO" ;
2573- let stmts = ms ( )
2574- . parse_sql_statements ( single_line_comment_preceding_go)
2575- . unwrap ( ) ;
2576- assert_eq ! ( stmts. len( ) , 2 ) ;
2571+ let stmts = ms ( ) . multiple_statements_parse_to (
2572+ single_line_comment_preceding_go,
2573+ 2 ,
2574+ "USE some_database\n GO" ,
2575+ ) ;
25772576 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25782577
25792578 let multi_line_comment_preceding_go = "USE some_database; /* okay */\n GO" ;
2580- let stmts = ms ( )
2581- . parse_sql_statements ( multi_line_comment_preceding_go)
2582- . unwrap ( ) ;
2583- assert_eq ! ( stmts. len( ) , 2 ) ;
2579+ let stmts = ms ( ) . multiple_statements_parse_to (
2580+ multi_line_comment_preceding_go,
2581+ 2 ,
2582+ "USE some_database\n GO" ,
2583+ ) ;
25842584 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25852585
25862586 let single_line_comment_following_go = "USE some_database;\n GO -- okay" ;
2587- let stmts = ms ( ) . parse_sql_statements ( single_line_comment_following_go) . unwrap ( ) ;
2588- assert_eq ! ( stmts. len( ) , 2 ) ;
2587+ let stmts = ms ( ) . multiple_statements_parse_to (
2588+ single_line_comment_following_go,
2589+ 2 ,
2590+ "USE some_database\n GO" ,
2591+ ) ;
25892592 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25902593
25912594 let multi_line_comment_following = "USE some_database;\n GO/* okay */42" ;
2592- let stmts = ms ( )
2593- . parse_sql_statements ( multi_line_comment_following)
2594- . unwrap ( ) ;
2595- assert_eq ! ( stmts. len( ) , 2 ) ;
2595+ let stmts = ms ( ) . multiple_statements_parse_to (
2596+ multi_line_comment_following,
2597+ 2 ,
2598+ "USE some_database\n GO 42" ,
2599+ ) ;
25962600 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 42 ) } ) ) ;
25972601
25982602 let actually_column_alias = "SELECT NULL GO" ;
2599- let stmts = ms ( ) . parse_sql_statements ( actually_column_alias) . unwrap ( ) ;
2600- assert_eq ! ( stmts. len( ) , 1 ) ;
2601- match & stmts[ 0 ] {
2603+ let stmt = ms ( ) . one_statement_parses_to ( actually_column_alias, "SELECT NULL AS GO" ) ;
2604+ match & stmt {
26022605 Statement :: Query ( query) => {
26032606 let select = query. body . as_select ( ) . unwrap ( ) ;
26042607 assert_eq ! (
0 commit comments