pub struct PreparedProgram {Show 18 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 contains_trigger_subprograms: 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.
contains_trigger_subprograms: boolWhether the program contains any trigger subprograms.
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
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for PreparedProgram
impl !RefUnwindSafe for PreparedProgram
impl Send for PreparedProgram
impl Sync for PreparedProgram
impl Unpin for PreparedProgram
impl UnsafeUnpin for PreparedProgram
impl !UnwindSafe 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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