pg_query.rs 项目使用教程
1. 项目的目录结构及介绍
pg_query.rs/
├── Cargo.toml
├── src/
│ ├── lib.rs
│ ├── parse.rs
│ ├── fingerprint.rs
│ ├── normalize.rs
│ └── utils.rs
├── examples/
│ ├── parse_query.rs
│ └── fingerprint_query.rs
├── tests/
│ ├── integration_tests.rs
│ └── unit_tests.rs
└── README.md
- Cargo.toml: 项目的依赖和元数据配置文件。
- src/: 包含项目的主要源代码文件。
- lib.rs: 库的入口文件。
- parse.rs: 解析SQL查询的实现。
- fingerprint.rs: 生成查询指纹的实现。
- normalize.rs: 规范化查询的实现。
- utils.rs: 工具函数和辅助方法。
- examples/: 包含示例代码,展示如何使用库。
- parse_query.rs: 解析查询的示例。
- fingerprint_query.rs: 生成查询指纹的示例。
- tests/: 包含单元测试和集成测试。
- integration_tests.rs: 集成测试。
- unit_tests.rs: 单元测试。
- README.md: 项目说明文档。
2. 项目的启动文件介绍
项目的启动文件是 src/lib.rs
,它是库的入口点。该文件导入了其他模块,并提供了对外的API接口。
// src/lib.rs
pub mod parse;
pub mod fingerprint;
pub mod normalize;
pub mod utils;
// 导出主要功能
pub use parse::parse;
pub use fingerprint::fingerprint;
pub use normalize::normalize;
3. 项目的配置文件介绍
项目的配置文件是 Cargo.toml
,它包含了项目的依赖、版本信息和其他元数据。
[package]
name = "pg_query"
version = "5.0.0"
authors = ["pganalyze"]
edition = "2018"
[dependencies]
libpg_query = "1.0.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
[dev-dependencies]
assert_cmd = "1.0"
- [package]: 项目的基本信息,如名称、版本和作者。
- [dependencies]: 项目依赖的其他库。
- [dev-dependencies]: 开发依赖,用于测试和示例。
以上是 pg_query.rs
项目的基本使用教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望对您有所帮助!