[][src]Function rsyesql::parse

pub fn parse<S: AsRef<str>>(
    text: S
) -> Result<IndexMap<String, String>, ParseError>

Parse SQL queries as text to IndexMap.

Text parsed to IndexMap, where keys are tags and values are queries. IndexMap used instead HashMap because with IndexMap it's possible execute queries in defined order what can be important on database scheme creation.

Example

Content of file with SQL:

-- name: select
SELECT * FROM users;

-- name: delete
DELETE FROM users WHERE id = $1;

in Rust:

This example is not tested
let queries = rsyesql::parse(include_str!("./queries.sql"));
println!("{}", queries.get("select").unwrap()); // SELECT * FROM users;
println!("{}", queries.get("delete").unwrap()); // DELETE FROM users WHERE id = $1;