Skip to main content

radixdb_plugin/
lib.rs

1//! Safe authoring surface for trusted native RadixDB plugins.
2
3#![forbid(unsafe_op_in_unsafe_fn)]
4
5mod call;
6mod codec;
7mod error;
8pub mod testing;
9mod value;
10
11pub use ::radixdb_plugin_macros::{
12    radixdb_aggregate, radixdb_batch, radixdb_operator, radixdb_operator_class,
13    radixdb_planner_support, radixdb_plugin, radixdb_scalar, radixdb_tvf, radixdb_window,
14    RadixType,
15};
16pub use call::{
17    CallContext, CandidatePlanBuilder, CandidateSpan, ColumnBuilder, ColumnView, HashSink,
18    PredicateView,
19};
20pub use codec::{CodecReader, CodecWriter, ManualCodec};
21pub use error::{PluginError, PluginErrorKind, PluginResult};
22pub use value::{BoundedBytes, BoundedText, RadixType, ValueType};
23
24pub mod prelude {
25    pub use crate::{
26        radixdb_aggregate, radixdb_batch, radixdb_operator, radixdb_operator_class,
27        radixdb_planner_support, radixdb_plugin, radixdb_scalar, radixdb_tvf, radixdb_window,
28        BoundedBytes, BoundedText, CallContext, CandidatePlanBuilder, CandidateSpan, CodecReader,
29        CodecWriter, ColumnBuilder, ColumnView, HashSink, ManualCodec, PluginError,
30        PluginErrorKind, PluginResult, PredicateView, RadixType, ValueType,
31    };
32}
33
34#[doc(hidden)]
35pub mod __private {
36    pub use crate::call::{
37        column_builder, run_batch, run_codec_decode, run_codec_encode, run_compare, run_equal,
38        run_hash, run_key_encoder, run_planner, run_scalar, BatchInput, ResultBuilder,
39    };
40    pub use crate::codec::{decode_sequence, encode_sequence, CanonicalField};
41    pub use radixdb_plugin_abi as abi;
42}