Struct pgrx::pg_sys::PlannerInfo
source · #[repr(C)]pub struct PlannerInfo {Show 71 fields
pub type_: NodeTag,
pub parse: *mut Query,
pub glob: *mut PlannerGlobal,
pub query_level: u32,
pub parent_root: *mut PlannerInfo,
pub plan_params: *mut List,
pub outer_params: *mut Bitmapset,
pub simple_rel_array: *mut *mut RelOptInfo,
pub simple_rel_array_size: i32,
pub simple_rte_array: *mut *mut RangeTblEntry,
pub append_rel_array: *mut *mut AppendRelInfo,
pub all_baserels: *mut Bitmapset,
pub nullable_baserels: *mut Bitmapset,
pub join_rel_list: *mut List,
pub join_rel_hash: *mut HTAB,
pub join_rel_level: *mut *mut List,
pub join_cur_level: i32,
pub init_plans: *mut List,
pub cte_plan_ids: *mut List,
pub multiexpr_params: *mut List,
pub eq_classes: *mut List,
pub ec_merging_done: bool,
pub canon_pathkeys: *mut List,
pub left_join_clauses: *mut List,
pub right_join_clauses: *mut List,
pub full_join_clauses: *mut List,
pub join_info_list: *mut List,
pub all_result_relids: *mut Bitmapset,
pub leaf_result_relids: *mut Bitmapset,
pub append_rel_list: *mut List,
pub row_identity_vars: *mut List,
pub rowMarks: *mut List,
pub placeholder_list: *mut List,
pub fkey_list: *mut List,
pub query_pathkeys: *mut List,
pub group_pathkeys: *mut List,
pub window_pathkeys: *mut List,
pub distinct_pathkeys: *mut List,
pub sort_pathkeys: *mut List,
pub part_schemes: *mut List,
pub initial_rels: *mut List,
pub upper_rels: [*mut List; 7],
pub upper_targets: [*mut PathTarget; 7],
pub processed_tlist: *mut List,
pub update_colnos: *mut List,
pub grouping_map: *mut i16,
pub minmax_aggs: *mut List,
pub planner_cxt: *mut MemoryContextData,
pub total_table_pages: f64,
pub tuple_fraction: f64,
pub limit_tuples: f64,
pub qual_security_level: u32,
pub hasJoinRTEs: bool,
pub hasLateralRTEs: bool,
pub hasHavingQual: bool,
pub hasPseudoConstantQuals: bool,
pub hasAlternativeSubPlans: bool,
pub hasRecursion: bool,
pub agginfos: *mut List,
pub aggtransinfos: *mut List,
pub numOrderedAggs: i32,
pub hasNonPartialAggs: bool,
pub hasNonSerialAggs: bool,
pub wt_param_id: i32,
pub non_recursive_path: *mut Path,
pub curOuterRels: *mut Bitmapset,
pub curOuterParams: *mut List,
pub isAltSubplan: *mut bool,
pub isUsedSubplan: *mut bool,
pub join_search_private: *mut c_void,
pub partColsUpdated: bool,
}Fields§
§type_: NodeTag§parse: *mut Query§glob: *mut PlannerGlobal§query_level: u32§parent_root: *mut PlannerInfo§plan_params: *mut List§outer_params: *mut Bitmapset§simple_rel_array: *mut *mut RelOptInfo§simple_rel_array_size: i32§simple_rte_array: *mut *mut RangeTblEntry§append_rel_array: *mut *mut AppendRelInfo§all_baserels: *mut Bitmapset§nullable_baserels: *mut Bitmapset§join_rel_list: *mut List§join_rel_hash: *mut HTAB§join_rel_level: *mut *mut List§join_cur_level: i32§init_plans: *mut List§cte_plan_ids: *mut List§multiexpr_params: *mut List§eq_classes: *mut List§ec_merging_done: bool§canon_pathkeys: *mut List§left_join_clauses: *mut List§right_join_clauses: *mut List§full_join_clauses: *mut List§join_info_list: *mut List§all_result_relids: *mut Bitmapset§leaf_result_relids: *mut Bitmapset§append_rel_list: *mut List§row_identity_vars: *mut List§rowMarks: *mut List§placeholder_list: *mut List§fkey_list: *mut List§query_pathkeys: *mut List§group_pathkeys: *mut List§window_pathkeys: *mut List§distinct_pathkeys: *mut List§sort_pathkeys: *mut List§part_schemes: *mut List§initial_rels: *mut List§upper_rels: [*mut List; 7]§upper_targets: [*mut PathTarget; 7]§processed_tlist: *mut List§update_colnos: *mut List§grouping_map: *mut i16§minmax_aggs: *mut List§planner_cxt: *mut MemoryContextData§total_table_pages: f64§tuple_fraction: f64§limit_tuples: f64§qual_security_level: u32§hasJoinRTEs: bool§hasLateralRTEs: bool§hasHavingQual: bool§hasPseudoConstantQuals: bool§hasAlternativeSubPlans: bool§hasRecursion: bool§agginfos: *mut List§aggtransinfos: *mut List§numOrderedAggs: i32§hasNonPartialAggs: bool§hasNonSerialAggs: bool§wt_param_id: i32§non_recursive_path: *mut Path§curOuterRels: *mut Bitmapset§curOuterParams: *mut List§isAltSubplan: *mut bool§isUsedSubplan: *mut bool§join_search_private: *mut c_void§partColsUpdated: boolTrait Implementations§
source§impl Clone for PlannerInfo
impl Clone for PlannerInfo
source§fn clone(&self) -> PlannerInfo
fn clone(&self) -> PlannerInfo
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for PlannerInfo
impl Debug for PlannerInfo
source§impl Default for PlannerInfo
impl Default for PlannerInfo
source§fn default() -> PlannerInfo
fn default() -> PlannerInfo
Returns the “default value” for a type. Read more
source§impl Display for PlannerInfo
impl Display for PlannerInfo
source§impl PgNode for PlannerInfo
impl PgNode for PlannerInfo
source§fn display_node(&self) -> String
fn display_node(&self) -> String
Format this node Read more
source§impl SqlTranslatable for PlannerInfo
impl SqlTranslatable for PlannerInfo
fn argument_sql() -> Result<SqlMapping, ArgumentError>
fn return_sql() -> Result<Returns, ReturnsError>
fn type_name() -> &'static str
fn variadic() -> bool
fn optional() -> bool
fn entity() -> FunctionMetadataTypeEntity
impl Copy for PlannerInfo
Auto Trait Implementations§
impl Freeze for PlannerInfo
impl RefUnwindSafe for PlannerInfo
impl !Send for PlannerInfo
impl !Sync for PlannerInfo
impl Unpin for PlannerInfo
impl UnwindSafe for PlannerInfo
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self, then passes self.as_ref() into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self, then passes self.as_mut() into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B> of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B> of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R> view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R> view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref() only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.