pub struct PreparedProgram {Show 17 fields
pub max_registers: usize,
pub insns: Vec<(Insn, usize)>,
pub cursor_ref: Vec<(Option<CursorKey>, CursorType)>,
pub comments: Vec<(u32, &'static str)>,
pub parameters: Parameters,
pub change_cnt_on: bool,
pub readonly: bool,
pub result_columns: Vec<ResultSetColumn>,
pub table_references: TableReferences,
pub sql: String,
pub needs_stmt_subtransactions: Arc<AtomicBool>,
pub trigger: Option<Arc<Trigger>>,
pub is_subprogram: bool,
pub resolve_type: ResolveType,
pub prepare_context: PrepareContext,
pub write_databases: BitSet,
pub read_databases: BitSet,
}Fields§
§max_registers: usize§insns: Vec<(Insn, usize)>§cursor_ref: Vec<(Option<CursorKey>, CursorType)>§comments: Vec<(u32, &'static str)>§parameters: Parameters§change_cnt_on: bool§readonly: boolFlag that detect if the sqlite statement will directly manipulate the database file.
mirrors: https://sqlite.org/c3ref/stmt_readonly.html.
result_columns: Vec<ResultSetColumn>§table_references: TableReferences§sql: String§needs_stmt_subtransactions: Arc<AtomicBool>Whether the statement needs to be wrapped in a statement subtransaction when run as part of an interactive (non-autocommit) transaction. See [crate::vdbe::builder::ProgramBuilder::is_multi_write] and [crate::vdbe::builder::ProgramBuilder::may_abort] for more details.
trigger: Option<Arc<Trigger>>If this Program is a trigger subprogram, a ref to the trigger is stored here.
is_subprogram: boolWhether this program is a subprogram (trigger or FK action) that runs within a parent statement.
resolve_type: ResolveType§prepare_context: PrepareContext§write_databases: BitSetSet of attached database indices that need write transactions.
read_databases: BitSetSet of attached database indices that need read transactions.
Implementations§
Source§impl PreparedProgram
impl PreparedProgram
pub fn bind(self: Arc<Self>, connection: Arc<Connection>) -> Program
pub fn is_compatible_with(&self, connection: &Connection) -> bool
pub const fn is_readonly(&self) -> bool
Trait Implementations§
Source§impl Clone for PreparedProgram
impl Clone for PreparedProgram
Source§fn clone(&self) -> PreparedProgram
fn clone(&self) -> PreparedProgram
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for PreparedProgram
impl !UnwindSafe for PreparedProgram
impl Freeze for PreparedProgram
impl Send for PreparedProgram
impl Sync for PreparedProgram
impl Unpin for PreparedProgram
impl UnsafeUnpin for PreparedProgram
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<K, Q> Comparable<Q> for K
impl<K, Q> Comparable<Q> for K
Source§impl<K, Q> Equivalent<Q> for K
impl<K, Q> Equivalent<Q> for K
Source§fn equivalent(&self, key: &Q) -> bool
fn equivalent(&self, key: &Q) -> bool
Compare self to
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more