Expand description
SZ-ORM Procedural Macros - compile-time SQL validation
Provides the sql_string! macro that validates SQL string literals at compile time.
Errors like SELECT * FORM users or '; DROP TABLE are caught before the binary is built.
§Usage
ⓘ
use sz_orm_macros::sql_string;
// Basic usage
let sql = sql_string!("SELECT * FROM users WHERE id = 1"); // ✅ compiles
// With parameter count check
let sql = sql_string!("SELECT * FROM users WHERE id = ?";
params: 1); // ✅ compiles
// ❌ compile error: missing FROM
let sql = sql_string!("SELECT * users WHERE id = 1");
// ❌ compile error: SQL injection detected
let sql = sql_string!("SELECT * FROM users WHERE name = 'x' OR '1'='1'");
// ❌ compile error: parameter count mismatch
let sql = sql_string!("SELECT * FROM users WHERE id = ?";
params: 2);Macros§
- query
- Compile-time SQL validation with optional real DB verification.
- sql_
string - Compile-time SQL validation macro.
- typed_
query - Diesel 风格强类型 AST 宏(与
sql_string!/query!并存)。