Expand description
§VIL SQL Query Generator (I05)
Text-to-SQL patterns, schema registry, injection prevention, and safe query generation. No database driver dependency — this crate generates SQL strings and validates them.
§Quick Start
use vil_sql_agent::{SchemaRegistry, TableSchema, SqlGenerator, validate_sql, Severity};
let mut reg = SchemaRegistry::new();
reg.register(
TableSchema::new("users")
.column("id", "INTEGER", false, true)
.column("name", "VARCHAR(255)", false, false),
);
let gen = SqlGenerator::new(®);
let query = gen.select_all("users").unwrap();
assert!(query.safe);
let danger = validate_sql("DROP TABLE users");
assert_eq!(danger.severity, Severity::Dangerous);Re-exports§
pub use config::PlaceholderStyle;pub use config::SqlAgentConfig;pub use generator::SqlGenerator;pub use plugin::SqlAgentPlugin;pub use schema::Column;pub use schema::SchemaRegistry;pub use schema::TableSchema;pub use semantic::SqlAgentEvent;pub use semantic::SqlAgentFault;pub use semantic::SqlAgentFaultType;pub use semantic::SqlAgentState;pub use validator::validate_sql;pub use validator::SafeQuery;pub use validator::Severity;pub use validator::ValidationResult;