Skip to main content

generate_where_operator_sql

Function generate_where_operator_sql 

Source
pub fn generate_where_operator_sql(
    operator: &WhereOperator,
    param_index: &mut usize,
    params: &mut HashMap<usize, Value>,
) -> Result<String>
Expand description

Generates SQL from a WHERE operator with parameter binding support

§Parameters

  • operator: The WHERE operator to generate SQL for
  • param_index: Mutable reference to parameter counter (for $1, $2, etc.)
  • params: Mutable map to accumulate parameter values (for later binding)

§Returns

SQL string with parameter placeholders ($1, $2, etc.)

§Examples

let mut param_index = 0;
let mut params = HashMap::new();
let op = WhereOperator::Eq(Field::JsonbField("name".to_string()), Value::String("John".to_string()));
let sql = generate_where_operator_sql(&op, &mut param_index, &mut params)?;
assert_eq!(sql, "(data->'name') = $1");
assert_eq!(params[&1], Value::String("John".to_string()));