# rust-postgres-macros **Repository Path**: mirrors_sfackler/rust-postgres-macros ## Basic Information - **Project Name**: rust-postgres-macros - **Description**: Support macros for Rust-Postgres - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-19 - **Last Updated**: 2026-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README rust-postgres-macros ==================== A set of support macros for Rust-Postgres. [![Build Status](https://travis-ci.org/sfackler/rust-postgres-macros.svg?branch=master)](https://travis-ci.org/sfackler/rust-postgres-macros) You can integrate rust-postgres-macros into your project through the [releases on crates.io](https://crates.io/crates/postgres_macros): ```toml # Cargo.toml [dependencies] postgres_macros = "0.1" ``` sql! ==== The `sql!` macro will validate that its string literal argument parses as a valid Postgres query. ```rust #![feature(plugin)] #![plugin(postgres_macros)] fn main() { let query = sql!("SELECT * FROM users WHERE name = $1"); let bad_query = sql!("SELECT * FORM users WEHRE name = $1"); } ``` ``` test.rs:8:26: 8:63 error: Invalid syntax at position 10: syntax error at or near "FORM" test.rs:8 let bad_query = sql!("SELECT * FORM users WEHRE name = $1"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: aborting due to previous error ``` Credits ======= Major thanks to [pganalyze](http://pganalyze.com) for their [writeup](https://pganalyze.com/blog/parse-postgresql-queries-in-ruby.html) on how to link to the Postgres query parser directly! ## License 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 Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.