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            &quote_char.to_string(),
23            &format!("{}{}", quote_char, quote_char)
24        ),
25        quote_char
26    )
27}