5 repository-uri
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 este un generator de binding-uri și un strat de interop conceput pentru a mapa tipurile de date și funcțiile peste granița dintre WebAssembly și JavaScript. Funcționează ca o interfață de funcții străine (FFI) care sintetizează boilerplate-ul necesar pentru a permite comunicarea bidirecțională între Rust și runtime-ul browserului. Proiectul generează cod glue și wrapper-e care automatizează conversia tipurilor complexe, permițând funcțiilor Rust să fie exportate ca module JavaScript și API-urilor browserului să fie importate în Rust. Utilizează macro-uri procedurale pentru a defini aceste interfețe și sintetizează binding-urile bazate pe definițiile de tip Rust. Sistemul gestionează memoria prin transmiterea pointerilor în memoria liniară și gestionează schimbul de resurse folosind handle-uri de memorie gestionate de JavaScript. Se bazează pe o convenție de apelare compatibilă cu C ABI pentru a transmite numere întregi primitive și float-uri între modul și host.
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 este un framework și o suită de instrumente pentru dezvoltarea de extensii PostgreSQL de înaltă performanță folosind limbajul de programare Rust. Oferă un wrapper API de nivel scăzut pentru a interacționa cu contextele de memorie interne ale bazei de date, sistemele de logare și API-urile de execuție de bază, permițând implementarea de funcționalități și logică personalizată direct în motorul bazei de date. Proiectul se distinge printr-un instrument de build dedicat și o interfață în linia de comandă (CLI) care gestionează ciclul de viață al dezvoltării extensiei, de la inițializarea mediului până la împachetarea binară. Include un mapper de tipuri care traduce structurile de limbaj în tipuri compozite de bază de date și generează automat definițiile SQL corespunzătoare. Framework-ul acoperă o suprafață largă de capabilități, inclusiv maparea funcțiilor definite de utilizator, integrarea protocolului binar și suportul pentru mai multe versiuni de target pentru a asigura compatibilitatea între diferite release-uri de baze de date. De asemenea, oferă wrappere specializate pentru gestionarea memoriei, pentru a manipula pointerii și a preveni scurgerile de memorie în mediul bazei de date.
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.