elif_orm/sql/mod.rs
1//! SQL Generation and Security
2//!
3//! This module handles secure SQL generation with proper parameterization,
4//! identifier validation, and dialect-specific SQL generation.
5
6pub mod generation;
7
8// Re-export for convenience
9pub use generation::*;
10
11/// SQL parameter placeholder generation for different database dialects
12pub fn parameter_placeholder(index: usize, dialect: &crate::backends::SqlDialect) -> String {
13 dialect.parameter_placeholder(index)
14}
15
16/// Escape SQL identifier for safe use in queries
17pub fn escape_identifier(identifier: &str, dialect: &crate::backends::SqlDialect) -> String {
18 let quote_char = dialect.identifier_quote();
19 format!("{}{}{}", quote_char, identifier.replace("e_char.to_string(), &format!("{}{}", quote_char, quote_char)), quote_char)
20}