pub fn define_scalar_function<F>(
    db: *mut sqlite3,
    name: &str,
    num_args: c_int,
    x_func: F,
    func_flags: FunctionFlags
) -> Result<()>where
    F: Fn(*mut sqlite3_context, &[*mut sqlite3_value]) -> Result<()>,
Expand description

Defines a new scalar function on the given database connection.

Example

fn xyz_version(context: *mut sqlite3_context, _values: &[*mut sqlite3_value]) -> Result<()> {
  context_result_text(context, &format!("v{}", env!("CARGO_PKG_VERSION")))?;
  Ok(())
}

define_scalar_function(db, "xyz_version", 0, xyz_version)?;
Examples found in repository?
examples/hello.rs (line 26)
24
25
26
27
28
pub fn sqlite3_hello_init(db: *mut sqlite3) -> Result<()> {
    let flags = FunctionFlags::UTF8 | FunctionFlags::DETERMINISTIC;
    define_scalar_function(db, "hello", 1, hello, flags)?;
    Ok(())
}
More examples
Hide additional examples
examples/scalar.rs (line 44)
42
43
44
45
46
47
48
49
pub fn sqlite3_scalarrs_init(db: *mut sqlite3) -> Result<()> {
    let flags = FunctionFlags::UTF8 | FunctionFlags::DETERMINISTIC;
    define_scalar_function(db, "surround_rs", 1, surround, flags)?;
    define_scalar_function(db, "connect", -1, connect, flags)?;
    define_scalar_function(db, "yo_rs", 0, yo, flags)?;
    define_scalar_function(db, "add_rs", 2, add, flags)?;
    Ok(())
}