sqlite3: Implement sqlite3_bind_parameter_index()

This commit is contained in:
Pekka Enberg
2025-08-24 20:10:31 +03:00
parent 4fc7b94a6b
commit c428ff06b2
4 changed files with 67 additions and 0 deletions

View File

@@ -538,6 +538,28 @@ pub unsafe extern "C" fn sqlite3_bind_parameter_name(
}
}
#[no_mangle]
pub unsafe extern "C" fn sqlite3_bind_parameter_index(
stmt: *mut sqlite3_stmt,
name: *const ffi::c_char,
) -> ffi::c_int {
if stmt.is_null() || name.is_null() {
return 0;
}
let stmt = &*stmt;
let name_str = match CStr::from_ptr(name).to_str() {
Ok(s) => s,
Err(_) => return 0,
};
if let Some(index) = stmt.stmt.parameter_index(name_str) {
index.get() as ffi::c_int
} else {
0
}
}
#[no_mangle]
pub unsafe extern "C" fn sqlite3_bind_null(stmt: *mut sqlite3_stmt, idx: ffi::c_int) -> ffi::c_int {
if stmt.is_null() {