5 Repos
Executes custom logic written in Rust on streaming data, achieving native-level performance.
Distinct from User-Defined Data Functions: Distinct from User-Defined Data Functions: specifically for Rust implementation, not general SQL function definitions.
Explore 5 awesome GitHub repositories matching development tools & productivity · Rust User-Defined Functions. Refine with filters or upvote what's useful.
wasm-bindgen is a bindings generator and interop layer designed to map data types and functions across the boundary between WebAssembly and JavaScript. It functions as a foreign function interface that synthesizes the necessary boilerplate to enable bidirectional communication between Rust and the browser runtime. The project generates glue code and wrappers that automate the conversion of complex types, allowing Rust functions to be exported as JavaScript modules and browser APIs to be imported into Rust. It uses procedural macros to define these interfaces and synthesizes bindings based on
Uses procedural macros to annotate Rust functions and types for export to the JavaScript environment.
Arroyo is a high-performance stream processing platform built in Rust. It executes continuous SQL queries on streaming data with event-time semantics, enabling accurate windowed aggregations, joins, and stateful computations on unbounded event streams. The platform uses native Rust execution for high throughput and low latency, with periodic checkpointing for exactly-once fault tolerance and horizontal scaling across distributed workers. The system integrates deeply with Kafka for reading and writing topics with exactly-once delivery and supports change data capture (CDC) from MySQL and Postg
Enables high-performance custom transformations by writing user-defined functions in Rust.
pgx ist ein Framework und eine Tool-Suite für die Entwicklung von hochperformanten PostgreSQL-Extensions mit der Programmiersprache Rust. Es bietet einen Low-Level-API-Wrapper für die Interaktion mit internen Datenbank-Memory-Contexts, Logging-Systemen und Core-Execution-APIs, was die Implementierung benutzerdefinierter Datenbankfunktionalität und Logik direkt innerhalb der Datenbank-Engine ermöglicht. Das Projekt zeichnet sich durch ein dediziertes Build-Tool und eine Command Line Interface (CLI) aus, die den gesamten Entwicklungszyklus einer Extension verwalten – von der Umgebungsinitialisierung bis zum Binary-Packaging. Es enthält einen Type-Mapper, der Sprachstrukturen in zusammengesetzte Datenbanktypen übersetzt und automatisch die entsprechenden SQL-Schema-Definitionen generiert. Das Framework deckt ein breites Funktionsspektrum ab, einschließlich User-Defined Function Mapping, Binärprotokoll-Integration und Multi-Version-Target-Support, um Kompatibilität über verschiedene Datenbank-Releases hinweg sicherzustellen. Zudem bietet es spezialisierte Memory-Management-Wrapper, um Pointer zu handhaben und Leaks innerhalb der Datenbankumgebung zu verhindern.
Maps typed Rust functions to the PostgreSQL internal execution system to create custom functions and triggers.
pgrx is a framework for building and packaging custom PostgreSQL extensions using Rust. It serves as a foreign function interface bridge that maps Rust types and functions to the internal server programming interface of the database. The project provides a specialized toolchain for cross-compilation across different operating systems and target architectures using custom sysroots. It includes a schema generator that automatically translates high-level language structures into SQL definitions and binary protocol mappings. The framework manages memory safety by wrapping database memory context
Provides a complete toolkit for defining PostgreSQL user-defined functions, triggers, and custom types in Rust.
uniffi-rs is a Rust FFI binding generator and multi-language binding tool. It functions as an automated binding scaffolder that creates type-safe foreign function interfaces and native wrappers for Rust libraries in languages such as Swift, Kotlin, and Python. The project provides a system for cross-language interface definition, allowing functions and data structures to be specified in a shared format to ensure consistent API signatures across platforms. It further serves as an FFI memory management layer, handling object lifetimes and thread safety when sharing state between Rust and foreig
Annotates functions and traits with export macros to expose them across FFI without a separate definition file.