Skip to main content

Crate radixdb_plugin_abi

Crate radixdb_plugin_abi 

Source
Expand description

Stable low-level C ABI shared by the RadixDB plugin host and trusted native plugins.

This crate deliberately has no dependency on an engine crate and exports no Rust-owned allocation across the boundary. The safe authoring API lives in radixdb-plugin; this crate is the generated bridge and C-oracle surface.

Structs§

RadixAbiBatchViewV1
RadixAbiBindingEntryV1
RadixAbiCallContextV1
RadixAbiColumnViewV1
RadixAbiDiagnosticSinkV1
RadixAbiDiagnosticV1
RadixAbiExternalTypeDescriptorV1
RadixAbiHashSinkV1
RadixAbiHeaderV1
RadixAbiOperatorClassDescriptorV1
RadixAbiOperatorDescriptorV1
RadixAbiPlannerSupportDescriptorV1
RadixAbiResultBuilderV1
RadixAbiScalarFunctionDescriptorV1
RadixAbiSliceV1
RadixAbiTypeRefV1
RadixAbiU32SliceV1
RadixAbiValueV1
Borrowed scalar view. Fixed built-ins use inline_bytes; variable built-ins and external values use borrowed_bytes. A null value zeros both regions.
RadixHostApiV1
RadixPluginDescriptorV1

Enums§

RadixAbiValidationError

Constants§

ENTRYPOINT_SYMBOL_V1
Exact entrypoint symbol required from every ABI-major-1 shared library.
NATIVE_ELF_MACHINE
ELF machine identity for native extensions on this target.
RADIX_ABI_MAJOR
RADIX_ABI_MINOR
RADIX_ACCESS_METHOD_BITMAP
RADIX_ACCESS_METHOD_BTREE
RADIX_ACCESS_METHOD_HASH
RADIX_ACCESS_METHOD_HNSW
RADIX_BUILTIN_BOOLEAN
RADIX_BUILTIN_BYTES
RADIX_BUILTIN_DATE
RADIX_BUILTIN_DECIMAL
RADIX_BUILTIN_FLOAT
RADIX_BUILTIN_INTEGER
RADIX_BUILTIN_JSON
RADIX_BUILTIN_TEXT
RADIX_BUILTIN_TIMESTAMP
RADIX_BUILTIN_TYPE_MAX
RADIX_BUILTIN_TYPE_MIN
Built-in tags admitted by ABI 1.0. Zero is Null and is not a stored type.
RADIX_BUILTIN_UUID
RADIX_BUILTIN_VECTOR
RADIX_CANCELLATION_BOUNDED
RADIX_COLUMN_LAYOUT_FIXED
RADIX_COLUMN_LAYOUT_VARIABLE
RADIX_DESCRIPTOR_EXTERNAL_TYPE
RADIX_DESCRIPTOR_OPERATOR
RADIX_DESCRIPTOR_OPERATOR_CLASS
RADIX_DESCRIPTOR_PLANNER_SUPPORT
RADIX_DESCRIPTOR_SCALAR_FUNCTION
RADIX_DIAGNOSTIC_ABI_CONTRACT
RADIX_DIAGNOSTIC_CANCELLED
RADIX_DIAGNOSTIC_DEPENDENCY
RADIX_DIAGNOSTIC_DOMAIN
RADIX_DIAGNOSTIC_INTERNAL
RADIX_DIAGNOSTIC_INVALID_INPUT
RADIX_DIAGNOSTIC_LIMIT
RADIX_DIAGNOSTIC_PLUGIN_PANIC
RADIX_EXTERNAL_STORAGE_FIXED
RADIX_EXTERNAL_STORAGE_VARIABLE
RADIX_HASH_COMPONENT_BYTES
RADIX_HASH_COMPONENT_EXTERNAL
RADIX_HASH_COMPONENT_F64_BITS
RADIX_HASH_COMPONENT_I64
RADIX_HASH_COMPONENT_U64
RADIX_LOG_DEBUG
RADIX_LOG_ERROR
RADIX_LOG_INFO
RADIX_LOG_WARN
RADIX_MAX_DESCRIPTOR_ENTRIES
RADIX_MAX_DIAGNOSTIC_BYTES
RADIX_MAX_EXTERNAL_VALUE_BYTES
RADIX_MAX_FUNCTION_ARGUMENTS
RADIX_MAX_HASH_BYTES
RADIX_MAX_HASH_COMPONENTS
RADIX_MAX_LOCAL_ID_BYTES
RADIX_MAX_PLANNER_SPANS
RADIX_PACKAGE_CAP_ALL
RADIX_PACKAGE_CAP_BATCH_FUNCTIONS
RADIX_PACKAGE_CAP_EXTERNAL_TYPES
RADIX_PACKAGE_CAP_OPERATORS
RADIX_PACKAGE_CAP_OPERATOR_CLASSES
RADIX_PACKAGE_CAP_PLANNER_SUPPORT
RADIX_PACKAGE_CAP_SCALAR_FUNCTIONS
RADIX_RECHECK_ALWAYS
RADIX_RECHECK_EXACT
RADIX_RESULT_ITEM_FLAG_ALL
RADIX_RESULT_ITEM_FLAG_NULL
RADIX_STATUS_CANCELLED
RADIX_STATUS_CONTRACT_VIOLATION
RADIX_STATUS_DEPENDENCY_MISSING
RADIX_STATUS_DOMAIN_ERROR
RADIX_STATUS_INTERNAL_ERROR
RADIX_STATUS_INVALID_ARGUMENT
RADIX_STATUS_LIMIT_EXCEEDED
RADIX_STATUS_OK
RADIX_STATUS_PANIC
RADIX_STATUS_UNSUPPORTED_ABI
RADIX_TYPE_CAP_ALL
RADIX_TYPE_CAP_BINARY_INPUT
RADIX_TYPE_CAP_BINARY_OUTPUT
RADIX_TYPE_CAP_EQUALITY
RADIX_TYPE_CAP_HASH
RADIX_TYPE_CAP_ORDERING
RADIX_TYPE_CAP_TEXT_INPUT
RADIX_TYPE_CAP_TEXT_OUTPUT
RADIX_TYPE_REF_BUILTIN
RADIX_TYPE_REF_EXTERNAL
RADIX_VALUE_FLAG_ALL
RADIX_VALUE_FLAG_NULL
RADIX_VOLATILITY_IMMUTABLE
RADIX_VOLATILITY_STABLE
RADIX_VOLATILITY_VOLATILE

Functions§

negotiate_minor
validate_batch_columns⚠
Validate every column after the host has established that the descriptor table and all borrowed column buffers are readable for this call.
validate_batch_view
validate_call_context
validate_column_offsets⚠
Validate offset contents after the host has established that the borrowed u32 range is readable for the duration of this call.
validate_column_view
validate_diagnostic
validate_diagnostic_sink
validate_external_type_descriptor
validate_hash_component
validate_hash_sink
validate_header
validate_host_api
validate_log_record
validate_operator_class_descriptor
validate_operator_descriptor
validate_optional_type_ref
validate_package_descriptor_shallow
validate_planner_support_descriptor
validate_result_builder
validate_result_item
validate_scalar_function_descriptor
validate_slice
validate_type_ref
validate_u32_slice
validate_value
validate_value_contents⚠
Validate the contents of a structurally valid borrowed scalar payload.

Type Aliases§

RadixAbiBatchFnV1
RadixAbiBuilderFinishFnV1
RadixAbiBuilderWriteFnV1
RadixAbiChargeWorkFnV1
RadixAbiCheckCancelledFnV1
RadixAbiCodecFnV1
RadixAbiCompareFnV1
RadixAbiDiagnosticWriteFnV1
RadixAbiEqualFnV1
RadixAbiHashAppendFnV1
RadixAbiHashFnV1
RadixAbiHostLogFnV1
RadixAbiKeyEncodeFnV1
RadixAbiParseFnV1
RadixAbiPlannerSupportFnV1
RadixAbiScalarFnV1
RadixAbiStatusV1
RadixAbiStringV1
RadixAbiValidationResult
RadixPluginEntrypointV1
Function type of the only exported plugin symbol.