5 repositorios
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 es un generador de bindings y capa de interoperabilidad diseñada para mapear tipos de datos y funciones a través del límite entre WebAssembly y JavaScript. Funciona como una interfaz de función extranjera que sintetiza el boilerplate necesario para permitir la comunicación bidireccional entre Rust y el runtime del navegador. El proyecto genera código de pegamento y envoltorios que automatizan la conversión de tipos complejos, permitiendo que las funciones de Rust se exporten como módulos de JavaScript y que las APIs del navegador se importen a Rust. Utiliza macros procedimentales para definir estas interfaces y sintetiza bindings basados en definiciones de tipos de Rust. El sistema gestiona la memoria a través del paso de punteros de memoria lineal y maneja el intercambio de recursos utilizando manejadores de memoria gestionados por JavaScript. Se basa en una convención de llamada compatible con la ABI de C para pasar enteros primitivos y flotantes entre el módulo y el 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 es un framework y conjunto de herramientas para desarrollar extensiones de PostgreSQL de alto rendimiento utilizando el lenguaje de programación Rust. Proporciona un wrapper de API de bajo nivel para interactuar con contextos de memoria internos de la base de datos, sistemas de registro y APIs de ejecución del núcleo, permitiendo implementar lógica y funcionalidades personalizadas directamente dentro del motor de la base de datos. El proyecto se distingue por una herramienta de compilación dedicada y una interfaz de línea de comandos que gestiona el ciclo de vida de desarrollo de la extensión, desde la inicialización del entorno hasta el empaquetado binario. Incluye un mapeador de tipos que traduce estructuras del lenguaje a tipos compuestos de la base de datos y genera automáticamente las definiciones de esquema SQL correspondientes. El framework cubre una amplia superficie de capacidades, incluyendo el mapeo de funciones definidas por el usuario, integración de protocolos binarios y soporte para múltiples versiones de destino para asegurar la compatibilidad entre diferentes lanzamientos de la base de datos. También proporciona wrappers especializados de gestión de memoria para manejar punteros y prevenir fugas dentro del entorno de la base de datos.
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.