Rust Stored Procedures

1. Introduction

Rust stored procedures currently only support v1 version. TuGraph supports plugins in any language that can be compiled into a dynamic library. Rust, as a rising star in system programming languages, has significant advantages in terms of safety, reliability, and ergonomics compared to C++.

We provide the Rust binding library for TuGraph to support calling lgrahp API in Rust. We also provide the tugraph-plugin-util utility library to help simplify the process of writing Rust plugins.

2. How to Use

Using Rust stored procedures involves three steps:

  • Compilation: Compile the Rust source code into a dynamic library (so file). We have prepared a comprehensive plugin development tutorial that covers everything from IDE plugin installation and environment setup to compilation. Please refer to the rust-tugraph-plugin-tutorial for detailed instructions.

  • Loading: Load the dynamic library (so file) into the server. This can be done through the REST or RPC interface, similar to the usage of C++ libraries. Please refer to the documentation for more details on the Procedure v1 API.

  • Execution: Once the library is loaded, use it as you would with a C++ stored procedure. The process is the same and does not need further explanation.

3. API Documentation

In the Rust community, all code and documentation can be found on crates.io and docs.rs.