squire_sqlite3_sys/bindings/default/
statement.rs1use core::ffi::{c_char, c_int, c_uint};
2
3use super::{connection::sqlite3, types::sqlite3_int64};
4
5#[repr(C)]
9pub struct sqlite3_stmt {
10 _unused: [u8; 0],
11}
12
13unsafe extern "C" {
14 pub fn sqlite3_prepare_v3(
19 db: *mut sqlite3,
20 zSql: *const c_char,
21 nByte: c_int,
22 prepFlags: c_uint,
23 ppStmt: *mut *mut sqlite3_stmt,
24 pzTail: *mut *const c_char,
25 ) -> c_int;
26
27 pub fn sqlite3_step(pStmt: *mut sqlite3_stmt) -> c_int;
28
29 pub fn sqlite3_bind_parameter_count(pStmt: *mut sqlite3_stmt) -> c_int;
30 pub fn sqlite3_bind_parameter_name(pStmt: *mut sqlite3_stmt, arg2: c_int) -> *const c_char;
31 pub fn sqlite3_bind_parameter_index(pStmt: *mut sqlite3_stmt, zName: *const c_char) -> c_int;
32
33 pub fn sqlite3_column_count(pStmt: *mut sqlite3_stmt) -> c_int;
34 pub fn sqlite3_column_name(pStmt: *mut sqlite3_stmt, n: c_int) -> *const c_char;
35 pub fn sqlite3_column_database_name(pStmt: *mut sqlite3_stmt, n: c_int) -> *const c_char;
36 pub fn sqlite3_column_table_name(pStmt: *mut sqlite3_stmt, n: c_int) -> *const c_char;
37 pub fn sqlite3_column_origin_name(pStmt: *mut sqlite3_stmt, n: c_int) -> *const c_char;
38 pub fn sqlite3_column_decltype(pStmt: *mut sqlite3_stmt, n: c_int) -> *const c_char;
39 pub fn sqlite3_data_count(pStmt: *mut sqlite3_stmt) -> c_int;
40
41 pub fn sqlite3_db_handle(pStmt: *mut sqlite3_stmt) -> *mut sqlite3;
42
43 pub fn sqlite3_changes(pStmt: *mut sqlite3) -> c_int;
44 pub fn sqlite3_changes64(pStmt: *mut sqlite3) -> sqlite3_int64;
45 pub fn sqlite3_last_insert_rowid(pStmt: *mut sqlite3) -> sqlite3_int64;
46 pub fn sqlite3_set_last_insert_rowid(pStmt: *mut sqlite3, id: sqlite3_int64);
47
48 pub fn sqlite3_clear_bindings(pStmt: *mut sqlite3_stmt) -> c_int;
49 pub fn sqlite3_reset(pStmt: *mut sqlite3_stmt) -> c_int;
50 pub fn sqlite3_finalize(pStmt: *mut sqlite3_stmt) -> c_int;
51}
52
53pub const SQLITE_PREPARE_PERSISTENT: i32 = 1;
54pub const SQLITE_PREPARE_NORMALIZE: i32 = 2;
55pub const SQLITE_PREPARE_NO_VTAB: i32 = 4;
56pub const SQLITE_PREPARE_DONT_LOG: i32 = 16;