Skip to main content

Crate sz_orm_macros

Crate sz_orm_macros 

Source
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! 并存)。