Crate udf

source · []
Expand description

A wrapper crate to make writing SQL UDFs easy

Version note: Because of reliance on a feature called GATs, this library requires Rust version >= 1.65 which is currently in beta. If rustup show does not show 1.65 or greater under active toolchain, you will need to update:

rustup default beta
rustup update beta

1.65 is scheduled to become stable on 2022-11-03, so this message may become irrelevant not long after time of writing.

Example

Your struct type should hold anything that you want to carry between the functions.

struct MyFunction {
    intermediate: i64
}

Behind the Scenes

Store the struct to the *ptr before exit

Define the basic traits here

Re-exports

pub use traits::*;
pub use types::*;

Modules

Module containing Rust bindings and wrapper for MySQL/MariaDB C interface
Module that can be imported with use udf::prelude::*; to quickly get the most often used imports.
Module containing traits to be implemented by a user
Types and traits that represent SQL interfaces

Attribute Macros

Examples