@@ -1569,7 +1569,7 @@ fn test_mssql_cursor() {
15691569 CLOSE Employee_Cursor; \
15701570 DEALLOCATE Employee_Cursor\
15711571 ";
1572- let _ = ms ( ) . statements_parse_to ( full_cursor_usage, "" ) ;
1572+ let _ = ms ( ) . multiple_statements_parse_to ( full_cursor_usage, 6 , "" ) ;
15731573}
15741574
15751575#[ test]
@@ -2858,28 +2858,32 @@ fn parse_mssql_update_with_output_into() {
28582858#[ test]
28592859fn parse_mssql_go_keyword ( ) {
28602860 let single_go_keyword = "USE some_database;\n GO" ;
2861- let stmts = ms ( ) . parse_sql_statements ( single_go_keyword) . unwrap ( ) ;
2862- assert_eq ! ( stmts. len( ) , 2 ) ;
2863- assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) , ) ;
2861+ let stmts = ms ( ) . multiple_statements_parse_to ( single_go_keyword, 2 , "USE some_database\n GO" ) ;
2862+ assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
28642863
28652864 let go_with_count = "SELECT 1;\n GO 5" ;
2866- let stmts = ms ( ) . parse_sql_statements ( go_with_count) . unwrap ( ) ;
2867- assert_eq ! ( stmts. len( ) , 2 ) ;
2865+ let stmts = ms ( ) . multiple_statements_parse_to ( go_with_count, 2 , "SELECT 1\n GO 5" ) ;
28682866 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 5 ) } ) ) ;
28692867
28702868 // let go_statement_delimiter = "SELECT 1\nGO";
28712869 // let stmts = ms().parse_sql_statements(go_statement_delimiter).unwrap();
28722870 // assert_eq!(stmts.len(), 2);
28732871 // assert_eq!(stmts[1], Statement::Go(GoStatement { count: None }));
28742872
2873+ let go_statement_delimiter = "SELECT 1\n GO" ;
2874+ let stmts = ms ( ) . multiple_statements_parse_to ( go_statement_delimiter, 2 , "SELECT 1; \n GO" ) ;
2875+ assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2876+
28752877 let bare_go = "GO" ;
2876- let stmts = ms ( ) . parse_sql_statements ( bare_go) . unwrap ( ) ;
2877- assert_eq ! ( stmts. len( ) , 1 ) ;
2878- assert_eq ! ( stmts[ 0 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
2878+ let stmt = ms ( ) . one_statement_parses_to ( bare_go, "GO" ) ;
2879+ assert_eq ! ( stmt, Statement :: Go ( GoStatement { count: None } ) ) ;
28792880
28802881 let go_then_statements = "/* whitespace */ GO\n RAISERROR('This is a test', 16, 1);" ;
2881- let stmts = ms ( ) . parse_sql_statements ( go_then_statements) . unwrap ( ) ;
2882- assert_eq ! ( stmts. len( ) , 2 ) ;
2882+ let stmts = ms ( ) . multiple_statements_parse_to (
2883+ go_then_statements,
2884+ 2 ,
2885+ "GO\n RAISERROR('This is a test', 16, 1)" ,
2886+ ) ;
28832887 assert_eq ! ( stmts[ 0 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
28842888 assert_eq ! (
28852889 stmts[ 1 ] ,
@@ -2895,28 +2899,32 @@ fn parse_mssql_go_keyword() {
28952899 ) ;
28962900
28972901 let multiple_gos = "SELECT 1;\n GO 5\n SELECT 2;\n GO" ;
2898- let stmts = ms ( ) . parse_sql_statements ( multiple_gos) . unwrap ( ) ;
2899- assert_eq ! ( stmts. len( ) , 4 ) ;
2902+ let stmts = ms ( ) . multiple_statements_parse_to ( multiple_gos, 4 , "SELECT 1\n GO 5\n SELECT 2\n GO" ) ;
29002903 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 5 ) } ) ) ;
29012904 assert_eq ! ( stmts[ 3 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
29022905
29032906 let single_line_comment_preceding_go = "USE some_database; -- okay\n GO" ;
2904- let stmts = ms ( )
2905- . parse_sql_statements ( single_line_comment_preceding_go)
2906- . unwrap ( ) ;
2907- assert_eq ! ( stmts. len( ) , 2 ) ;
2907+ let stmts = ms ( ) . multiple_statements_parse_to (
2908+ single_line_comment_preceding_go,
2909+ 2 ,
2910+ "USE some_database\n GO" ,
2911+ ) ;
29082912 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
29092913
29102914 let multi_line_comment_preceding_go = "USE some_database; /* okay */\n GO" ;
2911- let stmts = ms ( )
2912- . parse_sql_statements ( multi_line_comment_preceding_go)
2913- . unwrap ( ) ;
2914- assert_eq ! ( stmts. len( ) , 2 ) ;
2915+ let stmts = ms ( ) . multiple_statements_parse_to (
2916+ multi_line_comment_preceding_go,
2917+ 2 ,
2918+ "USE some_database\n GO" ,
2919+ ) ;
29152920 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
29162921
29172922 let single_line_comment_following_go = "USE some_database;\n GO -- okay" ;
2918- let stmts = ms ( ) . parse_sql_statements ( single_line_comment_following_go) . unwrap ( ) ;
2919- assert_eq ! ( stmts. len( ) , 2 ) ;
2923+ let stmts = ms ( ) . multiple_statements_parse_to (
2924+ single_line_comment_following_go,
2925+ 2 ,
2926+ "USE some_database\n GO" ,
2927+ ) ;
29202928 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: None } ) ) ;
29212929
29222930 // let actually_column_alias = "SELECT NULL AS GO";
@@ -2947,15 +2955,13 @@ fn parse_mssql_go_keyword() {
29472955 // }
29482956
29492957 let multi_line_comment_following = "USE some_database;\n GO/* okay */42" ;
2950- let stmts = ms ( )
2951- . parse_sql_statements ( multi_line_comment_following)
2952- . unwrap ( ) ;
2953- assert_eq ! ( stmts. len( ) , 2 ) ;
2958+ let stmts = ms ( ) . multiple_statements_parse_to (
2959+ multi_line_comment_following,
2960+ 2 ,
2961+ "USE some_database\n GO 42" ,
2962+ ) ;
29542963 assert_eq ! ( stmts[ 1 ] , Statement :: Go ( GoStatement { count: Some ( 42 ) } ) ) ;
29552964
2956- let actually_column_alias = "SELECT NULL GO" ;
2957- let stmts = ms ( ) . parse_sql_statements ( actually_column_alias) . unwrap ( ) ;
2958-
29592965 let invalid_go_position = "SELECT 1; GO" ;
29602966 let err = ms ( ) . parse_sql_statements ( invalid_go_position) ;
29612967 assert_eq ! (
0 commit comments