Function pg_query::split_with_parser
source · pub fn split_with_parser(query: &str) -> Result<Vec<&str>>
Expand description
Split a well-formed query into separate statements.
Example
let query = r#"select /*;*/ 1; select "2;", (select 3);"#;
let statements = pg_query::split_with_parser(query).unwrap();
assert_eq!(statements, vec!["select /*;*/ 1", r#" select "2;", (select 3)"#]);
However, split_with_parser
will fail on malformed statements
let query = "select 1; this statement is not sql; select 2;";
let result = pg_query::split_with_parser(query);
let err = r#"syntax error at or near "this""#;
assert_eq!(result, Err(pg_query::Error::Split(err.to_string())));