radixdb_plugin_host/
lib.rs1#![forbid(unsafe_op_in_unsafe_fn)]
23
24mod invoke;
25mod loader;
26mod manifest;
27mod registry;
28
29pub use invoke::{
30 CandidateKeySpan, CandidatePlan, HashComponent, InvocationLimits, NormalizedPredicateArgument,
31 PlannerPlanIdentity, PlannerSupportOutcome, PluginInvocationError,
32};
33#[cfg(any(test, feature = "test-hooks"))]
34#[doc(hidden)]
35pub use loader::registry_from_test_descriptor;
36pub use loader::{
37 load_plugin_registry, plugin_loader_metrics, PluginHostError, PluginLoaderMetricsSnapshot,
38};
39pub use manifest::{
40 PluginHostConfig, PluginPackageManifest, MANIFEST_FORMAT, MAXIMUM_REQUIRED_GLIBC,
41 OFFICIAL_BUILD_IMAGE, PLUGIN_MANIFEST_FILE, SUPPORTED_TARGET,
42};
43pub use registry::{
44 derive_object_id, DatabasePluginAdmission, ObjectId, ObjectKind, ObjectRequirement,
45 PackageRequirement, PluginRegistry, PluginRegistryStatus, RegisteredBinding,
46 RegisteredExternalType, RegisteredFunction, RegisteredOperator, RegisteredOperatorClass,
47 RegisteredPackage, RegisteredPlannerSupport, RegisteredTypeRef, RequirementIssue,
48};
49
50pub const EXTERNAL_STORAGE_FIXED: u16 = radixdb_plugin_abi::RADIX_EXTERNAL_STORAGE_FIXED;
54pub const EXTERNAL_STORAGE_VARIABLE: u16 = radixdb_plugin_abi::RADIX_EXTERNAL_STORAGE_VARIABLE;