5 dépôts
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 est un générateur de liaisons et une couche d'interopérabilité conçue pour mapper les types de données et les fonctions à travers la frontière entre WebAssembly et JavaScript. Il fonctionne comme une interface de fonction étrangère qui synthétise le code répétitif nécessaire pour permettre une communication bidirectionnelle entre Rust et le runtime du navigateur. Le projet génère du code de liaison et des wrappers qui automatisent la conversion de types complexes, permettant aux fonctions Rust d'être exportées en tant que modules JavaScript et aux API de navigateur d'être importées dans Rust. Il utilise des macros procédurales pour définir ces interfaces et synthétise les liaisons basées sur les définitions de type Rust. Le système gère la mémoire via le passage de pointeurs de mémoire linéaire et gère l'échange de ressources en utilisant des handles de mémoire gérés par JavaScript. Il repose sur une convention d'appel compatible avec l'ABI C pour passer des entiers et des flottants primitifs entre le module et l'hôte.
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 est un framework et une suite d'outils pour développer des extensions PostgreSQL haute performance en utilisant le langage de programmation Rust. Il fournit un wrapper API bas niveau pour interagir avec les contextes mémoire internes de la base de données, les systèmes de journalisation et les API d'exécution principales, permettant d'implémenter des fonctionnalités et une logique personnalisées directement au sein du moteur de base de données. Le projet se distingue par un outil de build dédié et une interface en ligne de commande qui gère le cycle de vie de développement de l'extension, de l'initialisation de l'environnement au packaging binaire. Il inclut un mappeur de types qui traduit les structures du langage en types composites de base de données et génère automatiquement les définitions de schéma SQL correspondantes. Le framework couvre une large surface de fonctionnalités, incluant le mappage de fonctions définies par l'utilisateur, l'intégration de protocoles binaires et la prise en charge de cibles multi-versions pour assurer la compatibilité entre les différentes versions de la base de données. Il fournit également des wrappers de gestion mémoire spécialisés pour manipuler les pointeurs et prévenir les fuites au sein de l'environnement de base de données.
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.