@@ -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]
@@ -2511,28 +2511,27 @@ DECLARE @Y AS NVARCHAR(MAX)='y'
25112511#[ test]
25122512fn parse_mssql_go_keyword ( ) {
25132513 let single_go_keyword = "USE some_database;\n GO" ;
2514- let stmts = ms ( ) . parse_sql_statements ( single_go_keyword) . unwrap ( ) ;
2515- assert_eq ! ( stmts. len( ) , 2 ) ;
2516- assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) , ) ;
2514+ let stmts = ms ( ) . multiple_statements_parse_to ( single_go_keyword, 2 , "USE some_database\n GO" ) ;
2515+ assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25172516
25182517 let go_with_count = "SELECT 1;\n GO 5" ;
2519- let stmts = ms ( ) . parse_sql_statements ( go_with_count) . unwrap ( ) ;
2520- assert_eq ! ( stmts. len( ) , 2 ) ;
2518+ let stmts = ms ( ) . multiple_statements_parse_to ( go_with_count, 2 , "SELECT 1\n GO 5" ) ;
25212519 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 5 ) } ) ) ;
25222520
25232521 let go_statement_delimiter = "SELECT 1\n GO" ;
2524- let stmts = ms ( ) . parse_sql_statements ( go_statement_delimiter) . unwrap ( ) ;
2525- assert_eq ! ( stmts. len( ) , 2 ) ;
2522+ let stmts = ms ( ) . multiple_statements_parse_to ( go_statement_delimiter, 2 , "SELECT 1; \n GO" ) ;
25262523 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25272524
25282525 let bare_go = "GO" ;
2529- let stmts = ms ( ) . parse_sql_statements ( bare_go) . unwrap ( ) ;
2530- assert_eq ! ( stmts. len( ) , 1 ) ;
2531- assert_eq ! ( stmts[ 0 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2526+ let stmt = ms ( ) . one_statement_parses_to ( bare_go, "GO" ) ;
2527+ assert_eq ! ( stmt, Statement :: Go ( GoStatement { count: None } ) ) ;
25322528
25332529 let go_then_statements = "/* whitespace */ GO\n RAISERROR('This is a test', 16, 1);" ;
2534- let stmts = ms ( ) . parse_sql_statements ( go_then_statements) . unwrap ( ) ;
2535- assert_eq ! ( stmts. len( ) , 2 ) ;
2530+ let stmts = ms ( ) . multiple_statements_parse_to (
2531+ go_then_statements,
2532+ 2 ,
2533+ "GO\n RAISERROR('This is a test', 16, 1)" ,
2534+ ) ;
25362535 assert_eq ! ( stmts[ 0 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25372536 assert_eq ! (
25382537 stmts[ 1 ] ,
@@ -2548,41 +2547,45 @@ fn parse_mssql_go_keyword() {
25482547 ) ;
25492548
25502549 let multiple_gos = "SELECT 1;\n GO 5\n SELECT 2;\n GO" ;
2551- let stmts = ms ( ) . parse_sql_statements ( multiple_gos) . unwrap ( ) ;
2552- assert_eq ! ( stmts. len( ) , 4 ) ;
2550+ let stmts = ms ( ) . multiple_statements_parse_to ( multiple_gos, 4 , "SELECT 1\n GO 5\n SELECT 2\n GO" ) ;
25532551 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 5 ) } ) ) ;
25542552 assert_eq ! ( stmts[ 3 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25552553
25562554 let single_line_comment_preceding_go = "USE some_database; -- okay\n GO" ;
2557- let stmts = ms ( )
2558- . parse_sql_statements ( single_line_comment_preceding_go)
2559- . unwrap ( ) ;
2560- assert_eq ! ( stmts. len( ) , 2 ) ;
2555+ let stmts = ms ( ) . multiple_statements_parse_to (
2556+ single_line_comment_preceding_go,
2557+ 2 ,
2558+ "USE some_database\n GO" ,
2559+ ) ;
25612560 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25622561
25632562 let multi_line_comment_preceding_go = "USE some_database; /* okay */\n GO" ;
2564- let stmts = ms ( )
2565- . parse_sql_statements ( multi_line_comment_preceding_go)
2566- . unwrap ( ) ;
2567- assert_eq ! ( stmts. len( ) , 2 ) ;
2563+ let stmts = ms ( ) . multiple_statements_parse_to (
2564+ multi_line_comment_preceding_go,
2565+ 2 ,
2566+ "USE some_database\n GO" ,
2567+ ) ;
25682568 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25692569
25702570 let single_line_comment_following_go = "USE some_database;\n GO -- okay" ;
2571- let stmts = ms ( ) . parse_sql_statements ( single_line_comment_following_go) . unwrap ( ) ;
2572- assert_eq ! ( stmts. len( ) , 2 ) ;
2571+ let stmts = ms ( ) . multiple_statements_parse_to (
2572+ single_line_comment_following_go,
2573+ 2 ,
2574+ "USE some_database\n GO" ,
2575+ ) ;
25732576 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
25742577
25752578 let multi_line_comment_following = "USE some_database;\n GO/* okay */42" ;
2576- let stmts = ms ( )
2577- . parse_sql_statements ( multi_line_comment_following)
2578- . unwrap ( ) ;
2579- assert_eq ! ( stmts. len( ) , 2 ) ;
2579+ let stmts = ms ( ) . multiple_statements_parse_to (
2580+ multi_line_comment_following,
2581+ 2 ,
2582+ "USE some_database\n GO 42" ,
2583+ ) ;
25802584 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 42 ) } ) ) ;
25812585
25822586 let actually_column_alias = "SELECT NULL GO" ;
2583- let stmts = ms ( ) . parse_sql_statements ( actually_column_alias) . unwrap ( ) ;
2584- assert_eq ! ( stmts. len( ) , 1 ) ;
2585- match & stmts[ 0 ] {
2587+ let stmt = ms ( ) . one_statement_parses_to ( actually_column_alias, "SELECT NULL AS GO" ) ;
2588+ match & stmt {
25862589 Statement :: Query ( query) => {
25872590 let select = query. body . as_select ( ) . unwrap ( ) ;
25882591 assert_eq ! (
0 commit comments