postgres-syntax 0.3.0

Compile-time syntax checking of PostgreSQL queries
Documentation
# postgres-syntax

This crate provides simple compile-time syntax checking of PostgreSQL queries using the [pg_query](https://github.com/pganalyze/pg_query.rs) crate (currently version 5.1 which uses libpg_query 16-5.1.0).

It doesn't know anything about your schema, so it doesn't do type-checking or verify that tables you reference actually exist. It's just checking that the SQL syntax is valid. If you want type and name checking, you might prefer [sqlx](https://github.com/launchbadge/sqlx).

[![Crate](https://img.shields.io/crates/v/postgres-syntax.svg)](https://crates.io/crates/postgres-syntax)

# Example

The crate provides one macro, `postgres_syntax::sql`, which takes a string literal and passes it through if it's valid SQL syntax, or emits a compiler error if it's not valid SQL.

```rust
use postgres_syntax::sql;

let _ = sql!("SELECT name, email_address FROM user WHERE id = $1 BLARG");
```

```
error: failed to parse SQL query: syntax error at or near "BLARG"
 --> examples/bad_syntax.rs:4:11
  |
4 |   let _ = sql!("SELECT name, email_address FROM user WHERE id = $1 BLARG");
  |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
```

## License

`postgres-syntax` is licensed under either of

 * Apache License, Version 2.0, ([LICENSE-APACHE]LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
 * MIT license ([LICENSE-MIT]LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

## Contribution

Any kinds of contributions are welcome as a pull request.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in these crates by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

## Acknowledgements

`postgres-syntax` development is sponsored by [AVStack](https://www.avstack.io/). We provide globally-distributed, scalable, managed A/V infrastructure.