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
9
10/// SQL parameter placeholder generation for different database dialects
11pub fn parameter_placeholder(index: usize, dialect: &crate::backends::SqlDialect) -> String {
12 dialect.parameter_placeholder(index)
13}
14
15/// Escape SQL identifier for safe use in queries
16pub fn escape_identifier(identifier: &str, dialect: &crate::backends::SqlDialect) -> String {
17 let quote_char = dialect.identifier_quote();
18 format!(
19 "{}{}{}",
20 quote_char,
21 identifier.replace(
22 "e_char.to_string(),
23 &format!("{}{}", quote_char, quote_char)
24 ),
25 quote_char
26 )
27}