5个不稳定版本
0.3.0 | 2024年2月21日 |
---|---|
0.2.0 | 2023年5月15日 |
0.1.3 |
|
0.1.2 | 2021年10月10日 |
#15 在 #syntax-error
每月44次下载
13KB
postgres-syntax
本crate使用pg_query crate(目前版本5.1,使用libpg_query 16-5.1.0)提供简单的编译时检查 PostgreSQL 查询的语法。
它不知道你的模式,所以它不会做类型检查或验证你引用的表是否存在。它只是检查 SQL 语法是否有效。如果你想要类型和名称检查,你可能更喜欢 sqlx。
示例
crate提供了一个宏,postgres_syntax::sql
,它接受一个字符串字面量,如果它是有效的 SQL 语法,则将其传递,如果它不是有效的 SQL,则发出编译器错误。
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");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
许可证
postgres-syntax
许可协议为以下之一
- Apache License,版本2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
欢迎以pull request形式提供各种类型的贡献。
除非你明确表示,否则根据Apache-2.0许可证定义,你故意提交给这些crate的任何贡献都应按上述方式双重许可,不附加任何额外条款或条件。
致谢
postgres-syntax
的开发由AVStack赞助。我们提供全球分布式、可扩展、托管的视频/音频基础设施。
依赖关系
~23MB
~446K SLoC