pub struct PluginRegistry { /* private fields */ }Expand description
A complete generation. All maps are built before this value is returned;
consumers receive it through Arc and cannot mutate its contents.
Implementations§
Source§impl PluginRegistry
impl PluginRegistry
Sourcepub fn invoke_planner_support(
&self,
support_id: ObjectId,
arguments: &[NormalizedPredicateArgument<'_>],
limits: InvocationLimits,
) -> Result<PlannerSupportOutcome, PluginInvocationError>
pub fn invoke_planner_support( &self, support_id: ObjectId, arguments: &[NormalizedPredicateArgument<'_>], limits: InvocationLimits, ) -> Result<PlannerSupportOutcome, PluginInvocationError>
Invoke a database-bound planner support callback with a closed, versioned predicate frame. The plugin can only return declarative key spans; every span is decoded and canonicalized by the host.
Sourcepub fn encode_operator_class_key(
&self,
object_id: ObjectId,
value: &Value,
limits: InvocationLimits,
) -> Result<Value, PluginInvocationError>
pub fn encode_operator_class_key( &self, object_id: ObjectId, value: &Value, limits: InvocationLimits, ) -> Result<Value, PluginInvocationError>
Produce one core-owned physical key for an admitted operator class.
B-tree/bitmap classes use their bounded encoder callback. Hash classes only emit semantic components into the host sink; the core HashIndex remains the sole owner of hashing algorithm and seed.
pub fn invoke_scalar_function( &self, object_id: ObjectId, arguments: &[Value], limits: InvocationLimits, ) -> Result<Value, PluginInvocationError>
pub fn invoke_function_batch( &self, object_id: ObjectId, rows: &[Vec<Value>], limits: InvocationLimits, ) -> Result<Vec<Value>, PluginInvocationError>
pub fn validate_external_value( &self, value: &Value, ) -> Result<(), PluginInvocationError>
pub fn parse_external_text( &self, type_ref: ExternalTypeRef, text: &str, ) -> Result<Value, PluginInvocationError>
pub fn format_external_text( &self, value: &Value, ) -> Result<String, PluginInvocationError>
pub fn parse_external_binary( &self, type_ref: ExternalTypeRef, bytes: &[u8], ) -> Result<Value, PluginInvocationError>
pub fn format_external_binary( &self, value: &Value, ) -> Result<Vec<u8>, PluginInvocationError>
pub fn external_equal( &self, left: &Value, right: &Value, ) -> Result<bool, PluginInvocationError>
pub fn external_compare( &self, left: &Value, right: &Value, ) -> Result<Ordering, PluginInvocationError>
pub fn external_hash_components( &self, value: &Value, ) -> Result<Vec<HashComponent>, PluginInvocationError>
Source§impl PluginRegistry
impl PluginRegistry
pub fn empty() -> Self
pub fn generation(&self) -> u64
pub fn package(&self, id: &ObjectId) -> Option<&Arc<RegisteredPackage>>
pub fn package_by_name_and_version( &self, name: &str, version: &str, ) -> Option<&Arc<RegisteredPackage>>
pub fn external_type( &self, id: &ObjectId, ) -> Option<&Arc<RegisteredExternalType>>
pub fn external_type_by_package_and_local_id( &self, package_id: &ObjectId, local_id: &str, ) -> Option<&Arc<RegisteredExternalType>>
pub fn function(&self, id: &ObjectId) -> Option<&Arc<RegisteredFunction>>
pub fn function_by_package_and_local_id( &self, package_id: &ObjectId, local_id: &str, ) -> Option<&Arc<RegisteredFunction>>
pub fn operator(&self, id: &ObjectId) -> Option<&Arc<RegisteredOperator>>
pub fn operator_by_package_and_local_id( &self, package_id: &ObjectId, local_id: &str, ) -> Option<&Arc<RegisteredOperator>>
pub fn operator_class( &self, id: &ObjectId, ) -> Option<&Arc<RegisteredOperatorClass>>
pub fn operator_class_by_package_and_local_id( &self, package_id: &ObjectId, local_id: &str, ) -> Option<&Arc<RegisteredOperatorClass>>
pub fn planner_support( &self, id: &ObjectId, ) -> Option<&Arc<RegisteredPlannerSupport>>
pub fn planner_support_by_package_and_local_id( &self, package_id: &ObjectId, local_id: &str, ) -> Option<&Arc<RegisteredPlannerSupport>>
pub fn status(&self) -> PluginRegistryStatus
pub fn assess_requirements( &self, requirements: &[PackageRequirement], ) -> DatabasePluginAdmission
Trait Implementations§
Source§impl Clone for PluginRegistry
impl Clone for PluginRegistry
Source§fn clone(&self) -> PluginRegistry
fn clone(&self) -> PluginRegistry
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 moreSource§impl Debug for PluginRegistry
impl Debug for PluginRegistry
Auto Trait Implementations§
impl Freeze for PluginRegistry
impl RefUnwindSafe for PluginRegistry
impl Send for PluginRegistry
impl Sync for PluginRegistry
impl Unpin for PluginRegistry
impl UnsafeUnpin for PluginRegistry
impl UnwindSafe for PluginRegistry
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